[autopilot]: weight nodes based on fraction of disabled channels

Still a WIP, will extend test to handle more nuanced cases. Putting this up to get initial feedback on weighting/implementation of determining disabled status

I may not be understanding your intent based on your PR title, but it sounds like two nodes with same number of good channels would have different weight, and would be penalized if one has a higher number of disabled channels.
I personally believe disabled channels shouldn't factor into being selected.  They should be ignored, neither rewarded nor penalized for them.  A node doesn't have much say in who they are connected to, and whether the ones they are connected to are offline at any given time.

"The intent is to favor nodes that also do a good job of peer selection" I agree.
However, disable channels does not mean they did a poor job of peer selection.  A node has little to no control of nodes that connect to them, so, 'punishing' them for potentially being a 'victim' seems harsh.  The node could just be a target of bad peers trying to connect to them.  Or they have peers that go offline during certain times of day, but they don't want to close the channel.
Hubs will have a significant number of disabled channels due to people wanting to connect to them, and then just going off line.
Essentially, from how I understand what your saying:
Two nodes with the exact same set of really good peers (enabled channels), the one that has fewer channels disabled would get preferential treatment.  This is seems like an odd behavior due to the inability to prevent bad peers from opening channels to one's node."
Since they are disabled, they are completely ignored during pathfinding, so there's no negative impact from leaving a disabled channel connected.  Or am I missing something?

A node has little to no control of nodes that connect to them

This is seems like an odd behavior due to the inability to prevent bad peers from opening channels to one's node.

This is not true. Nodes can reject incoming open channel requests. They can also close the channel and pick a better peer if they realize they have accepted a poor peer.

Hubs will have a significant number of disabled channels due to people wanting to connect to them, and then just going off line.

Dedicated routing nodes should not be going offline.. If a node is going to be offline frequently, it shouldn't be advertising its channels.

Since they are disabled, they are completely ignored during pathfinding, so there's no negative impact from leaving a disabled channel connected.

You waste fees creating a channel with someone who is never online. You might as well have no channel since you'll be unable to send through them when the time comes to make a payment.

There's some miscommunication.
We're not talking about the same thing.
You're talking about a node opening channels to bad peers.
I'm talking about a node that has bad peers opening channels to them.
You're talking about the node going offline.
I'm talking about peers that go off line after then open channels to a node.
"Dedicated routing nodes should not be going offline"
o_0 never said, nor implied they would be going offline.
"This is not true. Nodes can reject incoming open channel requests."
It's an "all or nothing" is it not? (assuming they meet the min_amount requirement)
If they are going to accept random peers through autopilot... that means they are going to end up with bad peers.
Lets say I'm running a hub.  Someone opens a channel... does absolutely nothing, and then goes offline.
There's no particular reason for me to close that channel.  None of my funds are tied up, and they might come back online and be good peer eventually.  Or another scenario is the opened a smallish channel, send over all the funds, but closing the channel would cost more than the amount in the channel.

It's an "all or nothing" is it not? (assuming they meet the min_amount requirement)

No? You can reject channel creation as you see fit.
You're overthinking it, this change only applies to advertised channels. Channels made by autopilot are private by default. Accepting a bad peer that makes a private channel (perhaps via autopilot) and goes offline has no bearing on this calculation. A node with a million offline+private channels will be scored the same as a node with 0 offline+private channels.

Ok, Thank you.

Sure thing! I should add that if a node goes offline and I send out a channel update disabling the channel, it informs other people not to connect to that node. It doesn't affect my score, as I am still online. Perhaps this is part of the discrepancy? All this PR does is take into account that if a bunch of nodes claim that another is offline, autopilot will have a lower priority in trying to open a channel to the offline node. This is also transient state, so the node coming back online would improve its score in the eyes of autopilot agents looking to make channels at that time.

"It doesn't affect my score, as I am still online"
Yes, this is the entirety of the misunderstanding.
What you're saying "If OTHERS say a peer disabled, then that peer is bad"  Which makes complete sense.
What I thought you were saying "If I say others are disabled, I'm bad."

Yep, see comment on line 142 or autopilot/graph.go

I had read that... but must have missed the "by remote peers" part of that comment.

Once #2006 is in, we can add this as a new score based heuristic.


Use a utility method for upgrading to concrete types.

@bratseth or @gjoranv PR

Unfortunately there is no AbstractConcreteDocument.
Generated types inherit Document directly. So we probably need to generate clone method.


How do I use Mail::TestMailer effectively?

I have a method that uses Mail to send the final email via. SMTP: https://github.com/Liqwyd/Cyclid/blob/vanders/notifiers/lib/cyclid/plugins/action/email.rb#L40
How would I effectively test this method with RSpec? If I set Mail.defaults to use the :test transport it just gets reset as soon as the method calls mail.delivery_method to set up its own SMTP connection details (and my test ends up sending an email: luckily only to myself!). I can't see any way to use TestMailer here without introducing test logic into the method I.e. check if delivery_method is set to :test before it sets up the SMTP connection details, but obviously that would be bad.

Hi @Vanders. This is a classic code design question that'll lead you to refactor your implementation so your #perform method doesn't do SMTP connection config or setup itself. It may help to imagine wanting to instantiate the plugin with some configuration that sets up sendmail delivery instead of SMTP, for example. Then, for tests, you'd configure your plugin with test delivery instead of SMTP or sendmail.

 That plugin is specifically designed to do SMTP delivery and SMTP delivery only, and I absolutely do not want to leak the abstraction of the Mail Gem out to users who are configuring that plugin to deliver email.
More to the point, if the SMTP setup doesn't happen in the plugin, it still has to happen somewhere. That SMTP plugin is part of a service which provides a REST API: the Email plugin runs as part of a background process. Where should I move the Mail setup too, precisely? Have the user's client create the Mail object and then serialize it across HTTP to the server?

For anyone looking for a solution to this problem themselves in future, the following worked for me:
context 'sending an email' do
  it 'sends an email' do
    allow_any_instance_of(Mail::Message).to receive(:deliver).and_return(true)
    # Your tests...
  end
end

I.e. just use RSpec mocks to stub out Mail::Message#deliver. You don't have access to any of the TestMailer functionality but it stops the test email being sent, which is fine for my case.


Enable toggling of the CNI plugin used in the cluster

Why is this PR needed?
Introduce special handling of CNI addons
This change introduces special handling of addons that introduce CNI plugins. The change introduces the following new functionality:
- Introduce '--cni-plugin' flag for use with 'skuba cluster init'
- Addons must now declare whether they provide a CNI plugin or not
- The user-supplied CNI plugin request is checked against addons that provide
  CNI plugins
- If '--cni-plugin' is not specified, cilium selected as the default CNI
  addon. This maintains backward-compatible behavior for 'skuba cluster init'
- Rather than write config files for all CNI plugin addons,
  configuration files are only written for the selected CNI addon

This enables future support of CNI plugins beyond Cilium.
What does this PR do?
This introduces a new optional flag for skuba cluster init that allows for specifying the CNI plugin to configure in the cluster. This change does not add suport for any new CNI's, it simply creates the framework by which new CNI plugins can be integrated. Support for new CNI plugins will be handled with future PR's.
--cni-plugin is an optional flag, and at this time only allows cilium to be passed as an option. These changes are backward-compatible: invoking skuba cluster init without --cni-plugin will emit manifests for Cilium as has been previously done. As more CNI plugins are added, they can be specified using skuba cluster init --cni-plugin <CNI plugin name>.
Anything else a reviewer needs to know?
This PR adds automated test cases. All tests we have had in place are still valid.
Info for QA
N/A
Related info

https://github.com/SUSE/avant-garde/issues/1673

Docs
If docs need to be updated, please add a link to a PR to https://github.com/SUSE/doc-caasp.
At the time of creating the issue, this PR can be work in progress (set its title to [WIP]),
but the documentation needs to be finalized before the PR can be merged.
Merge restrictions
(Please do not edit this)
We are in v4-maintenance phase, so we will restrict what can be merged to prevent unexpected surprises:
What can be merged (merge criteria):
    2 approvals:
        1 developer: code is fine
        1 QA: QA is fine
    there is a PR for updating documentation (or a statement that this is not needed)

I am wondering about upgrades: we run a command that upgrades all the addons and I fear that, if we have CNI_A and CNI_B, then the system will apply both addons in an upgrade and thus deploy both CNIs.

Yes, upgrades will need to be handled with some special-casing as well. This PR isn't meant to address the upgrade case, although it might not be too painful to include those changes here. I should update the commit messages and such to reflect that.

Please fix linter error, run make lint && git status

make lint has been succeeding locally. CI is complaining about not having go 1.13 in go.mod, which is unrelated to this change. Do I need to rebase? Are we adding this to go.mod now?

Please fix linter error, run make lint && git status

make lint has been succeeding locally. CI is complaining about not having go 1.13 in go.mod, which is unrelated to this change. Do I need to rebase? Are we adding this to go.mod now?

I went ahead and rebased. Looks like some changes were pushed between when I created my fork and creating this PR. Things are looking better now.


ACE requires stropts.h which is omitted on some Linux desktops

Describe the bug
When building the project ACE requires stropts.h which is omitted on some Linux desktops, such as Fedora-based distros, see: https://bugzilla.redhat.com/show_bug.cgi?id=656245
Resolution
This omission is deliberate in these distros (per the link above), but there may be a workaround. Researching now.

Looks like this was fixed upstream in ACE 6.5.7
https://github.com/DOCGroup/ACE_TAO/commit/e7e38f991ff56b3c628c1cb0b891be8a4c125b1d
So I'm upgrading ACE to see if this is resolved.

This is resolved in #917


regress in https://github.com/npm/node-tar/issues/81 ?

Probably there is regress in https://github.com/npm/node-tar/issues/81

Seems like file name limited to 99 characters.
According to this doc
https://www.gnu.org/software/tar/manual/html_section/tar_67.html
it corresponds to v7 format.
Is there an ability to switch the format to gnu or posix?
I did not found related options in the readme.md.

It does not seem that way to me.  Can you try running this minimal test script and tell me what you get as a result?
https://gist.github.com/isaacs/fd8e135cf2a38aa0425f40ad4aa3b481
Node-tar uses the PAX/Posix header by default when the filename is longer than 99 characters.  It does not use the Gnu style LongFilename or LongLinkname entries, but it will interpret them if present.
What are you using to unpack or list the file?

Hi!
Indeed, the problem was in my midnight commander settings.
# .tgz, .tpz, .tar.gz, .tar.z, .tar.Z, .ipk, .gem
regex/\.t([gp]?z|ar\.g?[zZ])$|\.ipk$|\.gem$
        Open=%cd %p/utar://
        View=%view{ascii} /usr/lib/mc/ext.d/archive.sh view tar.gz

