Corner cases in bounds checking

We don't currently have a precise definition of the tests CTESTSUBSET and CBUILDCAP perform.  Are they set tests (every byte which is authorized by cap A is also authorized by cap B) or interval tests (B.base <= A.base && A.top <= B.top)?
Is it legal to construct a zero-length capability with base = top != 0 (with CSETBOUNDS, etc)?  If so, are two zero-length capabilities with different bases considered equivalent by CTESTSUBSET?  They represent the same set but different intervals.
Is it legal to construct a 2^XLENMAX length capability with base != 0 (using CSETBOUNDS or CBUILDCAP)?  Such a capability would authorize all bytes in the address space, so it is an improper subset of Infinity but again not a subinterval.
Is it legal to construct a capability with length greater than 2^XLENMAX, thus including some bytes more than once?  The malformed bounds check looks at the base but not the top, so you can do some interesting things at the maximum exponent.
Is it legal to construct a capability with length greater than zero and less than 2^XLENMAX, but with a base that causes it to wrap around 2^XLENMAX, for instance base = 2^XLENMAX-1, top = 1?  (The documentation addresses representable regions that wrap around, but this is asking about the accessible region wrapping.)  Such a capability is well defined as an interval, but unlikely to be useful unless memory itself wraps around, and supporting them makes interval operations much more complicated (no longer a lattice, etc).
Under RV32, any capability represented with EF=0 E=0 can also be represented using EF=1 T8=1.  Should the redundant case be considered malformed?
I'd like to see a definition of subset semantics somewhere near the definition of the malformed bounds check in §2.5.

Good questions! I'll have a go:

Is it legal to construct a zero-length capability with base = top != 0 (with CSETBOUNDS, etc)?

Yes. Some codegen, e.g. structs with variable-length arrays at the end, emit setbounds of length zero. They would always trap on dereference anyway, so we have toyed with the idea of making such things untagged and reusing some other bounds encoding (e.g. encoding the top as inclusive), to mitigate these kinds of issues. Changing it raises the issue of what capability to return if somebody tries to do it, e.g. should getlen on the result always give zero. Zero-length capabilities haven't caused any major issues until now, and in fact I believe it was a design goal to allow them initially.

If so, are two zero-length capabilities with different bases considered equivalent by CTESTSUBSET? They represent the same set but different intervals.

The sail should disambiguate, and does for ISAv9, but there should be text too. It's B.base <= Abase && A.top <= B.top.

Is it legal to construct a 2^XLENMAX length capability with base != 0 (using CSETBOUNDS or CBUILDCAP)?

It isn't special-cased, but will be always be illegal because the almighty cap doesn't extend up above 2^XLENMAX. For these bounds checks, the overflow bit has to be tracked. Again, we may need text to clarify that. Same goes for lengths > 2^XLENMAX.

Is it legal to construct a capability with length greater than zero and less than 2^XLENMAX, but with a base that causes it to wrap around 2^XLENMAX, for instance base = 2^XLENMAX-1, top = 1?

Same again: the overflow means you're trying to authorise a cap outside of any existing cap.
I need to look into the RV32 case.

Under RV32, any capability represented with EF=0 E=0 can also be represented using EF=1 T8=1. Should the redundant case be considered malformed?

@sorear I believe you have a point here.  EF=0 E=0 would never be chosen by CSetBounds, as it could "more precisely" be represented with EF=1 T8=1.  We should therefore leave EF=0 and E=0 reserved for RV32, methinks.

I've addressed the set vs. interval questions in #48, and expect to cover the rest.


Log in with github error

Describe the bug
When clicking the LOGIN WITH GITHUB button I get the Application error screen with a message to check heroku logs.
To Reproduce
Steps to reproduce the bug:

Go to https://batnoter.com/login
Click on LOGIN WITH GITHUB
See error

Expected behavior
Successful log in.
Screenshots

Please provide browser information:

Firefox

I get the same wrong, and my browser is Chrome

same problem on safari as well as chrome

I think Heroku stopped free hosting services. So the backend is down. I will look for other alternatives

I've heard about this as an alternative for heroku free tier: https://fly.io/. I have not tried it yet but you might want to check it out.

Wait, so all content there is now in a limbo? Is there a way to get my projects back??

@primalpoint No, all of your notes should still be accessible from your github account, inside the private notes repository.

wow, thanks a lot !

@vivekweb2013 any updates on this? Im really loving batnoter and would hate to have to look for an alternative.

Login error still persists, and my browser is Chrome

Sadly, I dont think its coming back up any time soon.
One alternative to keep using your notes is with github web based editor.
So if the repo for your notes is at https://github.com/yourusername/notes you need to replace com with dev: https://github.dev/yourusername/notes.

https://batnoter.com/login

找到了吗？

Anybody find the solution?


Triggers, messaging, release notes in changelog CI

Changes when the CI is run.

This avoids "bad runs" if a release fails, as it depends on a successful workflow run.

Copies the generated release note to the changelog

This intends to reduce merge conflicts due to individually updated changelogs.

Big red message in PR to merge

This adds a note to the PR message to not squash to help users perform the correct action.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 74.85%. Comparing base (b2bfb22) to head (b829d0f).

Additional details and impacted files
@@           Coverage Diff            @@
##           develop     #121   +/-   ##
========================================
  Coverage    74.85%   74.85%
========================================
  Files           10       10
  Lines          835      835
========================================
  Hits           625      625
  Misses         210      210

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


[BEAM-11584] Upgrade junit to version 4.13.1

R: @aromanenko-dev

Done to get rid too of https://github.com/google/error-prone/issues/1059#issuecomment-399172780

Done to get rid too of https://github.com/google/error-prone/issues/1059#issuecomment-399172780

Run PythonDocs PreCommit

Run PythonDocs PreCommit

Run PythonDocs PreCommit

Run PythonDocs PreCommit

Hmm, some checks are failed. Can it be related?

Hmm, some checks are failed. Can it be related?

I doubt so, Python jobs are not touched and the Java examples one had a timeout, let's try that one again.

I doubt so, Python jobs are not touched and the Java examples one had a timeout, let's try that one again.


Add a simple github-actions setup.

It appears the Travis CI wasn't enabled. Most Bytecode Alliance projects are now using Github Actions, so switch to that instead.

Thanks for the review!


Case sensitive search

Allow to perform case-sensitive searches, e.g. only "jambes" without including the city of "Jambes"

Even Google does not allow that: https://support.google.com/websearch/answer/134479
Possible in ES with mappings but need to reindex everything... postponed

See https://stackoverflow.com/questions/52746307/elasticsearch-search-query-is-not-case-sensitive

Need to keep this as an option, not a feature!

tricky, postponed

@bdeseure is this still a requirement or can we close it?


fix: allow Raw as UnixfsType

Acknowledges that a raw node is a valid UnixfsNode and therefore can be resolved as a file in the gateway
closes #326

@ramfox I don't think this is quite correct. IPLD Raw is something else than Unixfs Raw. We shouldn't treat them the same.
Asfaiu the current kubo gateway allows unixfs paths -> other ipld blocks which is likely why it works on their side. If we start allowing for that we should explicitly resolve IPLD, not treat IPLD as unixfs

Okay great, thank you. I had a feeling this was off so I wrote up an alternative way of doing this here.
Before this PR this was the flow: The request comes in. The get_handler determines that the ResponseFormat is ResponseFormat::Fs (most likely because this seems to be a kind of default). The get_handler matches on the response format & calls serve_fs, which errors when the unixfs_type of the resolved node is found to be None (hence the "couldn't determine unixfs type" error).
So the problem is either:

we are incorrectly assuming that the response format should be ResponseFormat::Fs, and instead should be ResponseFormat::Raw. Fixing the ResponseFormat type, would call serve_raw rather than serve_fs. Problem solved? (@Arqu ???)
serve_fs should actually just be able to handle OutType::Raw (the above-linked solution). We handle OutType::Raw & the problem is solved.
There is some alternative way we should be handling raw blocks that we don't have set up yet that I need clarity on

1. we are incorrectly assuming that the response format should be `ResponseFormat::Fs`, and instead should be `ResponseFormat::Raw`. Fixing the `ResponseFormat` type, would call `serve_raw` rather than `serve_fs`. Problem solved? (@Arqu ???)

Technically the ResponseFormat is correct and line by line is pretty much also what kubo does. Where we seem to differ is that we don't handle the calls well so we potentially want to diverge and redirect that.
Not sure whether we can correctly "detect" this state, but given we can return OutType::Raw as the body we can just make a special case next to dir and file handling.

@Arqu something like this?: https://github.com/n0-computer/iroh/pull/332


feat: giving permissions to all sig reviewers and committers

close https://github.com/ti-community-infra/ti-community-prow/issues/257

/hold
Needs update docs.

/hold
Needs update docs.

/assign @Mini256
PTAL~ Thanks!

/assign @Mini256
PTAL~ Thanks!

/hold cancel

/hold cancel

/merge

/merge


RFP - authme

Checklist

[x] The package I am requesting does not already exist on https://chocolatey.org/packages;
[x] There is no open issue for this package;
[x] The issue title starts with 'RFP - ';
[x] The download URL is public and not locked behind a paywall / login;

Package Details
Software project URL :https://authme.levminer.com/#downloads or https://github.com/Levminer/authme
Direct download URL for the software / installer : https://github.com/Levminer/authme/releases/download/3.3.4/authme-3.3.4-windows-x64-installer.exe
Software summary / short description:
an authenticator app

I will pick this one up.

Packages have been pushed and are now ready for review:

https://community.chocolatey.org/packages/authme/3.3.4
https://community.chocolatey.org/packages/authme.install/3.3.4
https://community.chocolatey.org/packages/authme.portable/3.3.4

Packaged have been reviewed and are now available in the Community repository.


Translation is not working

From today the translation is not working completely! Until this day, the translation worked 50/50. But today for several hours the plugin has never translated a single message. Pls repair plugin, its a best plugin in game!

Sorry for the trouble. Google changed its API and I'm working on the fix. I want to release it soon

oh my god, I'm waiting for this fix very much, thx!


Subfiles

This PR adds the ability to split the protocol definition into multiple .xml files.
The  tag is used to include files, with relative directory support e.g. <Require file="../version.xml"/>
Full documentation provided in README.md

@billvaglienti any progress on this one? :)

I didn't explicitly pull this over, but copied the relevant code and implemented it in my branch. Should do what you want now.


Version range filter includes wrong instance (-version [12.0,14.0] returns 10.0)

I want to identify a supported legacy VS instance, however by running:
vswhere -legacy -version [12.0,14.0]
it returns:
Visual Studio Locator, version 1.0.58
Copyright (C) Microsoft Corporation. All rights reserved.
instanceId: VisualStudio.12.0
installationPath: D:\Program Files (x86)\Microsoft Visual Studio 12.0
installationVersion: 12.0
instanceId: VisualStudio.10.0
installationPath: C:\Program Files (x86)\Microsoft Visual Studio 10.0
installationVersion: 10.0
Being outside the version range filter, the 10.0 is part of the output.