So my mc does truncate longname in artefacts/longname-archive-node-tar.tgz
But does not in artefacts/longname-archive-system-tar.tgz.
So, sorry for false alarm and thank you for answer.
This is the output:
node-tar v4.4.10
system tar is:
tar (GNU tar) 1.30
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by John Gilmore and Jay Fenlason.
OK
110
create with node-tar
create with system tar
OK
created with node tar, list with node-tar
very long file name a s dd f df sdfsdfsdfsdfsdffffffff~fffffsdddddddddddddddddddddddddddssssssssssssssssss.xml
created with node-tar, list with system-tar
tar: Ignoring unknown extended header keyword 'SCHILY.dev'
tar: Ignoring unknown extended header keyword 'SCHILY.ino'
very long file name a s dd f df sdfsdfsdfsdfsdffffffff~fffffsdddddddddddddddddddddddddddssssssssssssssssss.xml
tar: Ignoring unknown extended header keyword 'SCHILY.nlink'
OK
created with system tar, list with node-tar
very long file name a s dd f df sdfsdfsdfsdfsdffffffff~fffffsdddddddddddddddddddddddddddssssssssssssssssss.xml
created with system tar, list with system-tar
very long file name a s dd f df sdfsdfsdfsdfsdffffffff~fffffsdddddddddddddddddddddddddddssssssssssssssssss.xml
OK
Waiting for the debugger to disconnect...

Process finished with exit code 0

Hi!
Indeed, the problem was in my midnight commander settings.
# .tgz, .tpz, .tar.gz, .tar.z, .tar.Z, .ipk, .gem
regex/\.t([gp]?z|ar\.g?[zZ])$|\.ipk$|\.gem$
        Open=%cd %p/utar://
        View=%view{ascii} /usr/lib/mc/ext.d/archive.sh view tar.gz

So my mc does truncate longname in artefacts/longname-archive-node-tar.tgz
But does not in artefacts/longname-archive-system-tar.tgz.
So, sorry for false alarm and thank you for answer.
This is the output:
node-tar v4.4.10
system tar is:
tar (GNU tar) 1.30
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by John Gilmore and Jay Fenlason.
OK
110 // console.log(longName.length);
create with node-tar
create with system tar
OK
created with node tar, list with node-tar
very long file name a s dd f df sdfsdfsdfsdfsdffffffff~fffffsdddddddddddddddddddddddddddssssssssssssssssss.xml
created with node-tar, list with system-tar
tar: Ignoring unknown extended header keyword 'SCHILY.dev'
tar: Ignoring unknown extended header keyword 'SCHILY.ino'
very long file name a s dd f df sdfsdfsdfsdfsdffffffff~fffffsdddddddddddddddddddddddddddssssssssssssssssss.xml
tar: Ignoring unknown extended header keyword 'SCHILY.nlink'
OK
created with system tar, list with node-tar
very long file name a s dd f df sdfsdfsdfsdfsdffffffff~fffffsdddddddddddddddddddddddddddssssssssssssssssss.xml
created with system tar, list with system-tar
very long file name a s dd f df sdfsdfsdfsdfsdffffffff~fffffsdddddddddddddddddddddddddddssssssssssssssssss.xml
OK
Waiting for the debugger to disconnect...

Process finished with exit code 0


Content gone after running migration on matrix in matrix field

Super-table or matrix content is gone after running a migration on a matrix in matrix field.
The following setup is causing the problem for me. I'm using 2 sites in one group for multiple languages.
The content was originally from Craft 2. After the migration of Craft 3.1 and all plugins to the latest version, the content is still there. Migrating the field removes all content (or relations to).
Field is like:

modules (Matrix)

text (MatrixBlock)

aside (SuperTable static)

asideModule (Matrix)

asideText (MatrixBlock)

asideTitle (PlainText)
body (Redactor)

asideOther (MatrixBlock)
etc

other (MatrixBlock)
etc

I'm using:

Craft CMS 3.1.15
Migration Manager 3.0.19
Super Table <IP_ADDRESS>

Does the migration file have the content for the asideModule or is it empty?

The migration does not contain content. I'm just migrating fields.

Does the field structure migrate properly?

Yes, the structure looks fine. I can also create new content which does save. Running another migration on the field, without any changes to the structure, the content is removed again.

@roelvanhintum try the latest release


Support use of only timestamp or value compression

In some cases, the use of only timestamp or only the value compression is preferred. One of these cases could be the use of high precision in timestamps, where this compression method is not at its best.
Make nextTimestamp() and nextValue() public and allow the use of them directly.

Using only ValueCompression is possible from commit 077ddc8fa5010fa1db4e4b0caa4c367bcfa94d47


Dashboard view

Build a high-level dashboard view for the plugin:

Lists policies, with a project/NS selector
Surfaces "high-level/critical" alerts if available (with deep links to elsewhere)
Maybe: surface missing dependencies (e.g. cert-manager, Istio)

Surfaces "high-level/critical" alerts if available (with deep links to elsewhere)

We may be able to leverage the ocp api for alerts that the console uses e.g. /api/prometheus/api/v1/rules

deep links to elsewhere

Could link directly to the Observe > Alerts view at  /monitoring/alerts?rowFilter-alert-state=firing&rowFilter-alert-source=user, filtered to user alerts rather than platform alerts

superseded by #33 33


Wrap element with fixed position causes "Cannot read property 'offsetTop' of null" in Chrome

Describe the bug
Tooltips and other features of the editor aren't working if the editor is inside an element with position: fixed; style. The bug applies only to WebKit/Chromium browsers like Google Chrome and Opera (Firefox does fine).
Note: The fixed element doesn't have to be the first parent element of the editor. That doesn't matter.
To Reproduce
Steps to reproduce the behavior:

This issue only appears in Google Chrome and Opera (as tested so far). To reproduce do the following steps in Chrome or a direkt fork of the Chromium browser.
Go to https://jsfiddle.net/niklasenglert/L59myv2h/5/
Hover over the buttons on the editors header.
See (or not see) how no tooltips appear.
Press F12 to see the errors throwen inside the console.

Expected behavior
It should display the tooltips of the editor buttons and don't throw errors in the console.
Screenshots
Errors on hover:

No scrolling possible on "Markdown" mode.

Desktop:
Chrome [reproducable]

User Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36
OS: Linux Ubuntu 18.04
Browser: Google Chrome
Version 80.0.3987.149

Opera [reproducable]

User Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36 OPR/60.0.3255.109
OS: Linux Ubuntu 18.04
Browser: Opera
Version 60.0.3255.109

Firefox [works fine]

User Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:74.0) Gecko/20100101 Firefox/74.0
OS: Linux Ubuntu 18.04
Browser: Mozilla Firefox
Version 74.0

Additional context
This bug was discovered by using the editor inside a Materialize Modal.

@niklas-englert I think it seems to be the same issue as this one. It will be resolved and patched today or tomorrow. Thanks for explaining the issue in detail.

@seonim-ryu Thanks for that information. I must have missed the issue #849 on my research in this repo. I'm looking forward to your patch. I really love your software. <3


Check the return value of i2d_ESS_SIGNING_CERT

to avoid malloc(0)
CLA: trivial

Checklist

[ ] documentation is added or updated
[ ] tests are added or updated

I don't see the point of using zalloc here.  The data structure's fields are all initialised later in the function.
Do you have an example of an uninitialised read actually happening?

The PR is doing something else than the subject says. Closing. Please open a new PR.


Added jupyter notebook to make parameter specification and running of the fusion easier

Changed mvregfus_run.py such that now fusion parameters and paths are specified in a separate jupyter notebook, where they are exported as config file (.json). mvregfus_run.py now only contains functions that run the fusion using this config file.
Added run_fusion.ipynb which contains a description of the fusion parameters, together with some functionality to generate a config file and to run the fusion.
Added some convenience functionality:

Parameter filepaths now also takes a string. If so, glob.glob(string + '/*.czi') is used to find files in the specified folder (string).
Added parameter generate_file_order. If True, a file_order.txt file is generated in the out_dir. It contains the contents of the filepaths variable. This is useful, since MVRegfus currently renames the output files to mv_000_.... from which it is not possible to reconstruct which file was processed.
Parameter registration_pairs can be set to None.
If registration_pairs == None, the new parameters n_volumes and n_views are used to generate the registration pairs.

Ciao Marvin,
I've recently made a little jupyter notebook to run my fusions a bit more conveniently via remote. Thought, I should share that with you:)
Basically, I've rewritten the mvregfus_run.py file to only contain functions that relate to running the fusion. The parameter handling I've outsourced to the notebook run_fusion.ipynb, that is used to: 1. Specify the parameters, 2. Create a config file, 3. Start the fusion.
The neat thing (at least in my opinion:) ) is that one can use this notebook to start multiple fusions without the need to create copies of the mvregfus_run.py file. Since the config file is saved together with the output files, the parameters stay reproducible.

That's super cool! Thanks a lot for sharing.
You're completely right that it makes sense to separate execution and configuration. And it's been on my todo list forever 😂.
Exactly as you propose, I think it makes sense to define a parameter dictionary which can then be saved as a json config file that can be (re-)used in future runs. And I like the idea of having a jupyter notebook that guides the setting of the parameters, that's really nice!
Regarding the implementation, probably the run_fusion function should live in a new module such as mvregfus/execution.py and it would make sense that all currently available parameters can be set in the config dict and have associated default parameters (otherwise execution and configuration would still not be properly isolated from each other).


Bump snappy-java to address CVE

Description
Bump snappy-java to address the following potential vulnerabilities.
https://www.cve.org/CVERecord?id=CVE-2023-43642
https://www.cve.org/CVERecord?id=CVE-2023-34453
https://www.cve.org/CVERecord?id=CVE-2023-34454
https://www.cve.org/CVERecord?id=CVE-2023-34455
A similar change has already been pushed into the 2.x branches so this is effectively a backport.
https://github.com/opensearch-project/security/pull/3435
Testing
Manually built and ran the security plugin according to the developer guide.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@jaguilar-atl Could you plz rebase your branch with 1.3?

@jaguilar-atl Could you plz rebase your branch with 1.3?

@willyborankin I somehow missed your comment. Apologies for the very late response and thanks to the team for reviewing and merging my PR.

@jaguilar-atl No problem


Log and Incremental Backups not running in SQL 2016 HA AGs

I'm not sure if this is a bug or not, but I set up a three-node SQL 2016 AlwaysOn High Availability Availability Group.
Without realizing the impact, I set the backup preferences of this AG  to perform backups on Any Replica, and left the backup priority at the default 50 on all three nodes.
I installed the maintenance solution on all three nodes.
The Full backups from the default USER_DATABASES - FULL job runs fine per the schedule I set.
The Incremental backups and the Log backups do not run. The job runs, but it skips all databases in the AG. If I run the execute step manually, it lists those AG databases with the AG name, but no backups occur.
If I change the backup priority so they are not equal, then the logs and incremental backups run successfully from the node with highest priority.
I'm not sure if the script is looking at the backup priority value, deciding it's not higher than any of the other nodes, and skipping it? Maybe because it assumes some other node with a higher priority should do the job?