I'm not able to repro this in either PowerShell (with quotes) or cmd.exe (with or without quotes) using 1.0.58. What shell are you using?

What is the file version of %ProgramData%\Microsoft\VisualStudio\Setup\x86\Microsoft.VisualStudio.Setup.Configuration.Native.dll?

well... currently it returns only 12.0 instance from both powershell and cmd, which is great
I did some changes in the mean time, it's one of our test agents, replaced Test Agent 2013 with 2017
(we are switching slowly to 2017)
The Microsoft.VisualStudio.Setup.Configuration.Native version is <IP_ADDRESS>148
but, on another machine (build agent) I have a similar issue
running from cmd without quotes of from powershell 3.0 with quotes:
PS D:> .\vswhere.exe -legacy -version '[12.0,14.0]'
Visual Studio Locator, version 1.0.58
Copyright (C) Microsoft Corporation. All rights reserved.
instanceId: VisualStudio.14.0
installationPath: C:\Program Files (x86)\Microsoft Visual Studio 14.0
installationVersion: 14.0
instanceId: VisualStudio.12.0
installationPath: C:\Program Files (x86)\Microsoft Visual Studio 12.0
installationVersion: 12.0
instanceId: VisualStudio.11.0
installationPath: C:\Program Files (x86)\Microsoft Visual Studio 11.0
installationVersion: 11.0
in this case it shows 11.0 in the output
on this machine there is no Setup folder under %ProgramData%\Microsoft\VisualStudio
it contains only these folders 11.0, 12.0, 14.0 and Packages

If you have no %ProgramData%\Microsoft\VisualStudio folder, then where did you find Microsoft.VisualStudio.Setup.Configuration.Native.dll at version 1.8.8?

I cannot reproduce this. Please reopen the issue with the requested information and we can continue to investigate.


[Excel] (Charts) Add chart data table article section

Docs Build status updates of commit e4e8671:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/excel/excel-add-ins-charts.md
:white_check_mark:Succeeded
View

docs/images/excel-charts-data-table.png
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 14d8c94:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/excel/excel-add-ins-charts.md
:white_check_mark:Succeeded
View

docs/images/excel-charts-data-table.png
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 1664617:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/excel/excel-add-ins-charts.md
:white_check_mark:Succeeded
View

docs/images/excel-charts-data-table.png
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 75d5654:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/excel/excel-add-ins-charts.md
:white_check_mark:Succeeded
View

docs/images/excel-charts-data-table.png
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Added important note back in.

Hi @mimig1, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

It looks like you're a Microsoft contributor (Mimi Gentz). If you're full-time, we DON'T require a Contribution License Agreement. If you are a vendor, please DO sign the electronic Contribution License Agreement. It will take 2 minutes and there's no faxing! https://cla.microsoft.com.

TTYL, MSBOT;


ValidationProvider optional

I have this piece of code and I’m trying force bypass this text-field by checkbox, anybody can help?

If you can provide a full example for the issue, I can help you better.
I set up a small example showcasing the toggle behavior with ValidationObserver state which seems to work fine.
https://codesandbox.io/s/187jn9pyj7


HACK: Add entity_ids to sensors that don't have one

Demoing a hacky workaround for https://github.com/simbaja/ha_gehome/issues/196

I think these should be resolved a different way in the newest release, but feel free to submit an issue if you're still experiencing issues.


else if() Switch Case Detection Causes Code Skips

Code:

Error:
Error OD0000 at code\datums\components\construction.dm:94:12: Expected "if" or "else", "else if" is not permitted as a switch case
Warning OD0000 at code\datums\components\construction.dm:99:5: Error recovery had to skip to code\datums\components\construction.dm:114:7

It detects the bad switch case like it should, but it should recover without a code skip.

From BeeStation master.


Upgrade to MP GraphQL 1.0.4

Hello @tmiddlet2666 , I have converted this PR to a draft, as we need to wait for a release. We cannot use release candidates.

Due to delay on 1.1. spec i am splitting out the changes for 1.1 from the date changes.
I will submit a new PR when the spec eventually changes.


Updating comparison table for ktoml project

I love that table and marketing ideas to promote your project with this table. Very good job (no sarcasm)!  If you will write an MPP-based parser for TOML - I would definitely like to use it in ktoml.
Also my suggestion is to mention on which phase the decoding/encoding process is done: on compile time with Kotlin compiler plugin or on the runtime with reflection.

#19 actually contains a standards-compliant 100% Kotlin combinator parser, based on a parser combinator library I implemented mainly for this purpose. It's actually a bit faster than the old ANTLR parser for the workloads I've tested too. If you have a look at it and decide that you want to use it, I'll break it out into a separate library.

@valderman can you have a look why CI fails after an update of a readme?

@valderman can you have a look why CI fails after an update of a readme?

Dependency check. CI fails on outdated dependencies, to make sure they don't stay outdated for long. It's a bit inconvenient for PRs like this though. It should pass after merging current main.


Deprecate TestPyPi After Period of Time

What's the problem this feature will solve?
Removes confusion of incorrectly referring to an older release uploaded to TestPyPi when the intent was to refer to the current release on PyPi.
Describe the solution you'd like

Remove Python Packages from TestPyPi after a period of time.
TestPyPi alerts that a more recent Python Package is available on PyPi

Additional context

https://github.com/psf/requests/issues/6622
Decreases likelihood of a Software Supply Chain Attack.

There's plenty of discussion about test.pypi.org on discuss.python.org.
For example: https://discuss.python.org/t/test-pypi-org-is-marginally-unusable-if-my-explanation-is-correct/32830
The issue 'Draft release feature on main archive to allow testing a release before it goes live' would likely solve most of the problems with test pypi.

Removes confusion of incorrectly referring to an older release uploaded to TestPyPi when the intent was to refer to the current release on PyPi.

Making sure I understand: is this happening in your environment because you're using TestPyPI as an extra package index in a production environment?
If so: please consider not doing that! TestPyPI is not a suitable production index: there is no guarantee that project foo on PyPI is controlled by the same people on TestPyPI (or even that every PyPI user has a TestPyPI account). TestPyPI's primary functions are (1) to give projects a way to smoke-test their uploads, and (2) provide a basic staging environment for features that are still feature-flagged on PyPI itself.
To my knowledge, there is no official documentation encouraging people to use TestPyPI in this way. But if you found a source that suggests doing this, please let me know and I'll try and get it fixed.
TL;DR: TestPyPI may be removed at some point in the future, but in the mean time: absolutely do not rely on it as a package index. It is not intended to be a stable source of Python packages, has no retention guarantees, and (most importantly) does not share the same namespace and accounts as PyPI.


Update this repo to point to the new repo

We have had a few people confused trying to use this repository.  We should do what we can to make this repository either redirect to the new one automatically or at least have the default branch just have a README.md in it that points people to the new repository.

Add a note in the README by https://github.com/rapidsai/spark-examples/pull/89.


mark_new_version.sh can't get past precommits on release branch

Repro:
git checkout -b release-1.0 upstream/release-1.0
make clean && make
build/mark-new-version.sh v1.0.1

My output:
zml@zml:~/kubernetes$ build/mark-new-version.sh v1.0.1
+++ Versioning documentation and examples
+++ [0716 22:09:36] Building go targets for linux/amd64:
    cmd/gendocs
    cmd/genman
    cmd/genbashcomp
    cmd/mungedocs
+++ [0716 22:09:41] Placing binaries
etcd -data-dir /tmp/test-etcd.vVwj5N --bind-addr <IP_ADDRESS>:4001 >/dev/null 2>/dev/null
Waiting for etcd to come up.
+++ [0716 22:09:47] On try 1, etcd: :
{"action":"set","node":{"key":"/_test","value":"","modifiedIndex":3,"createdIndex":3}}
+++ [0716 22:09:48] Starting kube-apiserver
+++ [0716 22:09:49] On try 2, apiserver: : ok
+++ [0716 22:09:49] Updating
    build/../hack/../api/swagger-spec
+++ [0716 22:09:49] SUCCESS
+++ [0716 22:09:49] Clean up complete
Checking that it builds... OK

Checking for files that need gofmt... OK

Checking for files that need boilerplate... OK

Checking for API descriptions... OK

Checking for docs that need updating... OK

Checking for conversions that need updating... OK

Checking for deep-copies that need updating... OK

Checking for swagger spec that need updating... ERROR!
Swagger spec needs to be updated.
To regenerate the spec, run:
  hack/update-swagger-spec.sh

Aborting commit

cc @brendanburns

This came up today - we've been somewhat cavalier about committing to master and not cherrypicking docs.  But this is what happens.
I'll see what remidiation we have right now

Weirdly, if I run an empty amend, it runs all precommits and it passes for me.  But the first time I ran it, it failed.  But I can not repro it.

thockin@freakshow kubernetes diagnose-relbr-precommit /$ git log -1
commit c584c7c34a419623ff2849cc72c45ba868678e64
Merge: e0f1664 3461c21
Author: Zach Loafman<EMAIL_ADDRESS>Date:   Thu Jul 16 14:47:19 2015 -0700

    Merge pull request #11347 from nikhiljindal/automated-cherry-pick-of-#11258-upstream-release-1.0

    Automated cherry pick of #11258
thockin@freakshow kubernetes diagnose-relbr-precommit /$ git commit --amend
Checking that it builds... OK

Checking for files that need gofmt... OK

Checking for files that need boilerplate... OK

Checking for API descriptions... OK

Checking for docs that need updating... OK

Checking for conversions that need updating... OK

Checking for deep-copies that need updating... OK

Checking for swagger spec that need updating... OK

[diagnose-relbr-precommit 9432876] Merge pull request #11347 from nikhiljindal/automated-cherry-pick-of-#11258-upstream-release-1.0
 Author: Zach Loafman<EMAIL_ADDRESS> Date: Thu Jul 16 14:47:19 2015 -0700
thockin@freakshow kubernetes diagnose-relbr-precommit /$ git log -1
commit 9432876c13fce1486af3481c1b85aaed1dcf9a16
Merge: e0f1664 3461c21
Author: Zach Loafman<EMAIL_ADDRESS>Date:   Thu Jul 16 14:47:19 2015 -0700

    Merge pull request #11347 from nikhiljindal/automated-cherry-pick-of-#11258-upstream-release-1.0

    Automated cherry pick of #11258
thockin@freakshow kubernetes diagnose-relbr-precommit /$