Here is how DatabaseBackup is doing backup of databases in availability groups:
Copy-only full backups and (non copy-only) log backups will always be performed on the preferred backup replica. DatabaseBackup is checking sys.fn_hadr_backup_is_preferred_replica to find the preferred backup replica.
Full backups (non copy-only) and differential backups are only supported on the primary replica. DatabaseBackup will always perform these types of backups on the primary replica.
To understand what is happening in your scenario, I would need the output - files from DatabaseBackup. If you could send them to me in a mail, I will look into it.
https://ola.hallengren.com/contact.html


Type line breaks

Wtype doesn't recognize line breaks in strings to type right now. It would be great to support this.

Added in 1f37626e9d981767ed7c2e642cde408bca102488. Note that this does not mean that wtype can process escaped strings directly, this has to be done externally such as by doing
wtype $'\n'

in bash.


Update Variable Processing

#126

[x] Check compatibility with Maven and Gradle

Maven: https://github.com/dshimo/ci.maven/actions/runs/8377634883
Gradle: https://github.com/dshimo/ci.gradle/actions/runs/8442718868
Tests

[x] var extraction

+: server.xml; boostrap.properties; server.env;
-: jvm.options; CLI

[x] overrides on each level
[x] overall procedure check
[x] server.env additional file locations
[x] jvm.options additional file locations
[x] environment variable variations lookup
[x] variables directory
[x] bootstrap.include (Document link)

Config File Precedence (additional file location support)

[x] server.env
[x] jvm.options

New Features

[ ] environment variable variations lookup

[x] 3 step lookup
[ ] lists()
[ ] Simple arithmetic

[x] variables directory
[x] bootstrap.include

Superseded by #462.


Crash calling a batch under Windows

If a batch <php.bat> exists somewhere on the PATH, gulp-connect-php will crash trying to call it.
But set option <bin: 'php.bat'> and it will work!
Thanks to have a look!

Happy to accept a working pr that addresses the issue

@TigersWay
Batch file support should be in the 1.0.0 WIP Branch,
PR: https://github.com/micahblu/gulp-connect-php/pull/41
Information: https://github.com/grmartin/gulp-connect-php/tree/grmartin/rewrite-1.0.0

1.0.0 is no in the primary master branch of the original repository. See: http://github.com/micahblu/gulp-connect-php.

Soo fast :-)
Loading it!


Refactoring docs into docs/ dir

Changes
:broom: introducing new docs/ directory to group all md files and provide an index with main sections
/kind documentation
Fixes #674

Release Note

Docs

:book: we will need to create a PR into  https://github.com/knative/docs. when this is done

@gabo1208 @gab-satchi This is just the structure change.. I think we should merge so this doesn't block other PRs changing docs.


Add mkdir, mkdirat and rmdir syscalls

Some more syscalls

This change is

Thanks! :+1:
I made a small fixup to test reproducibility in commit 6640d9a .

Well done, that's safer that way. There is a call to print on line 1204. I'm not sure it's something you want to leave in the code.


Update the link to departmental colours

The organisation colours have been split into a new file, update the
link to this partial.
cc. @fofr

Good catch


.Net RocketMQ.Client is a port of java version with 1:1 its functionality

.Net RocketMQ.Client is a port of java version with 1:1 its functionality
https://github.com/leeveel/RocketMQ.Client
功能对齐版本：version 4.9.3
进度（90%）：
第一阶段：翻译工作 -- 已完成！
第二阶段：查漏补缺和调试 -- 进行中.......
寻求志同道合的朋友来完善它。

Great work! Happy to see more users from community get involved in polyglot client development.
At the same time, we are planning to implement a brand new C# client based on gRPC, more details will be revealed recently, welcome to stay tuned.

期待


Disabled LDAP users can still use kubectl

What kind of request is this (question/bug/enhancement/feature request): Question / Potential Bug
Steps to reproduce (least amount of steps as possible):

Setup LDAP authentication
Disable user in LDAP
run kubectl get pods

Result:
I'm able to list pods but not login to the Rancher UI
UI shows my user with an error: Unable to fetch user info
In the logs we see: [rancher-adgear-6cff8d5d85-cbgqc] 2021/01/15 13:59:16 [ERROR] Unknown error: Permission denied
Other details that may be helpful:
If I disable the user IN rancher it works as expected, I cannot use kubectl nor the Rancher UI. I would expect disabled users to be sync'd in Rancher.
Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): v2.5.1
Installation option (single install/HA): HA

TL;DR wait longer, make another request a few seconds later, or additionally directly disable the Rancher user if you are worried about what that user might do in a limited time window.
Kubectl access is controlled via API key.  Keys use a cache of the auth info for the underlying user because it would be unbearably slow to ask LDAP "hey is Typositoire still a user? What groups are they in?" on every API call, multiple times a second.
The default cache interval is an hour (auth-user-info-max-age-seconds setting).  If the info for your user is older than that,  an update is triggered in the background. Your request uses the existing (now stale) info, so that it is not blocked waiting for LDAP to respond (or broken if LDAP is unreachable).
The non-blocking part of that leaves a small window for a request or two from a deleted user to get through, days after they're deleted it someone is clever.  So there's a separate setting to periodically synchronize everyone on a schedule, even if there have been no API calls.  That defaults to daily (auth-user-info-resync-cron) at midnight UTC.
When you try to do an interactive login, that is different, we don't know your password so it is checked against the auth provider immediately (and blocking).

TL;DR wait longer, make another request a few seconds later, or additionally directly disable the Rancher user if you are worried about what that user might do in a limited time window.
Kubectl access is controlled via API key.  Keys use a cache of the auth info for the underlying user because it would be unbearably slow to ask LDAP "hey is Typositoire still a user? What groups are they in?" on every API call, multiple times a second.
The default cache interval is an hour (auth-user-info-max-age-seconds setting).  If the info for your user is older than that,  an update is triggered in the background. Your request uses the existing (now stale) info, so that it is not blocked waiting for LDAP to respond (or broken if LDAP is unreachable).
The non-blocking part of that leaves a small window for a request or two from a deleted user to get through, days after they're deleted it someone is clever.  So there's a separate setting to periodically synchronize everyone on a schedule, even if there have been no API calls.  That defaults to daily (auth-user-info-resync-cron) at midnight UTC.
When you try to do an interactive login, that is different, we don't know your password so it is checked against the auth provider immediately (and blocking).

Oh cool, we did try and wait 15 minutes but I guess an hour is good. Sorry for that then :/ It also makes sense. So just to be sure, if I disable a user in LDAP, within an hour the user should show up disabled in Rancher because it's stale ? If that is correct, I'm happy.

Oh cool, we did try and wait 15 minutes but I guess an hour is good. Sorry for that then :/ It also makes sense. So just to be sure, if I disable a user in LDAP, within an hour the user should show up disabled in Rancher because it's stale ? If that is correct, I'm happy.

Just saw your edit. Thanks! I'll close this issue and sorry again for the noise.

Just saw your edit. Thanks! I'll close this issue and sorry again for the noise.

So we tried disabling a user and even after a whole weekend kubectl still works and user didn't sync up disabled status in rancher. Any idea what could be happening ?

So we tried disabling a user and even after a whole weekend kubectl still works and user didn't sync up disabled status in rancher. Any idea what could be happening ?

Might this issue be a security issue? Does this still exist in Rancher 2.5.8?

Hi,
Yes we are still facing this issue on Rancher 2.5.8, on one of our customers, we disabled or deleted users in active directory but there are still active in rancher after days

Hi,
Yes we are still facing this issue on Rancher 2.5.8, on one of our customers, we disabled or deleted users in active directory but there are still active in rancher after days

Up for this comment, facing the same issue

unstale

Hi,
Was this ever figured out?


⚠ Jenkins Plugins Artifactory has degraded performance

In f3deec4, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1899 ms

Resolved: Jenkins Plugins Artifactory performance has improved in 1f6ece7.


APP-293: Fix apach-rat-check warnings on latest develop

http://jira.kaaproject.org/browse/APP-293
Add license headers to files, related to Objective-C verifiers demo.

@vilimets Review please.


Gift Details:Share OTP with contact

Need to be open if sent but not accepted.

Verified this issue on staging app v2.0.5(382)


Dialog bound value setting popup goes out-of-bounds in the Editor Settings

Godot version:
1699978
Issue description:
When setting the values of a dialog bound inside Interface > Dialogs, the last LineEdit goes outside of the popup:

Fixed in Master Branch


Implement missing functions in our sp-io patch:

We have quite a few functions that are not yet implemented in sp-io because we did not need them. However, if downstream implementors integrate custom pallets, it might very well be that they need one of these unimplemented functions.
Specifically, the storage functions might be used behind the scenes and are not obvious in pallet implementations: https://github.com/integritee-network/worker/blob/3713f0df7311f309f90fa81f0edb95c33b98be00/core-primitives/substrate-sgx/sp-io/src/lib.rs#L211

I agree, that's definitely an issue. But some functionalities will be complicated to implement. E.g. all the transaction functions, not sure yet what to make out of them ( https://github.com/paritytech/substrate/blob/cf36d2f7eaaee27516c601141a2ea0acd3db641c/primitives/io/src/lib.rs#L285-L299)
Nonetheless, I think at the very least the log output should not be warn but error.

Yes, but we should soon do the low-hanging fruits and decide what to do with the hard ones later. And yes, unimplemented functions should be logged as an error, I think.

Linking: #630 #170

Blocked by https://github.com/integritee-network/worker/issues/1006


Add shard-split.adoc

Description
Please provide a short description of the changes you're making with this pull request.
Solution
Please provide a short description of the approach taken to implement your solution.
Tests
Please describe the tests you've developed or run to confirm this patch implements the feature or solves the problem.
Checklist
Please review the following and check all that apply:

[ ] I have reviewed the guidelines for How to Contribute and my code conforms to the standards described there to the best of my ability.
[ ] I have created a Jira issue and added the issue ID to my pull request title.
[ ] I have given Solr maintainers access to contribute to my PR branch. (optional but recommended)
[ ] I have developed this patch against the main branch.
[ ] I have run ./gradlew check.
[ ] I have added tests for my changes.
[ ] I have added documentation for the Reference Guide

LGTM. I can't validate the content accuracy, as this is an area I don't know about, but in terms of reading it, it all makes sense as presented!

Thank you Eric for having a look! Yes, actually I am concerned about the content accuracy.

@shalinmangar @sigram hi, mentioning you because from the git history it seems you worked on shard split at some point in the past. Wondering if you could give some feedback on this doc ?