Okay, after considerable debugging, this is some race condition in the swagger generation. I seriously questioned my sanity when I added this and it worked, but ...
diff --git a/hooks/pre-commit b/hooks/pre-commit
index 48965e4..3fb5147 100755
--- a/hooks/pre-commit
+++ b/hooks/pre-commit
@@ -8,6 +8,8 @@ KUBE_HOOKS_DIR="$(dirname "$(test -L "$0" && echo "$(dirname $0)/$(readlink "$0"

 exit_code=0

+sleep 1
+
 echo -ne "Checking that it builds... "
 if ! OUT=$("hack/build-go.sh" 2>&1); then
   echo

cc @nikhiljindal for inspiration as well.

My general suspicion is that we're somehow starting and leaving a stale 1.0.0 apiserver running and scraping that for its swagger, but I can't figure out when we ever even started one. In mark-new-version, we pretty much blast the new version out, then run hack/update-swagger-spec.sh. If there was a lingering apiserver, I'd expect it look like 1.0.1 on this repro, but on my desktop, when I get to the later verification stage, unless I add the sleep 1, it's a 1.0.0-ish looking server.

Who changes "releases.k8s.io/HEAD" in pkg/api/*/types.go?
We need to run hack/build-go.sh after replacing HEAD and before running hack/update-swagger-spec.sh

doesn't gendocs run buil-go for itself?
On Fri, Jul 17, 2015 at 11:39 AM, Nikhil Jindal<EMAIL_ADDRESS>wrote:

Who changes "releases.k8s.io/HEAD" in pkg/api/*/types.go?
We need to run hack/build-go.sh after replacing HEAD and before running
hack/update-swagger-spec.sh
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/issues/11432#issuecomment-122369741
.

Nikhil is on to the answer, he'll respond here
On Fri, Jul 17, 2015 at 11:47 AM, Tim Hockin<EMAIL_ADDRESS>wrote:

doesn't gendocs run buil-go for itself?
On Fri, Jul 17, 2015 at 11:39 AM, Nikhil Jindal<EMAIL_ADDRESS>wrote:

Who changes "releases.k8s.io/HEAD" in pkg/api/*/types.go?
We need to run hack/build-go.sh after replacing HEAD and before running
hack/update-swagger-spec.sh
—
Reply to this email directly or view it on GitHub
<
https://github.com/GoogleCloudPlatform/kubernetes/issues/11432#issuecomment-122369741
.

—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/issues/11432#issuecomment-122371132
.

run-gendocs does. update-swagger-spec does not.
I am sending a PR to fix update-swagger-spec to build apiserver first.

Sent https://github.com/GoogleCloudPlatform/kubernetes/pull/11462 for update-swagger-spec

Requesting cherrypicking the fix in https://github.com/GoogleCloudPlatform/kubernetes/pull/11463

Thanks, guys!


New Configuration Options, Use OJ for serialization / deserialization

Pr is very messy right now, started it in an internal hackathon - mostly leaving here for comment / so I stop ignoring it. Before something like this merges, it should

be split into multiple prs
be cleaned of dumb editor changes (" to ' is my vim config, but is not actually a good change)
be reviewed for design / features

Features added:

configure more about the way the snapshot is saved (configurable path, configurable extension)
read an env var to decide whether to save new snapshots or fail on a mismatch
load a snapshot from a name, (nominally, for use in other tests as a mock object, but I guess you could use it for other things too!)

I like this PR, please continue your work.

Some of this has been integrated into version 2.0.0.  Up to you if you want to rebase and work out the conflicts for the remainder


imgix breaks on live server

I get this error on a live site and the template stops rendering as soon as it calls imgix plugin. Local site does not see an issue
Parse error: syntax error, unexpected '?' in /xxxxxx/xxxxxx/xxxxxx/public_html/xxxxxx/plugins/imgix/models/ImgixModel.php on line 222

I assume you are running a lower version than PHP 7. The plugin uses some PHP 7 features, but I could probably replace them to make it compatible with PHP 5.4 >, even though end-of-life for PHP 5.6 is Jan 1st 2018.

oops... that was it, old server that I never updated the php on. Thanks.


Made some functions extern so they can be used by other plugins natively

As title said, this only copies some important arousal related functions and made them extern, so they can be called from other mods natively.
Main reason why I did it is that my mod Unforgiving Device needs accurate arousal calculation, which is updated on every frame (it is part of new orgasm system). For that reason, the papyrus event is not called by extern function. Instead modder have to decide when to call event so it doesnt clogg the engine.
I'm using this edit for long time and didn't found any issues yet. It was also tested by other users and they didn't encounter any issues either.
It is imported here: https://github.com/IHateMyKite/UnforgivingDevicesNative/blob/b2cac504c7e3a894a15e615a1aee934a157cc84a/src/OrgasmSystem/OrgasmManager.cpp#L16-L27
And used here: https://github.com/IHateMyKite/UnforgivingDevicesNative/blob/b2cac504c7e3a894a15e615a1aee934a157cc84a/src/OrgasmSystem/OrgasmData.cpp#L57

Just a note that i did include this in the 2.4.0 version (even though merged after, i had it locally when built)


Ask the Return date and Reason when user mark themselves OOO from my site

When the User clicks mark yourself as OOO then a small form will pop up where the user will need to enter the tentative return date and Reason. These two fields are mandatory to fill before changing the status to OOO.

i want to do this

@Akshitbhati I have assigned you the task. Please let me know the ETA. FYI The backend API is not yet ready. Also, can you let me know your rds discord name so that we can discuss the issue more?


[Event Request] Codeunit 23 Item Jnl.-Post Batch - HandleRecurringLine

In function HandleRecurringLine
Please Redesign the Publisher  OnHandleRecurringLineOnBeforeModify and set this publisher outside of If ... Then Begin
Or
Insert a new one...
 OnHandleRecurringLineOnBeforeModify(ItemJnlLine2);

END;
// ==> NEW
OnBeforeModifyItemJnlLine2(ItemJnlLine2);
// <== NEW
ItemJnlLine2.MODIFY;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


Computing the best possible F1 score from a tree with ground truth labels

Hi,
First off, wanted to say thank you for providing the code for this technique - it's incredibly cool as a concept, and it was fun reading through the paper and inspecting the code alongside it :)
I tested it on some toy datasets and tried creating flat clusters from the cluster tree using a distance threshold instead of specifying a value for K, and started to wonder if there was a way to compute the highest possible F1 score of pairwise precision/recall for a given tree. I came up with the code below which seems to work when the dataset satisfies separability and I get an F1 score of 1.0, but i'm not sure if it holds for more practical cases.
def compute_highest_possible_f1(root, collapsibles):
    ''' Collapses the tree at each collapsible node ordered by min distance,
    and computes the F1 score each time until no collapsible nodes are left

    Returns the max of all computed f1 scores - this is the highest possible f1
    score achievable for this tree
    '''
    f1_scores = []
    while len(collapsibles) > 0:
        # get the next collapsible node
        min_d, node = heappop(collapsibles)
        while not node.valid_collapse():
            try:
                min_d, node = heappop(collapsibles)
            except:
                # fresh out of collapsibles
                return root, f1_scores

        node.collapse()
        # compute f1 scores at each possible collapse point
        cluster_labels, gt_labels = get_clusters(root)
        f1_score = compute_f1_score(gt_labels, cluster_labels)
        f1_scores.append(f1_score)

        if node.parent and node.parent.valid_collapse():
            heappush(collapsibles, (node.parent.children_min_d, node.parent))
    return np.max(f1_scores)

def get_clusters(root):
    cluster_labels = []
    gt_labels = []
    idx = 0
    c_idx = 0
    flat_clusters = root.clusters()
    for c in flat_clusters:
        pts = [pt for l in c.leaves() for pt in l.pts]
        for pt in pts:
            cluster_labels.append(c_idx)
            gt_labels.append(pt[1])
        c_idx += 1
    return cluster_labels, gt_labels

If there's a part of your code somewhere that effectively does this and I've missed it, apologies!

Glad you like the algorithm!
WRT your code: I think your code will work (provably) for separated data. But, for non-separated data I don't think it will provably work since you're collapsing nodes by order of min_d, and by doing so, you're not actually computing the F-score of every tree consistent partition, but rather a subset. As written, it's not clear to me that the partitions you're skipping don't include the highest scoring partition (by F-score).
Also, I don't think we have something like this in the current repo.

Hi @avasbr,
I am also working on creating flat clusters from the cluster tree using a distance threshold. Could you provide your code for my reference (e.g.  toy dataset(separated multi gaussian clusters) testing)?

Hi @meteora9479,
In case it's helpful, the xcluster code is also able to pick a flat clustering from a Perch tree. Here is the beginning of the relevant python code (similar code exists in the Scala implementation): https://github.com/iesl/xcluster/blob/b08da9389523c745b0d223e3a2aed2c8bb422ec0/src/python/xcluster/eval/eval_dataset.py#L128

@meteora9479 sorry for the late response, i didn't do anything special - just used sklearn blobs, pretty much exactly like this: https://scikit-learn.org/stable/auto_examples/datasets/plot_random_dataset.html#sphx-glr-auto-examples-datasets-plot-random-dataset-py
@akobre01 that makes sense, thanks for taking a look at that. do you have any general recommendations for what strategy would work well with distance thresholds? in most real world applications, the distance threshold is more often the heuristic that is well known, e.g. distances between embeddings extracted from deep nets are well understood, whereas K is something that just comes out when a proper dist threshold is chosen.

@avasbr I'm not sure I understand your question. Are you asking for an approach to pick a distance threshold by which you will create a flat clustering? If so, will you threshold the diagonal of the bounding box stored at each PNode?  In any case, we've had some luck with tuning such a threshold on a development set, i.e., choose a small subset of data, build a tree, find the best threshold wrt flat clusterings in the small tree, then use the same threshold on the full dataset.

@akobre01 sorry for my lack of clarity; i meant more along the lines of if I had a distance threshold in hand (computed from a dev set, let's say), what strategy I would actually use in collapsing the tree down to flat clusters. For example, would it be reasonable to start at the root and traverse in a BFS style and collapse nodes if the stored min dist at that node exceeds the distance threshold?
The reason I ask is that I have several datasets of varying sizes (5 - 150K points of dimensionality 128 - it's a comp. vision application where i compute embeddings on images) that I have ground truth labels for, and they're quite separable; 0.99+ on F1 score even when using the simple strategy of adding points one by one and merging or creating clusters based on distance, but when I try PERCH on these sets with exact search and the min dist strategy i mentioned above, i'm not able to replicate these numbers so I'm fairly sure I'm not using the algorithm correctly.

@avasbr if you're working with the xcluster code, then you probably want to collapse the nodes with max distance less than the threshold. The remaining leaves, after collapsing, are the roots of your clusters.


[WIP] Replace Upload binary test

We don't always get consistent results with the current application being used for analysis. This has been reported in
Bug MTA-2606 .
So, I'm replacing the existing upload binary test with this PR. The new test uses the acmeair-webapp binary for analysis .
The same app is  used in the UI tests as well.

On MTA 7.0.3-25, I noticed that 'Effort' and 'Tags' show zero after successful analysis of binary applications .
I reported bug MTA-2821 yesterday so that issue could be addressed.

I continue to see inconsistent values for Effort, Tag count, Issue count, Dependency count between upstream and downstream builds.
I did the development and testing on d/s.
Additionally, I see inconsistent values when app analysis is done on UI and through API on d/s build.

Thanks @nachandr
Please move it to TIER2 for now

Results from PR tester run

I added a new TIER0 test and all the tier0 tests are passing
One of the TIER2 tests is failing because of bug MTA-2606 ,


UI: Monkey Patch Was Lost and Should Be Restored

In this commit:
https://github.com/aryn-ai/conversational-demo-js/commit/4f4f146e6332df1967bd99aa975934a970160eff
We added mokey.patch_all() to solve a problem we were having with the UI.
In this commit:
https://github.com/aryn-ai/demo-ui/commit/bb00fd28aa6c18b6611962aea44e550df4de2b6f
The important piece of code was commented out, apparently for stability reasons.
This documentation: https://www.gevent.org/api/gevent.monkey.html
indicates that a new import should not have been added above monkey.patch_all()
We should un-comment the code and move the import time down below.

Fixed by #359


Update the script

You might want to update the script to use the AAD v2 PowerShell module, and provide a more meaningful and reusable script.  Something like this:
$dateThreshhold = (Get-Date).AddDays(-90)
Get-AzureADDevice -All $true | Where-Object -FilterScript {$_.ApproximateLastLogonTimeStamp -lt $dateThreshhold} | Remove-AzureADDeletedApplication

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

ID: ad8e93b0-2d8b-68c0-62ee-be44831b1557
Version Independent ID: b55939f9-e552-9818-80b7-535601d4bc7b
Content: How to manage stale devices in Azure AD
Content Source: articles/active-directory/devices/manage-stale-devices.md
Service: active-directory
Sub-service: devices
GitHub Login: @MicrosoftGuyJFlo
Microsoft Alias: joflore

@poortom1004, Thank you for pointing this out. We are working on this and will update the doc and the script in a short while.

Sent to product team for feedback

#assign @spunukol

I agree, but i think it should be Get-AzureADDevice and not Remove-AzureADDeletedApplication

I believe the equivalent would actually be Remove-AzureADDevice, not Remove-AzureADDeletedApplication.
Unless there's a reason why we're doing that conversion.

#please-close thanks for your ideas we will try to incorporate them in to future updates.

#please-close thanks for your ideas we will try to incorporate them in to future updates.


Notion setup link is broken

https://nextjs-notion-blog-starter.vercel.app/blog/deploy-your-notion-blog-powered-by-nextjs-and-tailwind#notion-setup

This link doesn't work

@ajnart Nice catch! I fixed it in the blog and here is the template URL just in case 👉https://www.notion.so/6a05e6e596ac4bc6b591734f5c3d9850.
Let me then know how your blog is doing!


Use -c option when calling sphinx

We ask users to enter a path/to/conf.py file, but we only use the directory of this file (is used to set the cwd). We could use http://www.sphinx-doc.org/en/master/man/sphinx-build.html#cmdoption-sphinx-build-c

This is also helps to show the relative path more explicitly, right now the full path is hidden in the cwd of the command (not  visible from the build page). I mean, currently we show the relative path to the conf.py file instead of the repo root.


Add missing transitive peer dependencies

@luwes This fixes a dependency issue that was missed due to some rude npm flaws. There is no direct impact to the user, just to keep the codebase right.

@luwes Unrelated to this PR, my goal this week is to share a PR about the build infrastructure around TypeScript! It should probably fix all the problems from last time nicely!


Strange behaviour with function calling, out of order execution, incorrect debug output

The bug
When getting an LLM to run a function call with a variable, I get extremely strange behaviour.
The LLM should be calling "Switch Light" with value "basement light on"
When calling the tool, it appears that it instead passed the value "basement light off"
When I do a regex on it searching for on|off, it CLAIMS it finds the value 'on', which is obviously impossible.
However, it means that the state is correct, since it was intending to call with 'on'... also, the LLM prints the rest of the statements before the function has actually completed, which means its not waiting for the result of the function.
When calling the LLM with "basement light off", it functions properly, finds "off" from regex, and calls the correct endpoint.
To Reproduce
Give a full working code snippet that can be pasted into a notebook cell or python file. Make sure to include the LLM load step so we know which model you are using.
model.py

from auto_gptq import AutoGPTQForCausalLM
from transformers import AutoTokenizer
from pathlib import Path

model_dir = "/models"
model_name = "orca_mini_v2_7B-GPTQ"
path_to_model = Path(f'{model_dir}/{model_name}')

def load_quant():

    pt_path = None

    # Find the model checkpoint

    for ext in ['.safetensors', '.pt', '.bin']:
        found = list(path_to_model.glob(f"*{ext}"))
        if len(found) > 0:
            if len(found) > 1:
                print(
                    f'More than one {ext} model has been found. The last one will be selected. It could be wrong.')

            pt_path = found[-1]
            break

    if pt_path is None:
        print(
            "The model could not be loaded because its checkpoint file in .bin/.pt/.safetensors format could not be located.")
        return

    use_safetensors = pt_path.suffix == '.safetensors'

    # Define the params for AutoGPTQForCausalLM.from_quantized
    params = {
        'model_basename': pt_path.stem,
        'device': "cuda:0",
        'use_safetensors': use_safetensors,
    }
    model = AutoGPTQForCausalLM.from_quantized(path_to_model, **params)

    print('Loaded quants.')

    return model

def load_model_main():
    model = load_quant()
    tokenizer = AutoTokenizer.from_pretrained(path_to_model)
    return model, tokenizer

tools.py
from requests import post
import re

TOKEN = "TOKEN"

def load_tools():

    def control_light(key_word):
        print(f"keyword is {key_word}")
        device = re.search(r'^([\w\s]+) light.*', key_word)
        if device:
            device_name = device.group(1).replace(" ", "_")
        else:
            print(f"device not found in {key_word}")
            return
        state = re.search(r'.*(on|off).*$', key_word)
        if state:
            print(f"State {state.group(1)} found in {key_word}")
            device_state = state.group(1)
        else:
            print(f"state not found in {key_word}")
            return
        url = f"http://MY_IP/api/services/light/turn_{device_state}"

        headers = {"Authorization": f"Bearer {TOKEN}"}
        data = {"entity_id": f"light.{device_name}_light"}

        print(f"url {url}, {headers} headers, json {data}")

        response = post(url, headers=headers, json=data)

        print(response.text)

        if len(response.text) < 4:
            return "Success"
        else:
            return "Failure"

    dict_tools = {
        'Switch Light': control_light
    }
    return dict_tools

main.py
import time
import guidance
from model import load_model_main
from tools import load_tools

model, tokenizer = load_model_main()
llama = guidance.llms.Transformers(
    model=model, tokenizer=tokenizer, device=0, caching=False)
guidance.llm = llama

dict_tools = load_tools()

valid_answers = ['Action', 'Final Answer']
valid_tools = ['Switch Light']

def do_tool(tool_name, actInput):
    print(f"Call tool {tool_name} {actInput}")
    return dict_tools[tool_name](actInput)

control_home = guidance("""Below is an instruction that describes a task in a smart home, paired with an input that provides further context including the name of the entity and the action to take. Perform an action to complete the task and report the results.

### Instruction:
Answer the following instruction as best you can. You have access to the following tools:

Switch Light: A wrapper to allow control of a light in the house. Useful when asked to turn on or off a light.

Strictly use the following format:

Task: the input task you must complete
Thought: you should always think about what to do
Action: the action to take, should be one of [Switch Light]
Action Input: the input to the action, the name of the entity converted to ID, and the action to take on it.
Observation: the result of the action
Thought: The action completed and I can report the result
Final Answer: the result of the action taken

For examples:
Task: Turn on the bedroom light
Thought: I need to switch the bedroom light to on.
Action: Switch Light
Action Input: bedroom light on
Observation: Success.
Final Answer: I have switched on the bedroom light.

Task: Turn off the kitchen light
Thought: I need to switch the kitchen light to off.
Action: Switch Light
Action Input: kitchen light off
Observation: Success.
Final Answer: I have switched off the kitchen light.

### Input:
{{task}}

### Response:
Task: {{task}}
Thought: {{gen 't1' stop='\\n'}}
Action: {{select 'tool_name' options=valid_tools}}
Action Input: {{gen 'actInput' stop='\\n'}}
Observation: {{do_tool tool_name actInput}}
Final Answer: {{gen 'fn' stop='\\n'}}
""")

print("turning on light")
out = control_home(do_tool=do_tool,
                  valid_tools=valid_tools, task="turn on the basement light")

print("done")
time.sleep(10)
print("turning off light")

out = control_home(do_tool=do_tool,
                   valid_tools=valid_tools, task="turn off the basement light please")

I see the following output:
turning on light
Call tool Switch Light basement light off
Observation: Failure.
Final Answer: I was unable to turn on the basement light.
keyword is basement light off
Observation: Failure.
Final Answer: I was unable to turn on the basement light.
State on found in basement light off
Observation: Failure.
Final Answer: I was unable to turn on the basement light.
url http://MY_IP/api/services/light/turn_on, {'Authorization': 'Bearer TOKEN'} headers, json {'entity_id': 'light.basement_light'}
[]
done
turning off light
Call tool Switch Light basement light off
Observation: Success.
Final Answer: I have switched off the basement light.
keyword is basement light off
Observation: Success.
Final Answer: I have switched off the basement light.
State off found in basement light off
Observation: Success.
Final Answer: I have switched off the basement light.
url http://MY_IP/api/services/light/turn_off, {'Authorization': 'Bearer TOKEN'} headers, json {'entity_id': 'light.basement_light'}
[]
As you can see, it's properly calling the endpoint turn_on when I asked it to turn the light on, however I have no idea why, according to the debugging print statements I added it should NOT have found 'on', and yet it does and works. Is there some strange race condition I'm not considering?
System info (please complete the following information):

OS (e.g. Ubuntu, Windows 11, Mac OS, etc.): Ubuntu 22.04
Guidance Version (guidance.__version__): 0.0.64

Hmm.. It seems I wans missing the final "thought" and adding that actually seems to have fixed it, so.. resolved? It's weirdly slow for making calls but that's a different problem for a different time


Add and use common resultMessage()

When I approved and merged PR #149 for check_file_exists I missed that the result message is in a different format than the other checks. To help with future reviews and contributors, I created a resultMessage() function that outputs a string in the standard message format. Reviewers just need to make sure resultMessage() is used and contributors don't need to check how the output message should be formatted. The contributor simply needs to use resultMessage() and the rest is taken care of for them. I've also added standard consts for the OK, WARNING, CRITICAL and UNKNOWN status in an attempt to standardize them.
const (
	statusTextOK       = "OK"
	statusTextWarning  = "WARNING"
	statusTextCritical = "CRITICAL"
	statusTextUnknown  = "UNKNOWN"
)

The resultMessage() function checks these status text strings and fails if it doesn't match one of them. It can take a variable number of arguments, from 2 to 4 depending on what the caller wishes to provide. Examples are:
resultMessage("CheckName", "OK")
CheckName OK

resultMessage("CheckName", "OK", "Description")
CheckName OK - Description

resultMessage("CheckName", "OK", "Description", "Nagios Output")
CheckName OK - Description | Nagis Output

An error is returned on not enough arguments, two many arguments, or invalid status text
For this PR I've modified the following checks to use resultMessage()

check_file_exists
check_process
check_service
check_user_group

Because of outstanding pull requests, I'm delaying modifying check_http and check_memory until those PRs are merged.

Codecov Report

Merging #161 into master will increase coverage by 0.86%.
The diff coverage is 100%.

@@            Coverage Diff            @@
##           master    #161      +/-   ##
=========================================
+ Coverage   82.54%   83.4%   +0.86%
=========================================
  Files          19      20       +1
  Lines         653     687      +34
=========================================
+ Hits          539     573      +34
  Misses        111     111
  Partials        3       3

Impacted Files
Coverage Δ

lib/app/nagiosfoundation/check_file_exists.go
100% <100%> (ø)
:arrow_up:

lib/app/nagiosfoundation/check_process.go
84.9% <100%> (+0.14%)
:arrow_up:

lib/app/nagiosfoundation/resultmessage.go
100% <100%> (ø)

lib/app/nagiosfoundation/check_user_group.go
87.01% <100%> (+2.16%)
:arrow_up:

lib/app/nagiosfoundation/check_cpu.go
88.88% <100%> (ø)
:arrow_up:

lib/app/nagiosfoundation/servicestatus.go
97.5% <100%> (+0.03%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update d7400ec...55c1c20. Read the comment docs.


Load chart is screwed up for week-view

In this LES the load chart looks like this:

"Could you please include the steps you took in to reproducing this bug."
Just kidding, because I think I know how this might happen though. I need to clear the brush from localStorage... I'll fix it asap.

I'll fix it asap

:+1:


pypi2nix - cannot import nix_prefetch_github

Describe the bug
Traceback (most recent call last):
  File "/nix/store/bjj873dgwsnmj1fav012fqxzia4r46in-pypi2nix-2.0.4/bin/.pypi2nix-wrapped", line 6, in <module>
    from pypi2nix.cli import main
  File "/nix/store/bjj873dgwsnmj1fav012fqxzia4r46in-pypi2nix-2.0.4/lib/python3.10/site-packages/pypi2nix/cli.py", line 8, in <module>
    from pypi2nix.configuration import ApplicationConfiguration
  File "/nix/store/bjj873dgwsnmj1fav012fqxzia4r46in-pypi2nix-2.0.4/lib/python3.10/site-packages/pypi2nix/configuration.py", line 8, in <module>
    from pypi2nix.overrides import Overrides
  File "/nix/store/bjj873dgwsnmj1fav012fqxzia4r46in-pypi2nix-2.0.4/lib/python3.10/site-packages/pypi2nix/overrides.py", line 15, in <module>
    from .utils import cmd
  File "/nix/store/bjj873dgwsnmj1fav012fqxzia4r46in-pypi2nix-2.0.4/lib/python3.10/site-packages/pypi2nix/utils.py", line 12, in <module>
    from nix_prefetch_github import nix_prefetch_github
ImportError: cannot import name 'nix_prefetch_github' from 'nix_prefetch_github' (/nix/store/xff0lap7m8d9qddck5rhv21k8irvhw9n-python3.10-nix-prefetch-github-6.0.1/lib/python3.10/site-packages/nix_prefetch_github/__init__.py)

Steps To Reproduce
Steps to reproduce the behavior:

Run pypi2nix

Expected behavior
Command should execute without an error
Notify maintainers
None?
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
 - system: `"x86_64-linux"`
 - host os: `Linux 6.3.1-zen1, NixOS, 23.11 (Tapir), 23.11pre488860.e10802309bf`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.13.3`
 - channels(root): `"nixos, nixos-hardware"`
 - channels(mble): `""`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

#235631


Fix compilation on M1 Mac

Why are there two different commits with the same title?
Which of these changes are related to M1 fixes (I suspect version bumps) and which are independent?

Squashed them into 1. Have no idea how they became separated :)
Yes -  the M1 fix is room version bump. Other changes we have to do in order to make it again compilable and tests passable


Missing documentation for mtu api

Hi,
I am missing documentation on the functionality of SSL_set_mtu, DTLS_set_link_mtu, DTLS_get_link_min_mtu. Do you know if they have been documented earlier?
Regards,
Frederik

Nope, these functions haven't been documented yet.

All three of those exist in the lists of known undocumented functions and macros:
https://github.com/openssl/openssl/blob/06a0d40322e96dbba816b35f82226871f635ec5a/util/missingmacro.txt#L123-L125


Cannot import ramda in the browser with native modules

index.html
<script src="index.js" type="module"></script>
index.js
import R from './node_modules/ramda/es/index.js';
console
GET http://ramda-playground.test/node_modules/ramda/es/F net::ERR_ABORTED 404 (Not Found)...
I installed ramda with npm. The problem may caused by all the js files imported not ended with .js in node_modules/ramda/es/

Thank you for the report.  We'll look into it.
I haven't yet tried modules in the browser.  Is there a reason that you would want to include the entire library this way?  I would assume that the usual process would be to import those functions you want.  That doesn't mean that I don't think we should fix this if we can, but is what you're doing considered usual?

@CrossEye Also have tried import functions dynamically, like import {replace, __} from './node_modules/ramda/es/index.js'; but still showing the same error.
I think modules in the browser getting more and more popular these days since all the modern browser has supported native modules, and I also have tried same thing in loadsh which is running well.
<script type="module">   import cloneDeep from 'https://unpkg.com/lodash-es/cloneDeep' </script>


Fixed getNewRange function

getNewRange was returning the wrong result when comparing two different dates since they had different object references.
I'm using current utility functions to do better date comparison.
This change fixes the way we can use polaris Datepickers.
Here is a PR that has a broken behaviour when using current polaris Datepicker: https://github.com/Shopify/web/pull/8192

Can you please update the changelog before 🚢.
Forgot to leave that in my approval comment 😓

Oh shoe, sorry! I'll update that right away!

https://github.com/Shopify/javascript-utilities/pull/43 🎉


4.2.0 IO Uring no aarch64 classifier

4.2.0.Alpha1 there's no aarch64 classifier, but there's x86_64 though.

Should been fixed by https://github.com/netty/netty/issues/14121


Concept of a cohort or group label

In chatting with @jahilton I became curious if we should consider applying a label for grouping data sets. This would give an interesting perspective for tracking datasets and seeing shared pain points.
For instance, we could label three datasets as the preview, some as the 16 available during the soft launch or CBeta, and some as Barcelona incentives.
@pnejad @cjvillar @willrockout any objections?

Sounds useful.

@claymfischer This sounds like a helpful label to add! But where would this be added? To Github tickets, tuatara or the metadata?

I think this would be best in Tuatara @pnejad.

This is implemented on the development branch now. Theres a new 'x tag'  table that I populated with 'preview', 'soft launch' and 'Barcelona incentives.'  There's a tags field in the project table that appears in the overall section now.'

Excellent! Thank you, Jim.


Define error values for missing x5c header and unsupported elliptic curves

Most of the errors in the shared source have a dedicated error value
except for a couple that got away:

x5c header missing in the JWT header
An unsupported/unknown elliptic curve is found

This commit defines the error values for those cases.
This would be helpful to https://github.com/distribution/distribution project when discriminating between different errors during token validation.

@mcpherrinm @mitar you folks mind having a look at this? It would help us with the next release of distribution (aka registry). Sorry for bugging you like this - as a maintainer of a large project I know how annoying these pings are 😇

No problem. This looks fine by me, but I’m on vacation for a few days so will get somebody else to take a second look and merge. Do you need a tagged version after this merges?

Merged and tagged: https://github.com/go-jose/go-jose/releases/tag/v4.0.2


Doc #3139: Clarify LB, checkpoint docs

Clarifies almost all of #3139:

The Metabalancer question is too far out of my wheelhouse, I'll punt that to @kavithachandrasekar (#3244).
The manual mode questions were skipped because we're removing manual mode; AtSync mode should be able to replace it without any loss of functionality.

Note that this depends on several of the outstanding LB PRs (#3241, #3216, #3213).

Feedback from @nilsdeppe @moxcodes @fmahebert would be appreciated here.

Feedback from @nilsdeppe @moxcodes @fmahebert would be appreciated here.

I'm happy to look, but might not be able to make time until later next week, if that's okay

I'm happy to look, but might not be able to make time until later next week, if that's okay

Thank you @rbuch for adding this documentation, it is much clearer! I have a just few small comments.
Do I understand correctly from the removal of any mention of manual load-balancing that it will simply not be supported?

Yes, the erstwhile manual load balancing mode will not be supported, mostly because it seemed to us that it wasn't offering any additional functionality compared to our bread and butter AtSync mode.

Thank you @rbuch for adding this documentation, it is much clearer! I have a just few small comments.
Do I understand correctly from the removal of any mention of manual load-balancing that it will simply not be supported?

Yes, the erstwhile manual load balancing mode will not be supported, mostly because it seemed to us that it wasn't offering any additional functionality compared to our bread and butter AtSync mode.

Updates in new commit look good to me; thanks again @rbuch

Updates in new commit look good to me; thanks again @rbuch

Agreed -- the new additions look good to me. Thanks for putting in all of these documentation improvements!

Agreed -- the new additions look good to me. Thanks for putting in all of these documentation improvements!

@rbuch Is there a way to see the updated doc on readthedocs?

@rbuch Is there a way to see the updated doc on readthedocs?

Rendered HTML is here: https://charm.readthedocs.io/en/ronak-lb-doc-clarifications/


[WIP] REVERSE string e2e tests

This PR:

Adds two parquet files for REVERSE string tests in https://github.com/BlazingDB/blazingsql/pull/1205

Closing in favor of a new PR


How to start a commission from sharing device without input wifi account and password.

Reproduction steps
1、You commissioned  a matter device using  Apple Home.app, then you click the button "turn on pairing mode" to share the device  and get a pairing code A.
2、You developed a home app named urHome.app,  you call the api "MTRDeviceContrller pairDevice:(uint64_t)deviceID onboardingPayload:(NSString *)onboardingPayload" using the paring code A you got from Apple Home. After a while , you should prompt up an alertView to get the wifi ssid and password to go on commissioning. This procedure is unreasonable as it's shared from a commissioned app.
3、then you call the api "MTRDeviceController pairDevice:(uint64_t)deviceID discriminator:(uint16_t)discriminator   setupPINCode:", to avoid inputing wifi ssid and password. but the question is that,  you use the api "MTRManualSetupPayloadParser populatePayload", you won't get a correct discriminator from the paing code A, so you can't go on commissioning.
So how to get a correct discriminator, or how to start a commission from sharing device without input wifi ssid and password. can anyone help me?
Bug prevalence
always
GitHub hash of the SDK that was being used
iOS 16.2 system Matter.framework
Platform
darwin
Platform Version(s)
1.0
Anything else?
No response

After a while , you should prompt up an alertView to get the wifi ssid and password to go on commissioning.

There's nothing in Matter.framework itself that puts up such an alertView.

After a while , you should prompt up an alertView to get the wifi ssid and password to go on commissioning.

There's nothing in Matter.framework itself that puts up such an alertView.

Yes , this is a 11-digit numeric code produced by  "open paring window", and I found that I can parsed out a normal discriminator (as well as vendorId and productId) from it. The discriminator I got is "15", which seems to be a short discrimunator.
the alertView is put up by me, because the next commission step requires the wifi ssid and password, and I can't get a correct discriminator from paring code A

The discriminator I got is "15", which seems to be a short discrimunator.

15 could be a long discriminator value too.  But a numeric code always has a short discriminator, so you do in fact have a short discriminator.

because the next commission step requires the wifi ssid and password

Why does it require that if the device is already on-network?

and I can't get a correct discriminator from paring code A

What is "not correct" about the short discriminator?  The short discriminator will let you discover all devices that match that short discriminator, just like a long discriminator would let you discover all devices that match it.  There might be more things that match the short discriminator, because it has fewer possible values so the chance of collision is higher, but apart from that....
I guess what I don't understand is what you are doing exactly.     If you are using the version of Matter.framework in 16.2, the simplest thing is to use:
    - (BOOL)pairDevice:(uint64_t)deviceID
        onboardingPayload:(NSString *)onboardingPayload
                    error:(NSError * __autoreleasing *)error;

and just pass in the A that you got.  This will do the discovery, etc.  Then when your MTRDevicePairingDelegate is notified onPairingComplete without an error, you use:
   - (BOOL)commissionDevice:(uint64_t)deviceId
        commissioningParams:(MTRCommissioningParameters *)commissioningParams
                      error:(NSError * __autoreleasing *)error;

and just don't specify any network credentials in the MTRCommissioningParameters, since the device is already on the network.
At no point in that do you need to parse out discriminators, etc.

It works for me that "just don't specify any network credentials in the MTRCommissioningParameters",  I can pair the device from a device which is already on the network now. But the other question is that , how to judge "the device is already on the network ", which api can help? I should consider in which situation, I must specify the network  credentials in the MTRCommissioningParameters and which is not.

@MissionaryHGQ If you use MatterSupport, the device will already be on the network.

do you mean that the Matter.framework have not api to confirm the device (which  the device paring  from a mannual code.) is a new one  or  already on the work？

@MissionaryHGQ Once you have set up the PASE session, there is sessionTransportType available on the MTRBaseDevice, starting in iOS 16.4.
But again: the only current way to commission devices that are not already on the network is to use MatterSupport.framework to bring them onto the network, open a commissioning window, and get a setup payload, and then use Matter.framework to commission them.

I have studied MatterSupport.framework before for many weeks, but sufferd many unknown error.
such as , "HMErrorDomain error 2" after "commissioned complete successfully",  Xcode throw out an error "device.setup.manager Failed to perform Matter device setup setup: Error Domain=HMErrorDomain Code=2 "(null)) .
and the Matter Extension has not invoked any funtion durning the whole process.
So finally I couldn't even pair successful.
Finally,  I used Matter.frawork and it worked!.
So is there any demo or document about MatterSupport.framework for the time being?

@MissionaryHGQ Once you have set up the PASE session, there is sessionTransportType available on the MTRBaseDevice, starting in iOS 16.4.
But again: the only current way to commission devices that are not already on the network is to use MatterSupport.framework to bring them onto the network, open a commissioning window, and get a setup payload, and then use Matter.framework to commission them.

I am nowing using MatterSupport.framework to pair new device now.  The pair procedure is very smoothly. And from my device log, I see logs such as "received sigmal3 msg"， ”commissioning completed successfully“, "received command to open commissioning window", "commissioning window is now open".
It seems that the commissioning is successful, but finally my iPhone prompt an error alertView "Unable to Pair, Home couldn't connect to this accessary". And the MatterExtension didn't receive any logs I write in. Is there any special setup about MatterExtension or any other works I should do , can you help me ? I have  confused about it for several months.

@MissionaryHGQ I don't know what's going on there.  If you get "commissioning window is now open" I would expect you to get a setup payload that you can then use with Matter.framework to commission the device into your fabric.  Are you getting a payload?

not, I can't get a payload.  "open commissioning window" is automatically invoked after I called the MatterSupported API "MatterAddDeviceRequest()", And I can't get the setup payload because It didn't have any callback during the commissioning.  The application extension class "MatterAddDeviceExtensionRequestHandler" didn't give me any callback too. I didn't know  in which time the commissioning is completed as not receive any callback during the commissioning.

I am just wondering that whether I have used the application extension "MatterExtension" correctly.
I just add an matter extension target, then config the bunleID and do noting.
is there any special setup about it ?
as the matter extension didn't show any invoke log,  so I wonder about i t.

@MissionaryHGQ I'm hoping there will be better documentation for MatterSupport in the near future, but in the meantime if you attach your code that uses MatterSupport here I might be able to ask people to look at it and see if anything jumps out at them.

I have commited  a feedback attached my code to  feedbackassistant.apple.com and the feedback id is "FB12086187",  nobody response to me yet.
I think it may be the question of communication  between the  MatterSupport.frawework's  application extention with my main application,  but I don't how to use it correctly.

my code is simple as below:
` func performMatterRequest(
ecosystemName: String = "Magenta Fabric",
homeName: String = "My Home", payload: MTRSetupPayload? = nil) async {
        let magentaHome = MatterAddDeviceRequest.Home(displayName: homeName)
        let topology = MatterAddDeviceRequest.Topology(
            ecosystemName: ecosystemName,
            homes: [magentaHome])
        let request = MatterAddDeviceRequest(
            topology: topology,
            setupPayload: payload)
        do {
            try await request.perform()
        } catch {
            self.error = error
            logger.error("\(error.localizedDescription)")
            showingAlert = true
        }
    }`

error log:
[device.setup.manager] [E3523A78-042A-4A85-9746-87F80652EE94] Failed to perform Matter device setup setup: Error Domain=HMErrorDomain Code=23 "(null)"
2023-03-31 18:39:50.803882+0800 LuffyPocTestProject[5577:769393] [app] The operation couldn’t be completed. (HMErrorDomain error 23.)
2023-03-31 18:40:12.283989+0800 LuffyPocTestProject[5577:769402] [xpc.server.proxy] [D62DACD9-FBAF-4E27-9A5B-22CF45B11852] Failed to obtain remote object proxy for performDeviceSetupUsingRequest: Error Domain=NSCocoaErrorDomain Code=4097 "connection to service named com.apple.matter.support.xpc" UserInfo={NSDebugDescription=connection to service named com.apple.matter.support.xpc}
2023-03-31 18:40:12.284221+0800 LuffyPocTestProject[5577:769402] [device.setup.manager] [CDDB17EA-6FCB-4419-B94C-0370DEFA5AE7] Failed to perform Matter device setup setup: Error Domain=NSCocoaErrorDomain Code=4097 "connection to service named com.apple.matter.support.xpc" UserInfo={NSDebugDescription=connection to service named com.apple.matter.support.xpc}
2023-03-31 18:40:12.287937+0800 LuffyPocTestProject[5577:769700] [app] Couldn’t communicate with a helper application.

@MissionaryHGQ: Which matter accessory are you using to commission and are you using Apple matter controller for commissioning?

@bzbarsky-apple could you please expand a bit on the commissioning flow you hinted at below?

But again: the only current way to commission devices that are not already on the network is to use MatterSupport.framework to bring them onto the network, open a commissioning window, and get a setup payload, and then use Matter.framework to commission them.

We are trying to build our app for production and we just found out that we need to use MatterSupport for commissioning.
When we used the methods noted here, the device was commissioned successfully, however, like what @MissionaryHGQ  said, there aren't any callbacks returning the payload or the device info in our case.

@edWin-m @MissionaryHGQ Are you subclassing MatterAddDeviceExtensionRequestHandler in your application as described in https://developer.apple.com/documentation/mattersupport/matteradddeviceextensionrequesthandler ?

@edWin-m @MissionaryHGQ Are you subclassing MatterAddDeviceExtensionRequestHandler in your application as described in https://developer.apple.com/documentation/mattersupport/matteradddeviceextensionrequesthandler ?

sure, I did.

@bzbarsky-apple same here

@MissionaryHGQ @edWin-m And your subclass's commissionDevice is not being called?

@bzbarsky-apple we have a slight issue with logging and breakpoints in MatterAddDeviceExtensionRequestHandler. Somehow they are not effective. Thus we can't tell for sure that the 'commissionDevice' is being called.
However, some changes we made in the subclass's rooms(in home: MatterAddDeviceRequest.Home?) were picked up by the UI.  Furthermore,  from the device logs, we can tell that the commissioning window was opened successfully.

@bzbarsky-apple It's being called.

@edWin-m OK, so if your commissionDevice is being called, then it's handled a setup payload that you can use to commission the device into your fabric, no?

@bzbarsky-apple We got the onboarding payload. Now we are working on the commissioning of the devices into our fabric. Thanks for the assistance.

did your commission with mattersupport.framework work well before iOS16.5?

did your commission with mattersupport.framework work well before iOS16.5?

@MissionaryHGQ We never tested it on the previous versions.  We just started with iOS16.5.  Is commissioning failing on the previous versions?

did your commission with mattersupport.framework work well before iOS16.5?

@MissionaryHGQ We never tested it on the previous versions. We just started with iOS16.5. Is commissioning failing on the previous versions?

yes, commission before iOS16.5 is always unstable in my case. you may try and share me your result.

@MissionaryHGQ We have tested this on iOS16.4, and we haven't encountered anything out of the ordinary. Commissioning on both versions appears to have the same success rate.

@MissionaryHGQ We have tested this on iOS16.4, and we haven't encountered anything out of the ordinary. Commissioning on both versions appears to have the same success rate.

you may repeat trying to remove and pair device again,  the commision may become unstable.
btw,  which beta version of iOS16.5 are you using?

That said, for Matter Support or Home issues, please file a feedback assistant ticket on Home as follows:
Feedback assistant ticket:

File a feedback assistant ticket.
https://developer.apple.com/bug-reporting/#feedback-assistant
Click on the link below using your account:
https://feedbackassistant.apple.com/new-form-response
Choose iOS/iPadOS to file an issue
Choose the area as Home App and fill in the details of the type of issue and the description

Technical Information
Please provide the following
a) Sysdiagnose logs for iPhone / iPad with the timestamp / timeframe of the issue
b) Sysdiagnose logs for all the Home Hubs (HomePod mini / HomePod / Apple TV) with the timestamp / timeframe of the issue
c) Accessory logs with the timestamp / timeframe of the issue
d) mDNS network logs with timestamp / timeframe of the issue
e) Video or screenshot describing the issue (optional but beneficial)
Please make sure you download and install the profiles for iOS and tvOS as provided here. The instructions are also in these links.
iOS:

https://developer.apple.com/bug-reporting/profiles-and-logs/?platform=ios&name=homekit
https://developer.apple.com/bug-reporting/profiles-and-logs/?platform=ios&name=network
https://developer.apple.com/bug-reporting/profiles-and-logs/?platform=ios&name=mdns

tvOS:

https://developer.apple.com/bug-reporting/profiles-and-logs/?platform=tvos&name=homekit
https://developer.apple.com/bug-reporting/profiles-and-logs/?platform=tvos&name=network
https://developer.apple.com/bug-reporting/profiles-and-logs/?platform=tvos&name=mdns
For installation instructions, refer to https://developer.apple.com/bug-reporting/profiles-and-logs.
Note: Once you have the profile on the iPhone, it will ask you if you want to install it on other devices. Follow the prompts to install on the HomePod, Apple TV, etc., where you have the described issue and reproduce it.

@bzbarsky-apple
Hi
I have onboarded matter accessory using matterSupport and Commissioned it on iPhone using Matter iOS SDK API's
Now Again I want to pen pairing window to other admin from my app?
no clue how to open it
trying https://developer.apple.com/documentation/matter/mtrbasedevice/4226882-opencommissioningwindow?changes=_6_7_5
openCommissioningWindow(withDiscriminator:duration:queue:completion:)
But how to call this method
or How to get my paired Accessory , using Matter iOS SDK

But how to call this method

Well, you need an MTRBaseDevice, right?  You presumably have a controller for the relevant fabric and know the accessory's node ID, right?  In that case, https://developer.apple.com/documentation/matter/mtrbasedevice/4120565-devicewithnodeid?changes=_6_7_5&language=objc to create the device ([MTRBaseDevice deviceWithNodeID:whatever controller:something]) and then call the method.

@bzbarsky-apple
Ok, I'll try this but, to to open CommissioningWindow
we required below params, setupPasscode, discriminator, from where is can fetch ?
func openCommissioningWindow(
withSetupPasscode setupPasscode:
discriminator:
duration:
queue:
completion:
)

@bzbarsky-apple
got through with this ([MTRBaseDevice deviceWithNodeID:whatever controller:something])
I am getting object of MTRBaseDevice
But when try to openCommissioningWindow with random setupPasscode & discriminator
getting Transaction time out...

@bzbarsky-apple
trying to read all attributes of the connected device get error (passing nil in all param of wildcard*)
https://developer.apple.com/documentation/matter/mtrbasedevice/4120567-readattributes?changes=_6_7_5
Error is
Mdns: Resolve failure (KDNSServiceErr_timeout)
chip error 0*000000032: Timeout

we required below params, setupPasscode, discriminator, from where is can fetch ?

You get to pick them.  Random generation is fine, as long as it follows the rules for these things in the spec.  MTRSetupPayload has a generateRandomSetupPasscode class method for doing that for the passcode, since the rules are not trivial.  Discriminator can be any value 0-4095.

Mdns: Resolve failure (KDNSServiceErr_timeout)

Did you use the right node id?  What does dns-sd -B _matter._tcp show before you try to do the operational resolve?  What node ID are you passing to deviceWithNodeID:?

@bzbarsky-apple
I am passing same device  which I have used in setup commissioning session
with that node id I am creating MTRBaseDevice
on that trying to call open pairing window
or read attributes
but it say Mdns: Resolve failure (KDNSServiceErr_timeout)

12:54:43.100  ...STARTING...
Timestamp     A/R    Flags  if Domain               Service Type         Instance Name
12:54:43.101  Add        3  15 local.               _matter._tcp.        93E7D599F41DC1DB-00000000749E482F
12:54:43.101  Add        2  15 local.               _matter._tcp.        E13D03B5DD7EB17D-0000000000000001

12:54:43.101 Add 3 15 local. _matter._tcp. 93E7D599F41DC1DB-00000000749E482F
12:54:43.101 Add 2 15 local. _matter._tcp. E13D03B5DD7EB17D-0000000000000001

OK, and what was the numeric value of the node ID you passed to openCommissioningWindow in that exact situation?
At some point here, the right answer is for you to file a feedback assistant ticket, capture the relevant logs on the phone and attach them there, and let me know what the feedback assistant issue id is....  Because I can't just keep guessing at what you are doing, especially if you won't tell me.

12:54:43.101 Add 3 15 local. _matter._tcp. 93E7D599F41DC1DB-00000000749E482F
12:54:43.101 Add 2 15 local. _matter._tcp. E13D03B5DD7EB17D-0000000000000001

OK, and what was the numeric value of the node ID you passed to openCommissioningWindow in that exact situation?
At some point here, the right answer is for you to file a feedback assistant ticket, capture the relevant logs on the phone and attach them there, and let me know what the feedback assistant issue id is.... Because I can't just keep guessing at what you are doing, especially if you won't tell me.

@bzbarsky-apple
NodeId used is 1

eedback assistant ticket
@bzbarsky-apple
Created new Ticket, added code also
https://github.com/project-chip/connectedhomeip/issues/28568

@Nishant0585 I'll follow up there, but I was talking about a feedback assistant ticket, not a github issue....

@bzbarsky-apple It's being called.

how do you get the methods in RequestHandler being called, does it have to do anything with beginRequest(with context: NEExtensionContext)?

@edWin-m @MissionaryHGQ I have followed https://developer.apple.com/documentation/mattersupport/matteradddeviceextensionrequesthandler But it seems like didn't work for me. The matter extension cann't be launched. And the subclass's function not be called. Is matter extension the right way to subclass 'MatterAddDeviceExtensionRequestHandler' ?
It will be appreciate if you could share about your experience about subclassing the RequestHandler. Thank you very much.

@eling22
Yes. Matter extension is the right way to subclass the request handler. This request handler is launched whenever MatterAddDeviceRequest.perform() is executed. However, since it is an extension (not the app), you cannot see the debug print in Xcode. You have to use Logger and see the debug print in Console app on your Mac.

@qawitherev i have the same situation: RequestHandles extenstion is not called. Have you found a solution ?

@bzbarsky-apple It's being called.

@edWin-m how do you get the methods in RequestHandler being called, does it have to do anything with beginRequest(with context: NEExtensionContext)?
nvm, got it, we can't see the log using print as it is an extension, not the app itself 😷

I had the same problem, and solved in this way:

in your app etitlements set: Matter Allow Setup Payload = YES
in your extension use: os_log(.default, "your message")   don't forget import OSLog
use console app to see log messages

Hi @bzbarsky-apple
I am using matter support framework
I want device already on the network, should not display in more option,
MatterAddDeviceRequest.addrequest
how to utilize showDeviceCriteria
what value will be passed when I set showDeviceCriteria  .not(.......) ?

@Nishant0585 I don't know offhand, sorry....

@Nishant0585 I have been trying to find the answer to your question, but I realized I am not quite sure what you are asking.  What do you mean by "only those in more option which is not paired(like apple home)"?

Matter Commission  demo video ： https://www.bilibili.com/video/BV1Nx421y7sa/
use mattersupport ， Commission without ssid and pwd


KAFKA-6647 KafkaStreams.cleanUp creates .lock file in directory its trying to clean (Windows OS)

This KAFKA-6647 KafkaStreams.cleanUp creates .lock file in directory its trying to clean (Windows OS) has been open for a while, and long conversation in previous Pull Requests. Anyway this problems is causing the TopologyTestDriver driver based unit test failing in Windows if not adding extra exception handling in there.
This PR version is trying to keep the general functionality as similar as earlier. Only add one extra retry of delete, if first failed due to DirectoryNotExmptyException. When added the retry logic only at the end of finally, caused checkstyle CyclomaticComplexity and NPathComplexity to go above threshold.
After it extracted cleanRemovedTaskDir and deleteTaskDir methods to avoid complexity.
Also time condition evaluation changed to be first before locking, so no need to lock if inner block is doing nothing.
No external functionality changed, so no additional test cases added.
Following five test in StateDirectoryTest failed earlier in Windows.
StateDirectoryTest.shouldCleanUpTaskStateDirectoriesThatAreNotCurrentlyLocked
StateDirectoryTest.shouldCleanupStateDirectoriesWhenLastModifiedIsLessThanNowMinusCleanupDelay
StateDirectoryTest.shouldNotLockStateDirLockedByAnotherThread
StateDirectoryTest.shouldNotUnLockStateDirLockedByAnotherThread
StateDirectoryTest.shouldCleanupAllTaskDirectoriesIncludingGlobalOne
Test shouldNotLockStateDirLockedByAnotherThread is still failing due to
there is no way to unlock task of already dead thread without adding extra code to StateDirectory class.
The test left as is, but explanatory comment added. The rest four of those five tests are now successful also in Windows.
Also shouldUseSerdesDefinedInMaterializedToConsumeGlobalTable test in StreamsBuilderTest failed in Windows before this change. After the change all the tests in StreamsBuilderTest are succesful.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Simplified the refactoring and reversed logic back to original relating to locking and condition evaluation order.

I wonder what is the reason: the previous build failed and now only after update of comment, it is successful.

ping @guozhangwang @mjsax @vvcephei @ableegoldman @cadonna

Hi @jukkakarvanen and thanks for the contribution! We've discussed this PR and there is another PR (https://github.com/apache/kafka/pull/5650) that aims to solve the same issue with a different approach that seems a little safer to implement.  Would you consider reworking your current PR to fit the approach mapped out in #5650?
Ping us here an let us know when this is ready for review.  Thanks
\cc @tedyu

Hi @bbejeck ,
Yes, I agree. My change was acting to the symptom, not fixing the actual problem.
The previous PR has been hanging so long time, so I expect there was some issues why it is not accepted. That's why I was proposing this kind of workaround not affecting to functionality of Non-Windows environments.
The most important thing is that this bug get fixed.
I can close this.

@bbejeck

We've discussed this PR and there is another PR (#5650) that aims to solve the same issue with a different approach that seems a little safer to implement.

Clarification, was the conclusion in #5650:

implement both existing and new locking based on #5650 options to StateDirectory
select  locking method based on rebalance version outlined in
https://github.com/apache/kafka/pull/5650#issuecomment-436133460
"I guess a boolean flag, "useOldLogging" should be sufficient"
@mjsax, I think this should be useOldLocking?

Yes. Should be useOldLocking :)

I have been checking this KAFKA-6647 with two locking policy approach.
Not sure where is good place to continue discussion before new PR. So I added my comments to #5650.


AttributeError: 'module' object has no attribute 'run' (Python 3.4)

Device: Honor 5X (KIW-L21)
EMUI version: 4.0
Operating system: Windows 7 Ultimate
Python Ver. 3.4
After entering the IMEI, my device restarts to Fastboot & Rescue mode. Nothing happens. The following error appears:
Bruteforce is running...
Currently testing code<PHONE_NUMBER>000000
Progress: 10.0%
Traceback (most recent call last):
  File "unlock.py", line 119, in <module>
    codeOEM = bruteforceBootloader(increment)
  File "unlock.py", line 33, in bruteforceBootloader
    output = subprocess.run("fastboot oem unlock " + str(algoOEMcode).zfill(16),
 shell=True, stderr=subprocess.PIPE).stderr.decode('utf-8')
AttributeError: 'module' object has no attribute 'run'

https://stackoverflow.com/questions/40590192/getting-an-error-attributeerror-module-object-has-no-attribute-run-while
The function required to run and parse the unlock command is only supported in Python 3.5 and newer.
Although it is possible to backport, it's just more convenient if you upgrade your python installation.

https://stackoverflow.com/questions/40590192/getting-an-error-attributeerror-module-object-has-no-attribute-run-while
The function required to run and parse the unlock command is only supported in Python 3.5 and newer.
Although it is possible to backport, it's just more convenient if you upgrade your python installation.

https://stackoverflow.com/questions/40590192/getting-an-error-attributeerror-module-object-has-no-attribute-run-while
The function required to run and parse the unlock command is only supported in Python 3.5 and newer.
Although it is possible to backport, it's just more convenient if you upgrade your python installation.

This fixed the issue and I'm running the script now. Thank you for the prompt reply.

https://stackoverflow.com/questions/40590192/getting-an-error-attributeerror-module-object-has-no-attribute-run-while
The function required to run and parse the unlock command is only supported in Python 3.5 and newer.
Although it is possible to backport, it's just more convenient if you upgrade your python installation.

This fixed the issue and I'm running the script now. Thank you for the prompt reply.


issue 5900:add bytebuddy support

Proxy支持bytebuddy
#5900

Codecov Report

Merging #11117 (0f089f9) into 3.2 (66b8487) will decrease coverage by 0.12%.
The diff coverage is 0.00%.

:exclamation: Current head 0f089f9 differs from pull request most recent head 9b0099b. Consider uploading reports for the commit 9b0099b to get more accurate results

@@             Coverage Diff              @@
##                3.2   #11117      +/-   ##
============================================
- Coverage     64.86%   64.74%   -0.13%
  Complexity       14       14
============================================
  Files          1462     1468       +6
  Lines         60915    61051     +136
  Branches       8939     8953      +14
============================================
+ Hits          39513    39526      +13
- Misses        17221    17340     +119
- Partials       4181     4185       +4

Impacted Files
Coverage Δ

...bbo/rpc/proxy/AbstractFallbackJdkProxyFactory.java
0.00% <0.00%> (ø)

...java/org/apache/dubbo/rpc/proxy/MethodInvoker.java
0.00% <0.00%> (ø)

...ubbo/rpc/proxy/bytebuddy/ByteBuddyInterceptor.java
0.00% <0.00%> (ø)

...ache/dubbo/rpc/proxy/bytebuddy/ByteBuddyProxy.java
0.00% <0.00%> (ø)

...bbo/rpc/proxy/bytebuddy/ByteBuddyProxyFactory.java
0.00% <0.00%> (ø)

...bbo/rpc/proxy/bytebuddy/ByteBuddyProxyInvoker.java
0.00% <0.00%> (ø)

...o/remoting/exchange/support/ReplierDispatcher.java
72.72% <0.00%> (-9.10%)
:arrow_down:

...oting/transport/netty4/NettyConnectionHandler.java
53.19% <0.00%> (-6.39%)
:arrow_down:

...bbo/rpc/cluster/support/ForkingClusterInvoker.java
83.33% <0.00%> (-4.77%)
:arrow_down:

...bbo/common/concurrent/CallableSafeInitializer.java
61.90% <0.00%> (-4.77%)
:arrow_down:

... and 16 more

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

Please add some unit test cases to verify

OK

Please fix failed uts


PiGallery2 stopped working - health issue - docker update ?

Hi, I'm using PiGallery2 with docker (latest-alpine) on a x86_64 plateform with Ubuntu 22.04. I updated my docker version to version 26.1.0, build 9714adc (latest deb available) and compose to v2.26.1 and the update seems to have broken PiGallery2.
Here is my compose section:
pigallery2:
    image: bpatrik/pigallery2:latest-alpine
    container_name: pigallery2
    environment:
      - NODE_ENV=production
      - TZ=Europe/Paris
      - PUID=1026
     - PGID=100
    networks:
      - t2_proxy
    security_opt:
      - no-new-privileges:true
    restart: always
    volumes:
      - "./pigallery2/config:/app/data/config"
      - "./pigallery2/db-data:/app/data/db"
      - "/mnt/photo:/app/data/images:ro"
      - "./pigallery2/tmp:/app/data/tmp"
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.pigall-rtr.entrypoints=https"
      - "traefik.http.routers.pigall-rtr.rule=Host(`pigall.mydomain.wtf`)"
      - "traefik.http.routers.pigall-rtr.tls=true"
      - "traefik.http.routers.pigall-rtr.service=pigall-svc"
      - "traefik.http.services.pigall-svc.loadbalancer.server.port=80"
      - "traefik.http.routers.pigall-rtr.middlewares=localip"

The debug logs seems OK
I tried with edge-alpine and lastest images, same issue.
Is there someone else affected by this bug ? Is there anything I can do to help fixing that bug ?

After some testing, it seems the latest docker version is responsible. I downgraded the following packages to these versions:
docker-ce=5:25.0.5-1~ubuntu.22.04~jammy
docker-ce-cli=5:25.0.5-1~ubuntu.22.04~jammy
docker-compose-plugin=2.25.0-1~ubuntu.22.04~jammy
(using "sudo apt install docker-ce=5:25.0.5-1~ubuntu.22.04~jammy" and so on)
And PiGallery is up and running. (tested with docker 26.0.2-1, not working either)
I have a lot of differents containers running on that server, all the others were running fine on the latest docker version so it must be something specific to PiGallery

yeah those logs does not tell much.
I have't run into this issue yet, so I cant really comment.
i see that a worker thread is trying to come up. You can disable threading in the config. Its deprecated. Maybe that makes a difference.

I think it's related to Traefik + docker 26 + healthcheck adress.
PiGallery is unhealthy because of changes made to docker 26 (or another reason) --> traefik does not create the router
I had a similar problem with another container (Filebrowser) and I solved it using that thread: https://github.com/filebrowser/filebrowser/issues/3119#issuecomment-2056009188
I've disabled the healthcheck in my compose file and all is working with docker 26.1:
  healthcheck:
    disable: true

Can I create a PR to fix this issue ? The problem seems related to localhost endpoint, I've fixed it by adding this in my compose.yml file:
    healthcheck:
      test: wget --no-verbose --tries=1 --spider http://<IP_ADDRESS> || exit 1
      start_interval: 5s
      interval: 60s
      retries: 3
      start_period: 20s
      timeout: 10s

I can deploy this fix by changing localhost by <IP_ADDRESS> in the HEALTHCHECK section here:  https://github.com/bpatrik/pigallery2/blob/9c6a7c97e3f86afc4bd280b5c6d824fa0aa6b0ad/docker/alpine/Dockerfile

I would appreciate if you can send a PR with the fix.
Please note there are 4-5 Dockerfiles within the docker folder, please update all of them

Hi, I've made a PR with the mentionned changes (https://github.com/bpatrik/pigallery2/pull/920), it should get rid of this issue.
Thanks for letting me be a part of this !


WIP: Use reset_connection in prepare step

Does not work. Revert the single step thing in ansilbe-molecule zuul job.


motor.rotate_left(1234)

When I copy your example program into my python program and run it, I receive this error:
Traceback (most recent call last):
File "c:\Users\root\Desktop\PYProgramme\motor.py", line 29, in
motor.rotate_left(1234)
AttributeError: 'Motor' object has no attribute 'rotate_left'
Does anybody have an idea on how I can fix this?

Hi! How did you fix this?

Hey,
the pre-programed commands like motor.rotate_left ect are sadly not working.
I dont remember exactly how i fiixed it but i can tell you as soon as i get to my computer in my workplace on monday.
I think it was something like skipping the pre-programed commands and talking to the motor directly using motor.send(...) but i will give you some detailed information and examples on monday!

Thank you very much for your answer. I solved it cloning the repo instead of doing pip install. Only that


continuous scroll with horizontal scroll

Hi guys,
I'm using slick slide with continuous scroll settings. Like this http://jsfiddle.net/ierpe/qrL0vor8/.
But my client wants to use a horizontal scroll to access the latest images faster.
I tried to force an overflow-x: scroll. But the slider does not recognize that I'm at the end and does not show the first images again. (Inifiniteloop: True).
Can you help me with that?
Thanks

I've same problem too I think.

Just disable arrows by adding this option:
arrows: false
and it become workable.

Hey continuous scrolling has a known issue where one slide change needs to complete before the next one can finish. I think you could technically move a nested element with CSS and set the speed to 0. Best of luck!

Any word as to if this is yet natively supported?

https://webisora.com/blog/implementing-mouse-scroll-slick-js/

This is my simple solution:
.slick-next {     right: 0;     z-index: 1;   }   .slick-prev {     left: 0;     z-index: 1;   }


Hybrid search

Closing this for now, and leaving as a branch for now.
Feel free to reopen to run tests against Azure.


introduce lgtm :+1:

Did you decide not to use LGTM in this repo? I don't see this commit in master.

Weird. I thought it went in.


Cookies without dot at the beginning of domain won't load

Which version of PhantomJS are you using? Tip: run phantomjs --version.
2.1.1

What steps will reproduce the problem?

Add cookie without dot at the beginning of domain property

Will return false always

Which operating system are you using?
Windows 10

Did you use binary PhantomJS or did you compile it from source?
Binary

Please provide any additional information below.
www.google.com won't work, addCookie will always return false.
.www.google.com will work. addCookie will return true.

This is very annoying since I need to test one page I am not developing and it requires cookie without dot at the start.

I fixed it by downloading latest beta version of Phantomjs from https://bitbucket.org/ariya/phantomjs/downloads/
Hope it helps someone in future.


Windows compiling

Got this error while tying to compile hello_world example.
C:/MSys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/MSys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib/libwebui-2-static.a(webui.o):webui.c:(.text+0x6de): undefined reference to `__imp_CoTaskMemFree'
Ive loaded precompiled binaries and merged with mingw64
Any ides?

Make sure you included -lole32.
thx