maybe adding the documentation label would bring in more reviewers?

Also, did you drop an explicit note to dev mailing list?

maybe adding the documentation label would bring in more reviewers?

I didn't create a jira issue for this; not sure if it is worth it.

This has been out for a while....   I'm thinking that it's worth committing?  Any other changes you want?

This has been out for a while.... I'm thinking that it's worth committing? Any other changes you want?

No changes so far

Thanks for the detailed doc, @NazerkeBS !
I've left review comments but additionally, it'd be best to mention that this explanation assumes the user is splitting the parent shard into 2 parts using the 'default' settings.
Also, considering this dives into an implementation detail I fear this would get out of sync at some point and would be tough to maintain. Let that not stop you from contributing this but I wanted to bring that up as a concern.
Overall, this is would be really useful for folks trying to understand SPLITSHARD.

Thanks @anshumg for your review. I updated the PR based on your comments.
I agree it would be a concern to maintain this doc over time as code changes.

RE documentation getting out of date:  I think it's important to link to this documentation to help its discoverability and to reduce the chances it won't be noticed if splits are updated.  The javadocs for SplitShardCmd could prominently do this.
Maybe let us update SplitShardCmd's docs in another PR because we/Salesforce have changes to contribute there.

RE documentation getting out of date: I think it's important to link to this documentation to help its discoverability and to reduce the chances it won't be noticed if splits are updated. The javadocs for SplitShardCmd could prominently do this.
Maybe let us update SplitShardCmd's docs in another PR because we/Salesforce have changes to contribute there.

I created another PR : https://github.com/apache/solr/pull/1027

Awesome docs Nazerke!


@3.10.0 -<EMAIL_ADDRESS>

coverage: 99.245%. remained the same
when pulling b2980114adef6d75c664ab5015a972db4aa7337a on rc-3.10.0
into c061bb6af9d2e7f220e7c8c5b832912a5594b59c on master.


How to Run Containers as a Non-root User

General Question
How to Run Containers as a Non-root User?

Can you describe it in more detail？

Hi, I have noticed that the issue you created hasn’t been updated for nearly a month, so I have to close it for now. If you have any new updates, you are welcome to reopen this issue anytime.
Thanks a lot for your contribution anyway 😊


Fix NaN Cluster Stats Dashboard

Hi @darkowlzz,
related to #22, I gave it a try it seems to work as expected. JFTR, I also updated to the latest Grafana format by 10.2.x.
Thank you

Hey @mjtrangoni have you seen the comments from @darkowlzz
Can you separate out the plugin version update, or is it dependent for some reason?


[hotfix][docs] Mention changes of "RuntimeContext#getMetricGroup" in 1.14 release notes.

What is the purpose of the change
Mention changes of "RuntimeContext#getMetricGroup" in 1.14 release notes.
Verifying this change
This change is a doc fix without any test coverage.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (no)
The serializers: (no)
The runtime per-record code paths (performance sensitive): (no)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: (no)
The S3 file system connector: (no)

Documentation

Does this pull request introduce a new feature? (no)
If yes, how is the feature documented? (*not applicable)

@xintongsong  Could you help to review this fix?


rnote, poppler: update

Description of changes

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.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
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

But it still appears to break Inkscape and scribusUnstable.

This should hopefully do it…

@dotlambda I tried updating rnote to 0.5.6, but I'm currently stuck here:
  /build/source/build/target/release/build/ink-stroke-modeler-rs-0a8136a355fe459a/out/include/ink_stroke_modeler/types.h:20:10: fatal error: 'cmath' file not found
  Error:
    × the include_cpp! macro couldn't be expanded into Rust bindings to C++:
    │ Bindgen was unable to generate the initial .rs bindings for this file.
    │ This may indicate a parsing problem with the C++ headers.

Any idea what could be causing this?

Any idea what could be causing this?

I'll try my luck and will report back.

Should this go through staging?

We have usually merged poppler to master, the number of rebuilds is only slightly over 500 and there are not any large ones.

Any idea what could be causing this?

I'll try my luck and will report back. Let's move the bump to 0.5.6 to a different PR for now.

You can either add clang to nativeBuildInputs or use clangStdenv.
By the way, libclang.lib is the same as clang.cc.lib.

@dotlambda thanks!

Yuck, looks like they force pushed in their piet repo so the rnote package no longer builds:
    Updating git repository `https://github.com/flxzt/piet`
error: failed to sync
Caused by:
  failed to load pkg lockfile
Caused by:
  failed to get `piet` as a dependency of package `rnote-compose v0.1.0 (/build/source/rnote-compose)`
Caused by:
  failed to load source for dependency `piet`
Caused by:
  Unable to update https://github.com/flxzt/piet?branch=rnote#de9a2b72
Caused by:
  object not found - no match for id (de9a2b7270424b9f49ac9fa81f0f1aa7387de4d5); class=Odb (9); code=NotFound (-3)
error: builder for '/nix/store/03wfr27kq5b0y4yrn64aaybp4ys3xrja-rnote-0.5.7-vendor.tar.gz.drv' failed with exit code 101;
       last 10 log lines:
       >   failed to get `piet` as a dependency of package `rnote-compose v0.1.0 (/build/source/rnote-compose)`
       >
       > Caused by:
       >   failed to load source for dependency `piet`
       >
       > Caused by:
       >   Unable to update https://github.com/flxzt/piet?branch=rnote#de9a2b72
       >
       > Caused by:
       >   object not found - no match for id (de9a2b7270424b9f49ac9fa81f0f1aa7387de4d5); class=Odb (9); code=NotFound (-3)

Switching to building from master will probably be necessary.

 I managed to revert the force push, v0.5.7 should now build again. Won't happen again.

@ofborg build rnote

Thanks.

Thank you!

[ ] libreoffice broke: https://hydra.nixos.org/build/197300761

@7c6f434c: I suspect that minor update might fix it.  (and -fresh builds OK)

Resolved in https://github.com/NixOS/nixpkgs/pull/199422


Tasks in default project and autotracker project selection

I am not sure how this is implemented on OSX, but on Windows we currently use the exact same list of projects for default project and autotracker project selection as we also use in the edit view.
The problem with that is that the list splits projects into tasks. Neither of these two featues supports tasks however.
Should task support be added, or should tasks not be displayed?
If the latter, should this be done in the library, or the ui?

Decided to make it also allow for task selection (both default project and auto tracker). Needs change in the appropriate api calls (and auto tracker rule needs to include task for display probably.)

Replaced by #1619.


"new static" to "Yii::createObject" fix

Result of finder (activeQuery createModels) is correct configure new model
Example usage (without fix not included/trigger on beforeDelete):
    'modules' => [
        'user' => [
            'class' => 'dektrium\user\Module',
            'enableRegistration' => false,
            'adminPermission' => 'administrateUser',
            'modelMap' => [
                'User' => [
                    'class' => 'dektrium\user\models\User',
                    'on ' . ActiveRecord::EVENT_AFTER_INSERT => function ($event) {
                        $id = $event->sender->getId();
                        $roleName = 'user';
                        $auth = Yii::$app->authManager;
                        if (!array_key_exists($roleName, $auth->getRolesByUser($id))) {
                            $userRole = $auth->getRole($roleName);
                            $auth->assign($userRole, $id);
                        }
                    },
                    'on ' . ActiveRecord::EVENT_BEFORE_DELETE => function ($event) {
                        $id = $event->sender->getId();
                        $auth = Yii::$app->authManager;
                        return $auth->revokeAll($id);
                    },
                ],
            ],
        ],
    ],

Q
A

Is bugfix?
yes

Help is needed to review this.
@SamMousa @philippfrenzel @thyseus

I disagree with this change. I'd rather not add a dependency on the DI container to AR. The framework doesn't do it either so we'd be deviating from "normal" AR.
Instead I'd recommend you implement a behavior instead.


Update Blog “test1”

Automatically generated by Netlify CMS

👷 Deploy Preview for pta-birkbeck processing.

Name
Link

🔨 Latest commit
547b20b60531ec3d866d87c797d9cb3e12d12b19

🔍 Latest deploy log
https://app.netlify.com/sites/pta-birkbeck/deploys/6291dc805b53f00008818200


Add support for GraalVM Native

https://github.com/jabrena/spring-boot-relational-database-poc/pull/74


[Vulkan Clustered] Resolution Scale and Post-AA affect ReflectionProbe roughness

Godot version
v4.0.alpha.custom_build [baded9fe0]
System information
Windows 10, Vulkan Clustered, Ryzen R5 3600, RTX 3070 (512.15)
Issue description
Enabling FXAA or TAA, or lowering the viewport's resolution scale causes reflections created by ReflectionProbes to reduce in apparent roughness. The size of the viewport itself doesn't affect anything. Also, raising resolution scaling above 1.0 doesn't affect it either.
https://user-images.githubusercontent.com/43602802/189624707-96272732-2996-419f-9d0a-1bca6c614f39.mp4
This does not affect the size of the specular lobe, nor does it affect reflections from VoxelGI, SDFGI, or the sky cubemap.
This issue does not occur on the Vulkan Mobile backend.
Steps to reproduce

Add a mesh and apply a metallic material, and raise it's roughness.
Open the project settings and toggle either FXAA or TAA, and reduce resolution scaling below 1.0.

or download attached MRP and hit Play (F5).
Minimal reproduction project
ReflectionProbe Scaling Roughness Bug.zip

сс @Calinou

I'm not sure if FXAA and TAA affect rendering within the reflection probes, but either way:

If they do affect it, rendering will be blurrier as that's how FXAA and TAA work by design.
If they don't affect it, rendering will still be blurrier as FXAA and TAA will be blurring the entire scene rendering.

I'm not sure what you mean by this?

When using a low resolution scale on a low-resolution viewport (e.g. in a small window), the final 3D buffer size will be very small (around 240p). It's difficult to properly generate reflection probe mipmaps at such a low size.

Why would ReflectionProbe resolution depend on the viewport resolution? ReflectionProbes have their own project setting that determines their resolution.

By happenstance, I messed with the Texture Mipmap Bias setting in another project and noticed that it also affects the mips of ReflectionProbes.
Lo and behold the tooltip flat out states that this is the cause of the problem:

These auto-offsets for FXAA/TAA and viewport scaling were implemented in #64223 and #64225, both by @Calinou, so it's very funny that they didn't realise.

@BraqueDown Good catch :slightly_smiling_face:
I think this can be fixed by using a different sampler for radiance cubemaps, one that does not take the mipmap LOD bias override into account: https://github.com/godotengine/godot/blob/e82d66f23b987f9380b666179f25b44813509106/servers/rendering/renderer_rd/shaders/forward_clustered/scene_forward_clustered.glsl#L1089-L1093

On the subject of the mobile renderer, the bias slider doesn't seem to work when it's enabled, which would explain why this issue didn't occur there.


User changing names crashes IRC to Game chat forwarding

Playing on a FTB Direwolf20 v1.1.1 server.
Installed version: eirairc-mc1.7.10-2.8.128.jar
Note that the bot continues to be able to forward mine-craft messages to the IRC channel at all times, and never stops being able to do this.
User in the IRC side of the change changed their name, and caused the following error to show up in the logs.
[17:58:59] [Thread-12/ERROR] [FML/eirairc]: Exception caught during firing event net.blay09.mods.eirairc.api.event.IRCUserNickChangeEvent@4cb4680e:
java.lang.NullPointerException
at net.blay09.mods.eirairc.util.MessageFormat.formatChatComponent(MessageFormat.java:310) ~[MessageFormat.class:?]
at net.blay09.mods.eirairc.handler.IRCEventHandler.onNickChange(IRCEventHandler.java:33) ~[IRCEventHandler.class:?]
at cpw.mods.fml.common.eventhandler.ASMEventHandler_550_IRCEventHandler_onNickChange_IRCUserNickChangeEvent.invoke(.dynamic) ~[?:?]
at cpw.mods.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:54) ~[ASMEventHandler.class:?]
at cpw.mods.fml.common.eventhandler.EventBus.post(EventBus.java:138) [EventBus.class:?]
at net.blay09.mods.eirairc.irc.IRCConnectionImpl.handleMessage(IRCConnectionImpl.java:414) [IRCConnectionImpl.class:?]
at net.blay09.mods.eirairc.irc.IRCConnectionImpl.run(IRCConnectionImpl.java:189) [IRCConnectionImpl.class:?]
at java.lang.Thread.run(Thread.java:745) [?:1.7.0_75]
[17:58:59] [Thread-12/ERROR] [FML/eirairc]: Index: 1 Listeners:
[17:58:59] [Thread-12/ERROR] [FML/eirairc]: 0: LOWEST
[17:58:59] [Thread-12/ERROR] [FML/eirairc]: 1: ASM: net.blay09.mods.eirairc.handler.IRCEventHandler@2b71797d onNickChange(Lnet/blay09/mods/eirairc/api/event/IRCUserNickChangeEvent;)V
The error is reproducible, and is corrected by disconnecting from the IRC server and reconnecting (a channel leave/join will not work).
Further logs, configs or boot up examples available upon request.

This was fixed in #176, update to the latest Jenkins build to solve.
http://jenkins.blay09.net/

Can confirm this fixes our issue.


SystemStubsExtension not working well with QuarkusTest

Hello, I noticed that when working with a QuarkusTest, the SystemStubsExtension does not work properly.
Issues

Field injection is not properly working:

@QuarkusTest
@ExtendWith(SystemStubsExtension.class)
class SystemStubsQuarkusTest {

    @SystemStub
    EnvironmentVariables environmentVariables;

    @Test
    void environmentVariableInFieldShouldBeSet() {
        environmentVariables.set("FOO", "BAR");
        assertEquals("BAR", System.getenv("FOO"));
    }
}

environmentVariables does not get injected and the test fails with:

NullPointer Cannot invoke "uk.org.webcompere.systemstubs.environment.EnvironmentVariables.set(String, String)" because "this.environmentVariables" is null

Method parameter injection not properly working either:

@QuarkusTest
@ExtendWith(SystemStubsExtension.class)
class SystemStubsQuarkusTest {

    @Test
    void environmentVariableInMethodParameterShouldBeSet(EnvironmentVariables env) {
        env.set("FOO1", "BAR1");
        assertEquals("BAR1", System.getenv("FOO1"));
    }
}

The variable seems to be injected (env is not null) BUT the value is not set:

expected:  but was:

Ideas
I think that for 1. it might be the same root issue as with a @TempDir, ie QuarkusTest are creating their own objects, as explained in this comment: https://github.com/quarkusio/quarkus/issues/13261#issuecomment-727902502.
In case 2, the injection is done, but then setting variables is failing. I didn't analyze this further...
Reproduction
For convenience, I created a sample app to quickly reproduce:

clone https://github.com/PierreBtz/quarkus-system-stubs-bug
run ./mvnw verify and observe the failure. The failing tests are in https://github.com/PierreBtz/quarkus-system-stubs-bug/blob/main/src/test/java/eu/pierrebeitz/SystemStubsQuarkusTest.java. For comparison the exact same tests but running as "standard" junit tests are in https://github.com/PierreBtz/quarkus-system-stubs-bug/blob/main/src/test/java/eu/pierrebeitz/SystemStubsTest.java

@PierreBtz thanks for the report. By the looks of it, QuarkusTest hacks JUnit quite a lot. There are some possible workarounds:

Try @Nested tests - see if the nested test can have both Quarkus AND System Stubs in it
Don't use the Extension, but instead make a new EnvironmentVariables object in the initializer list, and then use the @BeforeEach and @AfterEach method of the class to perform the setup/teardown on the object - as described here - https://github.com/webcompere/system-stubs#usage-of-individual-system-stubs

Don't use the Extension, but instead make a new EnvironmentVariables object in the initializer list, and then use the @BeforeEach and @AfterEach method of the class to perform the setup/teardown on the object - as described here - webcompere/system-stubs#usage-of-individual-system-stubs

This was indeed my workaround, sorry I should have mentioned that :)

Try @Nested tests - see if the nested test can have both Quarkus AND System Stubs in it

I quickly checked, but sadly it doesn't work, or at least I could not get it to work. Not that big of a deal, using "the manual way" is good enough for my use case.

Hey @PierreBtz - if Quarkus is abusing the JUnit5 lifecycle, then there's not much an innocent plugin can do about that...
However, if you'd like to write some changes to the README.md (possibly link to some Quarkus specific advice in a sub .md file) and pitch them as a PR, I'd be happy to try to get that published.
I don't see what options we have for changing the SystemStubs extension here....

@ashleyfrieze I'll try to come up with something, it's indeed worth to document.
I just discovered something else, Quarkus also has some funky stuff going on with classloading (see for example https://github.com/quarkusio/quarkus/issues/12511) and this totally messes up with SystemStubs if you use it both in a Quarkus and non Quarkus test in the same execution. Basically what happens is that depending on the test (Quarkus/NonQuarkus), the initialization code will execute in two different classloader, which means https://github.com/webcompere/system-stubs/blob/93db7a102bb92c832561e251b15caa747eb1c4a6/system-stubs-core/src/main/java/uk/org/webcompere/systemstubs/environment/EnvironmentVariableMocker.java#L26-L49 will be called twice, which means:
Caused by: java.lang.IllegalStateException: Cannot set up environment mocking:
For java.lang.ProcessEnvironment, static mocking is already registered in the current thread

To create a new mock, the existing static mock registration must be deregistered. This may be a result of not having the right mockito-inline installed, or may be down to a Java internals change.
	at uk.org.webcompere.systemstubs.environment.EnvironmentVariableMocker.<clinit>(EnvironmentVariableMocker.java:45)
	... 60 more
Caused by: org.mockito.exceptions.base.MockitoException:
For java.lang.ProcessEnvironment, static mocking is already registered in the current thread

To create a new mock, the existing static mock registration must be deregistered
	at uk.org.webcompere.systemstubs.environment.EnvironmentVariableMocker.<clinit>(EnvironmentVariableMocker.java:29)
	... 60 more

Fun stuff :)
I guess the simplest advice if the production code cannot be changed would be:

do not use the extension
split your Quarkus and QuarkusTest into different executions.

But in my case, I had a look to the various calls and with some slight refactoring, I decided to wrap the static calls to System into a bean and mock it during tests.
I still a few places where I need to use System and therefore SystemStubs (because of third parties) but by definition, I don't need QuarkusTest for those so I'm all good :)
I'll come up with some documentation.

Closing through lack of further interest.


Profile recomposition problem

This was on my mind back to this point in time. But I never had the bandwidth to fit it in amongst the other things in my life.
Needs triage and revisit scheduled.

@MatthewRalston needs to revisit and add items to TODO concerning recomposition and schedule, looking like back late September at this point. I'd like to revisit the assembly or the probability project.

Thinking, planning, and working on a Strassen multiplication algorithm and regression utilities for compositional analysis of metagenomes and genomic datasets.
Normal equations
AtAx = Atb,       At(Ax - b) = 0
Strassen multiplication delegating to Numpy when n <= 4.
Want to make sure we're getting good multiplications, so no need to get too creative.


cocoapods and carthage build problem

Environment
Device: MacBook Pro M1
Carthage and Cocoapods installed from brew.
Summary
There are two main problems

podspec: No such file or directory
AMSupportURLSession and AMSupportURLConnectionDelegate implemented with multiple libraries

Carthage build command:
carthage build --platform ios --use-xcframeworks --no-use-binaries
Results:
*** Building scheme "Mantle Mac" in Mantle.xcworkspace

Build Failed
Task failed with exit code 65:
/usr/bin/xcrun xcodebuild -workspace /Users/shih107/XcodeProjects/NavCogIOSv3/Carthage/Checkouts/Mantle/Mantle.xcworkspace -scheme Mantle\ Mac -configuration Release -derivedDataPath /Users/shih107/Library/Caches/org.carthage.CarthageKit/DerivedData/12.5.1_12E507/Mantle/2.0.7 ONLY_ACTIVE_ARCH=NO CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= CARTHAGE=YES archive VALIDATE_WORKSPACE=NO -archivePath /var/folders/lj/42hbp0w96_179rcbllrkfnfm0000gn/T/Mantle SKIP_INSTALL=YES GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=NO CLANG_ENABLE_CODE_COVERAGE=NO STRIP_INSTALLED_PRODUCT=NO (launched in /Users/shih107/XcodeProjects/NavCogIOSv3/Carthage/Checkouts/Mantle)

The log file:

/usr/bin/xcrun xcodebuild -project /Users/xxx/XcodeProjects/NavCogIOSv3/Carthage/Checkouts/HLPWebView/HLPWebView.xcodeproj -scheme HLPWebView -configuration Release -derivedDataPath /Users/xxx/Library/Caches/org.carthage.CarthageKit/DerivedData/12.5.1_12E507/HLPWebView/v1.1 -sdk iphoneos ONLY_ACTIVE_ARCH=NO CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= CARTHAGE=YES archive VALIDATE_WORKSPACE=NO -archivePath /var/folders/lj/42hbp0w96_179rcbllrkfnfm0000gn/T/HLPWebView SKIP_INSTALL=YES GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=NO CLANG_ENABLE_CODE_COVERAGE=NO STRIP_INSTALLED_PRODUCT=NO (launched in /Users/xxx/XcodeProjects/NavCogIOSv3/Carthage/Checkouts/HLPWebView)objc[28343]: Class AMSupportURLConnectionDelegate is implemented in both /usr/lib/libauthinstall.dylib (0x1f536bad8) and /System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x113ddc2b8). One of the two will be used. Which one is undefined.
objc[28343]: Class AMSupportURLSession is implemented in both /usr/lib/libauthinstall.dylib (0x1f536bb28) and /System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x113ddc308). One of the two will be used. Which one is undefined.

That's for Carthage. There are different situations for Cocoapods.
command: pod install

With the original Podfile in master branch:

Errno::ENOENT - No such file or directory @ rb_sysopen - https://raw.githubusercontent.com/hulop/blelocpp/v1.3.6/platform/ios/podspecs/OpenCV-Dynamic.podspec

After removing the podspec attribute for OpenCV-Dynamic:
(It takes nearly half an hour to compile.)
The same error as in the Carthage log file.

Installing OpenCV-Dynamic in a brand new project:

CMake Error at cmake/OpenCVCompilerOptions.cmake:21 (else):
  Flow control statements are not properly nested.
Call Stack (most recent call first):
  CMakeLists.txt:499 (include)

After replacing OpenCV-Dynamic with LegoCV:
The same AMSupportURLSession and AMSupportURLConnectionDelegate problem

I searched for the answers that related to AMSupportURLSession and AMSupportURLConnectionDelegate implementation, but all those are about flutter.
It did not make sense to clean or rebuild this project.
I'm still new to the iOS native frameworks. Please let me know if I misunderstood some basic concepts.

Hi @hiroshi-shin,
Could you please check #52 for carthage build error?
As for the pod install issue, can you access the podspec URL with your browser or wget command?

I tried homebrew version of cocoapods and got the same error.
Could you please install cocoapods with the following command?
$ sudo gem install cocoapods

Hi @hiroshi-shin,
Could you please check #53 for carthage build error and build with the following command?
carthage build --platform ios
As for the pod install issue, can you access the podspec URL with your browser or wget command?

Thank you. carthage build --platform ios without other flags worked.

I tried homebrew version of cocoapods and got the same error.
Could you please install cocoapods with the following command?

I got some problem with ruby for gem cocoapods, but I will try to fix it up this time.

Cocoapods is finally built successfully.
Thank you for the quick reply.


Fix pkgconfig and pthread on MinGW

not fix for me.
docker run --rm -it ghcr.io/nanake/win64-nonfree
(you'll need docker >= 23 for pulling zstd compress layers.)
git clone https://github.com/fraunhoferhhi/vvenc.git vvenc && cd vvenc && mkdir build && cd build

cmake -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" -DBUILD_SHARED_LIBS=OFF -DVVENC_ENABLE_LINK_TIME_OPT=OFF -GNinja ..

ninja
ninja install

Here comes libvvenc.pc. It appears Libs.private: is wrong.
[root@27f5897b8add build]# cat /opt/ffbuild/lib/pkgconfig/libvvenc.pc
prefix=/opt/ffbuild
exec_prefix=bin
libdir=/opt/ffbuild/lib
includedir=/opt/ffbuild/include

Name: libvvenc
Description: Fraunhofer Versatile Video Encoder (VVenC)
Version: 1.12.0
Libs: -L${libdir} -lvvenc
Libs.private: /usr/x86_64-w64-mingw32ucrt/sys-root/mingw/lib/libstdc++.a -lssp_nonshared -lssp -lmingw32 -lgcc -lmingwex -lkernel32 -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32 -lmingw32 -lgcc -lmingwex -lkernel32
Cflags: -I${includedir}

Prior to this PR, it was Libs.private: -l/usr/x86_64-w64-mingw32ucrt/sys-root/mingw/lib/libstdc++.a. See -l in there.
This PR doesn't fix ERROR: libvvenc >= 1.6.1 not found using pkg-config for me.
It should be -lstdc++, not absolute path.

-lstdc++ or /usr/x86_64-w64-mingw32ucrt/sys-root/mingw/lib/libstdc++.a are working both.
The detection of dependent libs is coming from cmake itself (CMAKE_CXX_IMPLICIT_LINK_LIBRARIES).
Without your complete ffmpeg configure log we are not able to help.
If ERROR: libvvenc >= 1.6.1 not found using pkg-config appears, there should also be a log from ffmpeg about the particular issue.
Would you please provide a log and tell how did you build ffmpeg?

The detection of dependent libs is coming from cmake itself (CMAKE_CXX_IMPLICIT_LINK_LIBRARIES).

thanks for shedding some light. turns out it was a messy toolchain.cmake. fixing it make problem go away.
sorry for false alarm.


Password for login keychain logged in clear text

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I read the Contribution Guidelines
[x] I read docs.fastlane.tools
[x] I searched for existing GitHub issues

Issue Description
match 2.149.1 prompts for the user's login.keychain-db password. When the password is entered, match will log it in cleartext (INFO level) to standard output:
Example: Here I entered 'asdf' as password:
WARN [2020-06-24 15:09:23.68]: This passphrase will be stored in your local keychain with the name fastlane_keychain_login and used in future runs
WARN [2020-06-24 15:09:23.68]: This prompt can be avoided by specifying the 'keychain_password' option or 'MATCH_KEYCHAIN_PASSWORD' environment variable
  [2020-06-24 15:09:23.68]: Password for login keychain: ****
  [2020-06-24 15:09:28.45]: Type passphrase again: ****
[⠋] Setting key partition list... (this can take a minute if there are a lot of keys installed) INFO [2020-06-24 15:09:29.73]: $ security set-key-partition-list -S apple-tool:,apple: -s -k asdf (...)/Library/Keychains/login.keychain-db 1> /dev/null

I would expect fastlane match to mask passwords in the logs.

 Secret information (such as passwords) must never be written in cleartext to any log files.

@Landschaft quickly looking at the code this seems to only happen when logging is set to verbose, where it will log the command it is executing before doing so, is this the only case you're facing this issue or is it also happening when logging is set to non verbose?
Related source file, and the flag output is set to FastlaneCore::Globals.verbose?

@ojizero thank you for having a look at this issue.

is this the only case you're facing this issue or is it also happening when logging is set to non verbose?

You're right, setting verbose: false prevents the password from being output. This solves my issue.
I was mislead by the the INFO in the output
[⠋] Setting key partition list... (this can take a minute if there are a lot of keys installed) INFO [2020-08-10 11:55:58.21]: $ security set-key-partition-list -S apple-tool:,apple: -s -k <...> <...>/login.keychain-db 1> /dev/null

into thinking this was a regular output.


Review new Zig and Clang command line flags that may need to be supported

Since we skipped over Zig 0.10.0 and 0.10.1, we've now jumped from Clang 13 to 16. There are likely some command line flags added between these versions that we will want to support. Similarly for zig build-lib/zig build-exe.

--dynamicbase
-z stack-size
-z undefs (#80)
--subsystem (#43)

https://releases.llvm.org/14.0.0/tools/clang/docs/ReleaseNotes.html
https://releases.llvm.org/15.0.0/tools/clang/docs/ReleaseNotes.html
https://releases.llvm.org/16.0.0/tools/clang/docs/ReleaseNotes.html

Just need to review changes to warning flags in Clang now.

-Warray-parameter is new in Clang 15. Off by default. Grouped under -Wmost and by extension -Wall. No action.
-Wcast-function-type-strict is new in Clang 16. Off by default. Grouped under -Wcast-function-type and by extension -Wextra. No action.
-Wdeprecated-literal-operator is new in Clang 17. Off by default. Grouped under -Wdeprecated. No action.
-Wdeprecated-non-prototype is new in Clang 15. On by default. Grouped under -Wstrict-prototypes. No action.
-Wdeprecated-redundant-constexpr-static-def is new in Clang 17. Off by default. Grouped under -Wdeprecated. No action.
-Wgnu-line-marker is new in Clang 15. Off by default. Grouped under -Wgnu. No action.
-Wincompatible-function-pointer-types-strict is new in Clang 16. Off by default. We should enable it at level 4 and above.
-Winvalid-utf8 is new in Clang 15. Off by default. We should enable it at level 1 and above.
-Wsingle-bit-bitfield-constant-conversion is new in Clang 16. On by default. Grouped under -Wbitfield-constant-conversion. No action.
-Wunreachable-code-generic-assoc is new in Clang 15. On by default. Grouped under -Wunreachable-code. No action.
-Wunsafe-buffer-usage is new in Clang 17. Off by default. We should enable it under a new BufferAnalysis property.


google-map-directions Uncaught TypeError

Trying the Polymer Summit 2015 Build Good Maps tutorial with No Code gives an error on the step adding

JavaScript error: Uncaught TypeError: m[md].maps.Load is not a function    main.js:70
The map doesn't display for the rest of the tutorial unless google-map-directions is commented out.

Did you also add the libraries attr to the map element?

You are good! Sorry. I missed that step. Now it works correctly without any errors.


I want to know which account does not have enough eth

User Story
As Chris I want to know which account does not have enough eth so that I know what to do.
Acceptance criteria
Tasks

I think this one got solved in #2273 by @weilbith so I will go ahead and close this issue.


Kratos 63 delete old elasticsearch packages

:nut_and_bolt: Description: What code changed, and why?
This PR contains changes to effectively remove old elastic search packages from the manifest creation and change references of elasticsearch to opensearch wherever applicable.

:chains: Related Resources
:+1: Definition of Done
:athletic_shoe: How to Build and Test the Change
:white_check_mark: Checklist
All PRs must tick these:

[ ] I have read the CONTRIBUTING document.
[ ] All commits signed-off for the Developer Certification of Origin.

With occasional exceptions, all PRs from Progress employees must tick these:

[ ] Is the code clear? (complicated code or lots of comments--subdivide and use well-named methods, meaningful variable names, etc.)
[ ] Consistency checked? (user notifications, user prompts, visual patterns, code patterns, variable names)
[ ] Repeated code blocks eliminated? (adapt and reuse existing components, blocks, functions, etc.)
[ ] Spelling, grammar, typos checked? (at a minimum use make spell in any component directory)
[ ] Code well-formatted? (indents, line breaks, etc. improve rather than hinder readability)

All PRs from Progress employees should tick these if appropriate:

[ ] Tests added/updated? (all new code needs new tests)
[ ] Docs added/updated? (all customer-facing changes)

Please add a note next to any checkbox above if you are NOT ticking it.
:camera: Screenshots, if applicable

Will track these changes as well as part of https://github.com/chef/automate/pull/6870


Question. Is it possible to disable stickyheaders?

That's not something I'd considered. I assume you mean that you'd want the headers "stickiness" to be toggleable? Some headers sticky, some not, or based on some change in data, a header that was sticky ceases to be sticky?

I wanted just use you sectioning adapter without stikcyheaders. It works. I use just LinearLayoutManager

The sectioning adapter works great with LinearLayoutManager. No need to do anything fancy. One of my app demos shows this.

Some headers sticky, some not, or based on some change in data, a header that was sticky ceases to be sticky
Is it possible to do like this? Some headers sticky, some not, based on some data, the "stickiness" capability doesn't need to be changed after initialized.


problem with Installer on osx

After running the installer there was no Direct name add-on in the add-on window, and there was no ad on in the ad on folder.

Hi, I have had big problems with the Mac installer that Autodesk creates. Not really being a Mac user myself, it's hard to know what goes wrong.
In this case it seems that the installer finished correctly?
Have you checked the Add-ins list in Fusion? TOOLS -> Add-ins -> Scripts and add-ins... and check the Add-ins tab.
I know that there historically have been two places where add-ins are installed, where the add-in installer chooses the more "secret" path. I think it might be symlink today, though.
If the add-in is not in the list, please try installing the zip file by the Installation instructions here: https://github.com/thomasa88/DirectName


Inline gradient/fills

It may be useful for an addtional plugin to inline fills (notably gradients), too.
SVGs exported from Illustrator extensively use them and
they could collide with gradients of same ID in other SVGs.

it would be much easier if the new css selection features from https://github.com/svg/svgo/pull/592 could be used, querying for (linear)Gradient element by ID from element fill attribute/style.

Has this issue been resolved, or do I still need to use the workaround? Is there anything I can help with?


antenna reading range

I recently purchased a Grove 125kHz reader but it only reads tags from 0.5cm distance or less. Is there a library maybe that would enable setting the gain of antenna? Or is there any other way to increase the reading range since theoretically this reader should be able to reader tags from 5-7cm distance.

what tags do you use?
if you use card-tags they tend to have a better range - as the antenna in theme is very big..

我最近购买了一台 Grove 125kHz 阅读器，但它只能读取 0.5 厘米或更短距离的标签。是否有可能允许设置天线增益的库？或者有没有其他方法可以增加阅读范围，因为理论上这个阅读器应该能够在 5-7 厘米的距离读取标签。

He is correct: https://github.com/Seeed-Studio/RFID_Library/issues/11#issuecomment-1127477866. The read range of low-frequency RFID is very short, and the actual range depends on factors such as the size of the tag and the material it is attached to.

Hello,
I'm going to close this issue, feel free to re-open it if you have any other questions.
[Autocommentary]


DNS-Swapper failed after saving config which probably is wrong. How to cleanup configuration in such case?

Hi
today i played arouond with pi-hole and liked to switch the nameserver with DNS-Swapper.
Installation works perfect.
After saving a config and trying to restart DNS-Swapper it was short visible in the taskbar but disappears after the mouse was moved over the icon.
Re-install did not help.
How can i cleanup a probably wrong saved configuration.
Faulting application name: DNS-Swapper.exe, version: <IP_ADDRESS>, time stamp: 0x5a53c013
Faulting module name: KERNELBASE.dll, version: 10.0.17134.137, time stamp: 0x16722c9d
Exception code: 0xe0434352
Fault offset: 0x0010db92
Faulting process id: 0xf28
Faulting application start time: 0x01d416b81a0de0d5
Faulting application path: C:\Program Files\DNS-Swapper\DNS-Swapper.exe
Faulting module path: C:\WINDOWS\System32\KERNELBASE.dll
Report Id: 987ff205-ef9b-4995-85ce-9b615def94f7
Faulting package full name:
Faulting package-relative application ID:
Thx for your work on this project.

Could you probably post the configuration before deleting so I see what went wrong?

New version released which should solve the mentioned issues: https://github.com/roots84/DNS-Swapper/releases/tag/b%2F1.3


No vertical scrollbar on comboboxes

On Repo trading dashboards, there is no vertical scrollbar anymore on comboboxes. So, users have to use the keyboard to navigate through the list elements and this is not practical.
To Reproduce
Steps to reproduce the behavior:

Go to Specific or GC Repo trading dashboard
Click on a combobox in order to display its elements (ensure to have numerous elements, so they are not all displayed at once)
There is no vertical scrollbar

Expected behavior
We should have a vertical scrollbar, so users can navigate through the combobox elements.
Screenshot
Illustration of the issue:

Environment:

Version 2.2.0-SNAPSHOT

will be included in v2.2.0


RFE: Revision history for changes made in the Rancher UI

What kind of request is this (question/bug/enhancement/feature request):*
Feature Request
Description
When using workloads you have the ability to see a revision history when you access the rollback menu.  It would be nice to have a revision history with username that made the change for other resources that are managed in the user interface.  Examples of this would be ingresses, secrets, config maps, registries and certificates.

Closing issue in favor of https://github.com/rancher/rancher/issues/19541.

That information doesn't exist for other types.  Workload "revisions" are really just previous ReplicaSets that still exist for the Deployment but are now scaled to zero.


How to change Input Request MediaType

Hi Guys,
Is there a way to change the input media type accepted for a specific route?
E.G.
I would like to set the route /foo/bar to accept only the media type 'application/octet-stream', and i would like also that this is reflected to the openapi template.
Something like the "consume" tag in Spring.

You could fetch that in the request header and then check if it is the right one.

Hi Guys,
Is there a way to change the input media type accepted for a specific route?
E.G.
I would like to set the route /foo/bar to accept only the media type 'application/octet-stream', and i would like also that this is reflected to the openapi template.
Something like the "consume" tag in Spring.

Hi Guys,
Is there a way to change the input media type accepted for a specific route?
E.G.
I would like to set the route /foo/bar to accept only the media type 'application/octet-stream', and i would like also that this is reflected to the openapi template.
Something like the "consume" tag in Spring.

@app.get("/req")
async def get_header(request: Request):
    print(request.headers)
    return {"do with them what you want"}

Yes, thanks, I just arrived after opened this issue.

Thanks for the help here @valentin994 ! 👏  🙇
Thanks for reporting back and closing the issue @KiraPC  👍

Sorry for the long delay! 🙈  I wanted to personally address each issue/PR and they piled up through time, but now I'm checking each one in order.


[Vue warn] onScopeDispose() is called when there is no active effect scope to be associated with.

[x] I have searched the issues of this repository and believe that this is not a duplicate.

Reproduction link
https://github.com/IDuxFE/idux
Steps to reproduce
执行测试命令：
pnpm test

What is expected?
没有 warn
What is actually happening?
warn
Environment Info
    "@idux/cdk": "^1.0.0-beta.3",
    "@idux/components": "^1.0.0-beta.3",
    "@idux/pro": "^1.0.0-beta.3",

排查一下 warn 的原因是什么，看看是我们的写法问题还是测试框架的 bug.

@Jouryjc 最新的版本里已经没有这个 warn 了，不过还是有其它的一些警告日志（由于我们废弃的一些 API 导致的），有空的话，麻烦修复下~


Upgrade to yarn v3

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

8.6.0
GitHub release

Your semantic-release bot :package::rocket:


Update postgresql.md

12th August 2021: PostgreSQL 13.4, 12.8, 11.13, 10.18, 9.6.23, and 14 Beta 3 Released!

Thanks a lot!


Better discoverability of result functions

Many users write their own functions for sampling and viewing results, make our built-in functions more discoverable.

:+1:


[5.5][Diagnostics] Reword malformed swiftsourceinfo diagnostic

Cherry-picks https://github.com/apple/swift/pull/38586

The original wording is not helpful to a user if they don't know what a
swiftsourceinfo actually is. Change the wording to provide some more
context, ie. that it is an unstable format and should not be
distributed.
Resolves rdar://80785874

@swift-ci please test

@swift-ci please test

Build failed
Swift Test Linux Platform
Git Sha - c08e9147a0dcc64dcafb8ab99229c867bf2009cb

@swift-ci please clean test Linux platform


Added Coordinator::setDataVersion to enable faster start up of replays

Nice addition, thanks!
To pick the correct process path, you can use utilize sc2::FindBaseExe.


can we do Whatapp pdf Share ?

Can we share pdf along with message body ??

Not on the feature list for the foreseeable future, but will take it up if time permits.


Build chemfiles on ARMv7 / AARCH64

A few minor changes required to build and run chemfiles om ARM platforms.
I did not test on real hardware since I don't have any (anyone with a raspberry pi around?), but the code cross-compile (using https://gist.github.com/Luthaf/46c711a2f205ab99d81116848cd45ad3) and run with qemu, so this is a good first step.
I also got chemfiles to compile on PowerPC64 targets. There seems to be an endianness issue with the molfile DCD reader on ppc64le, and a lot a tests error with ppc64, so this will have to wait.

I also got chemfiles to compile on PowerPC64 targets. There seems to be an endianness issue with the molfile DCD reader on ppc64le, and a lot a tests error with ppc64, so this will have to wait.

Strangely, it seems that on native hardware the tests pass: https://build.opensuse.org/package/show/home:Luthaf/chemfiles, Fedora builders have a ppc64le version.


Working HTTPS example for GKE?

Hi,
I am on Google Container Engine and I am trying to get the HTTPS working for two days already without any success. On port 80 all is great but HTTPS just won't work. The further I got was:
$ curl -v https://foo.bar
* Rebuilt URL to: https://foo.bar/
* timeout on name lookup is not supported
*   Trying 130.211.x.x...
* TCP_NODELAY set
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0* Connected to foo.bar(130.211.x.x) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
*   CAfile: C:/Users/ijaro/AppData/Local/Programs/Git/mingw64/ssl/certs/ca-bundle.crt
  CApath: none
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
} [5 bytes data]
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
} [512 bytes data]
* error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol
* Curl_http_done: called premature == 1
* stopped the pause stream!
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
* Closing connection 0
curl: (35) error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol

From what I've gathered it might be the fact that Traefik is not terminating the ssl but it forwards it onto the backend on port 80 which causes the unknown protocol error. But I am really, REALLY, just guessing here, I have no freaking idea.
There are a few examples, even on the official page, on how to setup Traefik on Kubernetes, but there is literally no working HTTPS example that I could find.
Also I am not using Google's Load Balancer(1 IP = 1 certificate) but I am using Kubernetes LB.
Another thing is that using file configuration is not working, Kubernetes takes over(ingress), but I get backend XYZ for frontend XYP does not exist, skipping. I think Traefik cannot parse the ingress configuration or something.

@ivanjaros could you give us your toml config ?

OK, so after really busy weekend I have been able to get this up and running in GKE. There are a few quirks that one needs to figure out since the documentation is actually good, but for some reason I didn't saw/understood/noticed most of the things that I had to solve on my own before and only after I solved it I saw mentions about various stuff in the docs. One has to read the docs word by word I guess.
Anyway, some of the issues that one has to watch out for is:

never use named port references, always numeric
ingress is basically a frontend rule, it has to be formatted like any other(so kubernetes will process it) but actually the data is processed by Traefik so for example paths like /foo/bar/* will work in k8s but not in Traefik(it has to be /foo/bar/) and also Traefik allows the path rule type to be changed via annotation.
Traefik does not support wildcards for host definition in inress, this is the biggest pain with Traefik right now for me, since there is no annotation to switch from Host rule type to HostRegex.
Traefik does not support * wildcard in paths or host definitions
for SSL to work, there has to be at least one certificate provided(but this might be only limitation when one is using the build-in LE support)
when using redirect from 80 to 443, Traefik uses 302 instead of 301
no support for custom certificate storage, I am experimenting with cron´worker that will be udating the config file since I handle LE certificates on my own
Traefik requires "--kubernetes" flag for ingress to work
Traefik will be showing errors about non existing endpoints and falling back to cluster ip constantly
Traefik will not log traffic into log(which is weird, I think when I tried it for the first time I saw some entries)

and other things that I cannot remember right now. Not all related to kubernetes or gke.


Add example of refetching based on a query parameter

I didn't realize until #562 that keys in createRouteData and createServerData$ were reactive. This PR documents that.

Thank you


Modify article about Software Testing with Copilot

<IP_ADDRESS>.1. Penetration Testing
Penetration testing, also known as ethical hacking, involves simulating real-world attacks to assess the security vulnerabilities of the software system. Skilled security professionals attempt to exploit weaknesses and gain unauthorized access to the system.
<IP_ADDRESS>.2. Vulnerability Scanning
Vulnerability scanning is a security analysis technique that involves scanning the software system for known security vulnerabilities and weaknesses. This includes using automated tools to identify common vulnerabilities, such as outdated software versions, misconfigurations, weak authentication mechanisms, or inadequate access controls.
1.2.2. Behavior-Driven Development
Behavior-Driven Development (BDD) is a software development approach that focuses on defining the behavior of a system through the use of concrete examples expressed in natural language. It is a collaborative process that involves developers, testers, and business stakeholders working together to ensure that the system is being developed to meet the needs of its users.
Concepts of BDD:

User Stories

BDD starts with user stories, which are written in a specific format that describes the expected behavior of the system from the user's perspective.

Examples

Examples are used to illustrate the behavior of the system, and they are written in natural language using a framework like Gherkin.

Scenarios

Scenarios are the specific tests that are derived from the user stories and examples. They are used to ensure that the system is behaving as expected.

Automation

BDD encourages the use of automation to ensure that the scenarios are executed consistently and efficiently.

Collaboration

BDD is a collaborative process that involves developers, testers, and business stakeholders working together to ensure that the system is being developed to meet the needs of its users.

Tools and Frameworks:

Cucumber
Gherkin
JBehave
Lettuce
Gauge

Related #156


Githubdam h69 updates test iOS VoiceOver

Hi Marc, Please review the branch if you find any incorrect please advise.

Complete - can be deleted


Broadcast is braking the IEEE 802.15.4 network layer.

Patching broadcast is set like this in the firmware:
+// Increase the max number of boardcasts, the default broadcast delivery time is 3 seconds
+// with the value below this will allow for 1 broadcast every 0.15 second
+#define MAX_BCAST 30

I have tying finding what is shall being but have not finding it.
The 802.15.4 network is protecting braodast from storming the network by limiting the broadcast to 8 in one 9 seconds time frame.
If one router is getting more broadcasts and and the 8 have not timing out its shall ignoring the new frames = frame is lost silent.
Some references: https://community.silabs.com/s/article/guidelines-for-large-dense-networks-with-emberznet-pro?language=no
Broadcasts:
In a network of any appreciable size, broadcasts should be avoided or minimized wherever possible, and radius of propagation should be limited in cases where the nodes of interest are known to be in close proximity (within a limited number of hops) of the sender. (See note above about hop count being slightly higher in these neighbors due to density.) Furthermore, the ZigBee Pro stack limits the broadcast traffic to about 8 broadcasts in any 9-second window, so any NWK layer broadcast activity (APS broadcasts, APS multicasts, route discoveries, ZDO announcements or broadcast requests, PAN ID / channel / NWK key update notifications) by any node, even one with a 1-hop radius, will count against this limit, and if any node encounters more than this amount of broadcast traffic, it will discard the packet because it can't be tracked against the list of known broadcasts, and we don't want to risk repeating some old broadcast to propagate it unnecessarily.
Trying sending broadcastt at a rate of 60 / 9 seconds  i ending loosing 52 broadcast after the first Zigbee router and  is not making any good then its only blocking the network and braking APS broadcasts, APS multicasts, route discoveries, ZDO announcements or broadcast requests, PAN ID / channel / NWK key update notifications functionality in the mesh network !!!
I knowing  its not popular but this in making all TI firmware not being Zigbee 3 compatible and is only making bad thing but i hope getting it fixed so users is getting  there system broken of bad firmware settings like this one.
Pleas read and learning how IEEE 802.15.4 network broadcast storm is implanted and how is and shall working with Zigbee 3 certificated devices.

If I understand correctly, you propose to remove this and use the default?
Could you reproduce an issue due to this? The context you are given is more theoretical and Im wondering what happens in practice.

If reading the foundation of routing in Zigbee then you understanding way its locked in the Zigbee stack then the under layer is limited to 8 broadcast in 9 seconds in all devices.
If one router (= all FFD in the 15.4 network) is sending more broadcasts the standard then all neighbors is throwing all frames that is over the limit and then is your network have collapsing then broadcast is not working and unicast is not working then the routing  is not working then the broadcast is broken and cant discovering devices.
Its like try driving one double dicker bus under one bridge that is 4.4 M high and you can try but its not working and if you is understanding how its working you is not trying or you is getting one cabriolet version of your double dicker bus.
If doing this kind of patching and not understanding how the different layers is working then you is braking the system.
Then i only using Zigbee 3 certified devices (also the coordinator) i cant doing the test.
Better you is trying sending 60 broadcast in your production network for more then 3 hops and sniffing how the network is reacting and if its possible for some hours so the network is working also with end devices is jumping and rejoining with different parent so the coordinator must broadcast for finding it in the network.

If one router is getting more broadcasts and and the 8 have not timing out its shall ignoring the new frames = frame is lost silent.

Trying sending broadcastt at a rate of 60 / 9 seconds i ending loosing 52 broadcast after the first Zigbee router and is not making any good then its only blocking the network and braking APS broadcasts, APS multicasts, route discoveries, ZDO announcements or broadcast requests, PAN ID / channel / NWK key update notifications functionality in the mesh network !!!

Isn't this somewhat conflicting information?
Let's say the coordinator uses the default broadcast limit, but fully "saturates it" by sending as much as possible.
All other routers are also "saturated" at that point, as they use the same limit. So what you're saying with "all multicast/broadcast functionality breaks" also happens then?

If one router (= all FFD in the 15.4 network) is sending more broadcasts the standard then all neighbors is throwing all frames that is over the limit and then is your network have collapsing then broadcast is not working and unicast is not working

Why would unicast messages break if the extra broadcast frames are all silently discarded by other routers?
(What you're saying could also happen with the default limit?)

Could you reproduce an issue due to this? The context you are given is more theoretical and Im wondering what happens in practice.

I didn't observe any issues so far. Other ZHA devs are also running with an increased broadcast table size on EZSP coordinators.
Although the "extra broadcast" limit is rarely used, HA can send "too many broadcast" requests for the default limit when dragging in the color wheel for a Zigbee light group.

limited to 8 broadcast in 9 seconds in all devices

In my testing, this doesn't really apply (at least not how you think).
All Hue bulbs (Silicon Labs based) that can "hear my coordinator" respond to way more than 20 broadcast requests in a 9 second window. It's possible that they don't re-broadcast those frames (didn't test this), but the increased limit still has a benefit here.
In generally, broadcast requests seem to be processed way faster in my test networks and my production network than what the default limit is for.

Its can braking unicast  then "APS broadcasts, APS multicasts, route discoveries, ZDO announcements or broadcast"  is not working OK the routing is not working and the mesh cant finding / manager the device and is not knowing where they is.
With the "saturated" is not possible with Zigbee 3 certified devices that all shall having the standard but if you is patching the firmware on all your routers you can getting it working excellent if not going in some other problems.
Broadcast table configured in EZSP firmware that is holding the listener for broadcast = group commands so if setting it to 10 you can have 10 Zigbee light groups and the 11 you is making is not working then the coordinator is not listening on it. its not the outgoing broadcast table that is doing the 9/8 limiting.
The max broadcast in EZSP is not possible changing in the firmware is locked in simplicity studio as written in the linked dock. (i think its some old wording in the linked document then its little old but its not important then its the logic that is it).
The limited is is for outgoing broadcast frames so more then likely is working with all your HUE BT lights that is in the first level (in radio range from the coordinator) but they is not relaying then to next level then getting more the 8 in the outgoing table.
Interesting sniffing how its working nit not so easy setting up one test for getting it working then  the second level shall not being in radio range of the level 0 for it working.
Also EZSP and modern Zogbee stacks is not reseeding broadcast 4 times if they using passive acks (its sending the broadcast and listening if the neighbors is reseeding it = OK then it dos not repeating the broadcast and if not its doing classic repeating sending the frame). But is having routes that is not using passive broadcast ack then you is getting the 9/8 problem.
In EZSP is the limit working then using IKEA light controllers with older firmware its not possible changing light level and color to of then the network is blocking (the round wireless dimmer is also doing it then is direct paired to one light). and is having EZSP stack in both devices.
The speed is depending of the router in the network and they is using jitter for not sending all at the same time and they must possessing the frame for resending it it the next hope. Some stack / hardware is faster some is slower.

Broadcast table configured in EZSP firmware that is holding the listener for broadcast = group commands so if setting it to 10 you can have 10 Zigbee light groups and the 11 you is making is not working then the coordinator is not listening on it. its not the outgoing broadcast table that is doing the 9/8 limiting.

No, EZSP_CONFIG_BROADCAST_TABLE_SIZE is defined as "The maximum number of broadcasts during a single
broadcast timeout period" and it indeed does that for me (only increasable at compile time).
I guess you're talking about EZSP_CONFIG_MULTICAST_TABLE_SIZE

In EZSP is the EZSP_CONFIG_MULTICAST_TABLE_SIZE how many Zigbee groups the coordinator can listener to then all Zigbee groups must being configured or the host  system is not getting the broadcasted frames (Alexei have saying that many times and i very sure Pudly is knowing it 2).


IBAN with spaces gives non-formatted HTML error message

BunqDesktop 0.6.2 on Windows 10 x64
When creating a new payment to an IBAN, i can't use spaces in the address. I think they should be automatically filtered out.
After confirming, the error message has an HTML code for a line break in it, but it doesn't work. The HTML code is displayed in cleartext instead.

The second bug with the  tag has already been fixed in the current version. I'll make sure to strip all spaces from the IBAN number before verifying the results 👍