[SendNonSendable] Assorted Bugfixes and Tweaks

Running the SendNonSendable pass on larger projects has revealed bugs and holes, such as phi argument handling, that are fixed by this PR. Phi argument handling is tested by an added test case.

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test


communities.usaa.com: Request Entity Too Large (cannot load web pages) when using Google Chrome

I have tested this on two separate computers, both running the same version of Google Chrome:

Operating system: Linux Ubuntu 18.04 and 20.04 (tested on both)
Chrome browser (same version on both computers): Version 101.0.4951.64 (Official Build) (64-bit)

I am unable to visit the USAA community forum website in Google Chrome (tested on two separate laptops, both running the latest version of Chrome, as shown above). I get the following error:

(or here as searchable text):

Request Entity Too Large
The requested resource
/t5/Banking/USAA-bug-the-phone-app-stops-you-from-using-Zelle-for-transfers/td-p/258317
does not allow request data with GET requests, or the amount of data provided in the request exceeds the capacity limit.

Steps to reproduce
Try to go to https://communities.usaa.com/t5/Banking/USAA-bug-the-phone-app-stops-you-from-using-Zelle-for-transfers/td-p/258317 in Google Chrome. It results in the error above.
Temporary work-around
Use the Firefox browser instead.
Related: https://github.com/ElectricRCAircraftGuy/bug_reports/issues/6#issuecomment-1131892077

I have posted this bug report here as well: https://communities.usaa.com/t5/Technical-Support/communities-usaa-com-bug-Request-Entity-Too-Large-cannot-load/td-p/258329

If I try to access this link: https://communities.usaa.com/
Same thing:

As searchable text:

Request Entity Too Large
The requested resource
/usaa/
does not allow request data with GET requests, or the amount of data provided in the request exceeds the capacity limit.


ESXi support?

Can this hack be used on vsphere/esxi? How can i set it up?

Nope. The drivers are different and you'll need to do a lot of modifications to make it run on ESXi, as much as I understood.

Nope. The drivers are different and you'll need to do a lot of modifications to make it run on ESXi, as much as I understood.

Welp, okay.
Also, can this work on Proxmox VE? I've never used PVE before but it seems that it is just regular Linux.

Nope. The drivers are different and you'll need to do a lot of modifications to make it run on ESXi, as much as I understood.

Welp, okay.
Also, can this work on Proxmox VE? I've never used PVE before but it seems that it is just regular Linux.

Yes, this works on Proxmox.


android support, maybe?

it's possible?

Hi @dawidmosk,
If you are using something like Xamarin – this lib should work.
If you are using Java – try Tukaani XZ for Java, it should be good. May be not so high-level in abstractions, but worth taking a look anyway.
Maybe it's worth coding additional logic on top of XZ for Java, but this would definitely be another project and not XZ.NET.

Thank you for quick answer. I'm using xamarin.android as stream and not working fully (problem with loading lzma library). Finally i found something for this platform: TukaaniXZ(java) + Xamarin.Android.Apache.CommonCompress via nuget forc#.


Replication from filer not followed

Describe the bug
Using filer, s3 and the collection has multiple layouts with one correct and one wrong.
volumeserver has default 010, filer is set to 000.
System Setup

List the command line to start "weed master", "weed volume", "weed filer", "weed s3", "weed mount".

/usr/local/bin/weed -logtostderr -v=4 master -mdir=/mnt/data01/meta -ip=<IP_ADDRESS> -defaultReplication=010 -volumeSizeLimitMB 30000 -garbageThreshold 0.05 -peers=<IP_ADDRESS>:9333,<IP_ADDRESS>:9333,<IP_ADDRESS>:9333
/usr/local/bin/weed -logtostderr -v=4 volume -pprof -compactionMBps=50 -port=8080 -mserver=<IP_ADDRESS>:9333,<IP_ADDRESS>:9333,<IP_ADDRESS>:9333 -dir=/mnt/data01/data,/mnt/data02/data -index leveldb -max 0,0 -ip <IP_ADDRESS> -rack photol-111
/usr/local/bin/weed -logtostderr -v=1 filer -master=<IP_ADDRESS>:9333,<IP_ADDRESS>:9333,<IP_ADDRESS>:9333 -collection=segmentstore -peers=<IP_ADDRESS>:8888,<IP_ADDRESS>:8888,<IP_ADDRESS>:8888 -port=8888 -port.readonly=1888 -disableDirListing -defaultReplicaPlacement=000 -ip <IP_ADDRESS>
/usr/local/bin/weed -logtostderr -v=1 s3 -config=/etc/seaweedfs/config.json

OS version Ubuntu 18.04
output of weed version version 30GB 1.99 42ed683 linux amd64
if using filer, show the content of filer.toml

[leveldb2]
enabled = true
dir = "/mnt/data01/filer/ldb2"

Expected behavior
Having one layout with replica placement 000
$ curl -s localhost:9333/dir/status | jq .Topology.Layouts
[
  {
    "collection": "photo-large-prod-005",
    "replication": "010",
    "ttl": "",
    "writables": [
      3450,
      3451,
      3452,
      3453,
      3454,
      3455,
      3456,
      3457,
      3458,
      3459
    ]
  },
  {
    "collection": "segmentstore",
    "replication": "000",
    "ttl": "",
    "writables": [
      3399
    ]
  },
  {
    "collection": "segmentstore",
    "replication": "010",
    "ttl": "",
    "writables": [
      3440,
      3441,
      3442,
      3443,
      3444,
      3445,
      3446,
      3447,
      3448,
      3449
    ]
  }
]

not really a bug. It is related to the order of the previous requests. Some requests needs to ask master about replication, and some will ask filer.
It might be better to just remove the replication option from the filer, and keep only one place to set the replication?

@chrislusf How can i specify replication when using s3?

Currently no good way. Going to track it in https://github.com/chrislusf/seaweedfs/issues/1557


File hashes

Is your feature request related to a problem? Please describe.
New icons will not become visible to the users due to browser caching and cache headers.
Describe the solution you'd like
Introduce a customizable (filename template?) option to add hashes to generated icon file paths, e.g.

"src": "/icons/manifest-icon-192.png?af648f1706164b878057cd9509a8cd28"
<link rel="icon" type="image/png" sizes="196x196" href="/icons/favicon-196.png?3efb8c292d9eda693efddffc476a1128">

Describe alternatives you've considered
I'm currently using a custom script file to use the programmatic API of pwa-asset-generator. I'm adding hashes to the src and href paths with hasha. This is fine, but it would be nice to have built-in support for file hashes.

This would be amazing!
Today it is impossible to update an icon of a PWA installed on Android except by changing the name in the manifest! Too 90's! :smile:

Thanks for your feedback @Janne252 and @frederikhors! I will look into this feature asap.

File hashes would be a good feature.
In the meantime, I'm incrementing the directory eg ./assets23 every time I do a regenerate, to bust the cache.
# generate transparent favicon with no padding (so that Windows Chrome icon is as big as possible)
npx pwa-asset-generator santa-claus.svg ./assets23 -i index-template.html -m manifest.json  --opaque false --icon-only --favicon --type png --padding "0"

# overwrite 2 manifest icons and apple-icon-180.png with a background colour
# have a default 10 padding so that phone icons have a border (which looks good)
npx pwa-asset-generator santa-claus.svg ./assets23 -i index-template.html -m manifest.json --background "#696969"

Chrome does actually check to see if the icon has changed. From: https://web.dev/manifest-updates/#cr-android-trigger

Which properties will trigger an update? [...] File hash changes to the primary icon file, File hash changes to the splash icon file

Which browsers are your apps installed through? If it's Chrome, I would encourage you to file a bug instead.
I'm not against adding this feature, but I think we should try to get it fixed in browsers before resorting to funky hacks ;)

This is a basic necessary feature. Thumb up!

Chrome does actually check to see if the icon has changed. From: https://web.dev/manifest-updates/#cr-android-trigger

Which properties will trigger an update? [...] File hash changes to the primary icon file, File hash changes to the splash icon file

Which browsers are your apps installed through? If it's Chrome, I would encourage you to file a bug instead. I'm not against adding this feature, but I think we should try to get it fixed in browsers before resorting to funky hacks ;)

This page literally says:

Changes to name, short_name and icons are not currently supported on desktop Chrome, though work is underway to support them.

Hello @bulbigood. Thank you for contributing to this discussion in a constructive and open-minded way, I really appreciate it!
At the time I wrote my comment, the warning about icons was newly added, probably because someone filed a bug for it, and it seemed like it would be fixed quickly. Looking back after two years, it seems a little less sure. Or maybe it is fixed but the warning just hasn't been removed, maybe someone has time to test that?
Anyways, I actually thought the original comment was specifically about mobile apps, in which case the desktop problems didn't matter. Reading it again, I'm not sure if that is the case.

Also, it doesn't say anything about other browsers. So it's necessary to use a hash or workarounds there to bust the cache.

Yes, I agree. That is why my original comment said:

I'm not against adding this feature

But no matter what browser you encounter this issue in, I would still encourage you to file a bug for it, because it would be much nicer if we, in the future, did not have to apply these hacks in order to update the icons.

@atjn now I realize the icons of an installed PWA couldn't be changed except reinstall. At least that applied to my pretty old Android device. That is, there is little benefit from the use of hash in the icon names.
Anyway, I use webpack-webmanifest-loader for icon hashes, which also helps to reduce the amount of routine work in updating PWA manifest.


allow pull docker-dev image from registry.hub.docker.com

allow pull docker-dev image from registry.hub.docker.com
Signed-off-by: xuxinkun<EMAIL_ADDRESS>

Can you please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "master" git@github.com:xuxinkun/docker.git somewhere
$ cd somewhere
$ git rebase -i HEAD~2
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

This will update the existing PR, so you do not need to open a new one.


[Bug] "Ready for Testing" doesn't include resubmitted submissions

I believe that resubmission does not unassign the old testers and verifiers, so this is as it should be, since games with assigned testers are not ready for testing to minimize multiple people working on the same curations at once.

Should have detailed further, this also happens to submissions which curators have unassigned themselves from testing, I remember this one wasn't showing up in search https://fpfss.unstable.life/web/submission/3487 so nobody retested for a week


Add validation for inputs

would parsley.js be something to consider for this?

Hi Aaron,
I will be validating it on server-side only for the beginning. The reason for this is that parsley will be able to validate client side but one of the rules I'm following is that even if someone has access to the system he can't be trusted completely and all inputs are validated for requirements, else it might lead to internal server errors (NULLs being inserted into NOT NULL columns, etc)

Basic validation is now enabled in #22


What is the batch size for training COCO dataset?

Hi, guys,
I want to know about the batch size for training the COCO dataset, which seems not to have been revealed in the paper.
And I am wondering whether the batch size of COCO is set in ../base/datasets/coco_instance.py?
Your answer and guide will be appreciated!

We will add the details in the paper. Thanks for pointing that out.  But basically we followed Swin and mmdet (you can find those default confit in the base config files in Swin/mmdet repos, following our provided instructions). The detection experiments are trained with single node, 8 GPU and samples_per_gpu=2.

Thanks sincerely for your answer!


Support Multi-Root workspaces.

There is likely a little bit of support needed on LSP clients to support multi-root workspaces. I believe different clients may decide for themselves how the user conveys what is and isn't a "workspace".
https://code.visualstudio.com/docs/editor/multi-root-workspaces
It might need to be taken into account when thinking about the file explorer, as this is the integration point that VSCode has chosen - users convey that they want to add an additional workspace by opening another folder in the Explorer. I'm not sure what the roadmap for Oni has planned here, but I thought I'd make a Github issue to at least track the feature.

Someone correct me if wrong, but I think that the core task of an LSP client here, is to determine which files belong to which "workspace". VSCode does this by having users mount multiple folders in the explorer, but I could imagine there being many other ways to accomplish the same. I'm sure there's benefits to keeping the File Explorer simple as well.
Maybe in the simplest case, you could say that Oni doesn't support multiple workspaces, and requires opening multiple windows - one window per workspace. Even in that event, it might make sense to have one language server per language running in the background that all of the clients talk to (that could keep system resources lean), and to do that I believe it would still require that whatever does this demultiplexing, understands how to inform the language servers about these multiple workspaces.

Thanks for logging this, @jordwalke ! I need to dig more into the multi-root workspace functionality (I'm not too familiar with it at the moment).
I like your suggestion here:

Maybe in the simplest case, you could say that Oni doesn't support multiple workspaces, and requires opening multiple windows - one window per workspace.

I think that's a great starting point.
Oni sort of supports this today, but not in a great way. We allow specifying a set of root files, like:
"language.reason.languageServer.rootFiles": [".merlin, bsconfig.json"],

And in this case, whenever we open a reason file, we look upwards to see if the root path matches the current language server's root path. If not, we kill the current server and start a new one at the new path. Not desirable long-term behavior, as it means we're not good citizens of the LSP in this case- supporting multi-root workspaces would be better here.


Add missing role to porch rbac

https://github.com/nephio-project/porch/pull/93

/approve

/lgtm


Flux plugin not working with Influx 1.7

I am using influx 1.7.1 with the flux plugin 5.3.1
I observe a 404 error when trying to connect to the influx database.
Here is the output of the query:
xhrStatus:"complete"
request:Object
method:"POST"
url:"api/datasources/proxy/46/v1/query"
params:Object
orgName:"defaultorgname"
q:"from(db: "P286") |> range(start: -1h) |> limit(n:1000) "
data:null
precision:"ms"
response:"404 page not found "
I am running influx 1.7.1 and the flux plugin 5.3.1.

I should mention that if I connect to my influx database I can run the influx cli with -type=flux and query the database using flux.

Check #16 -- that seems to make things work in 1.7

We've had to change the authentication mechanism to support Influx v2. This might have broken connectivity to 1.7 installs. We're looking into making it work with 1.7 again.

version 5.2.9 was working fine ,
version 5.3.0 failed
version 5.3.1 working again.

It's also worth mentioning that even though we're not using Influx 2.0.0, we've had to input values in the InfluxDB 2.0.0 Details section
We've used:
Organization: my-org (a dummy value used by a previous version of the plugin)
Default Bucket : mydb (an actual DB with some measurement so that the plugin can validate the datasource)

According to main page, plugin works with 1.7 but 2.0 but, the reality is that it works with 2.0 but 1.7. Shouldn't it support both versions? Would anyone suggest a version that works with 1.7?
Thanks.

+1 .. Need to authenticate using regular user and password, but those fields are gone, and token is only supported in InfluxDB 2.0.

Grafana tests the connection with from(bucket:"mydatabase/autogen") |> range(start:-10y) |> last() which timed out in our case. Changing this query live on devtools let us successfully "save & test".

Not working in influxdb1.7

I am working on influx 1.7.6 and Grafana version 6.3.5 Flux plugin 5.3.2 and all working ok except known issue  [#31 ]

Hello,
stop and start docker containers fix the problem for me

Hi team, same error here trying to connect from my local server and from Grafana free clould account. I created a new influxdb cloud 2.0 account , but still same error. Perhaps something has changed from Influxdb cloud and now unable to connect.
Network Error: (404) , Telegraf from local server send data normally using same token.

I've been trying to get Flux to connect in Grafana. I had Grafana v6.7.2, InfluxDB 1.7.10 and
grafana-influxdb-flux-datasource v5.4.1.
I couldn't get it to work, even with 'telegraf/autogen' as Default bucket, as suggested in https://community.influxdata.com/t/influxdb-error-internal-server-error-with-flux-data-source-on-grafana/11210
I was getting the error

Data source connected, but has no data. Verify the “bucket” field and make sure the bucket has data.

I tried other logical buckets, but nothing worked.
In the meantime, I could successfully run in CLI
influx -type=flux -username <user> -password <pass> -execute 'from(bucket:"telegraf")     |> range(start:-5m)     |> filter(fn:(r) => r._measurement == "cpu")'
Then I thought, maybe there is a fix, let me update the packages. And now I'm running InfluxDB 1.8.0 and the same Flux command now returns

Error: 404 page not found
: 404 Not Found

What would be the simplest command to check connectivity? buckets()?
influx -type=flux -username <user> -password <pass> -execute 'buckets()'
I think Flux is still enabled in my system after the update. I chose to keep the existing .conf.
$ cat /etc/influxdb/influxdb.conf | grep flux-enabled     flux-enabled = true


Logic issue with BaseButton as Property

[ ] I have searched the Issues to see if this bug has already been reported
[ ] I have tested the latest version

Steps to reproduce

Go to '...'
Click on '....'
Scroll down to '....'

Current behavior
Describe what is currently happening and why it's a problem.
Expected behavior
Describe what you expected to happen.
Context
What are you trying to accomplish? Does this only happen on a specific browser, screen size, or operating system?
If possible, provide a live example URL, screenshot, video, or a repository with the minimal reproduction of the issue.

Dup  #865?

oh k, thanks will close this and follow up from #865


Errors after deploying to Github Pages

Please provide us with the following information:

OS?  Windows 7, 8 or 10. Linux (which distribution). Mac OSX (Yosemite? El Capitan?)
Windows 10

Versions. Please run ng --version. If there's nothing outputted, please run
in a Terminal: node --version and paste the result here:
angular-cli: 1.0.0-beta.10
node: 4.4.5
os: win32 x64

Repro steps. Was this an app that wasn't created using the CLI? What change did you
do on your code? etc.
Created using CLI.

The log given by the failure. Normally this include a stack trace and some
more information.
Console errors when loading the homepage after deploying:
(index):21 GET http://www.zachtrayner.com/zachtrayner/vendor/es6-shim/es6-shim.js  (index):14 GET http://www.zachtrayner.com/zachtrayner/style.css  (index):22 GET http://www.zachtrayner.com/zachtrayner/vendor/reflect-metadata/Reflect.js  (index):24 GET http://www.zachtrayner.com/zachtrayner/vendor/zone.js/dist/zone.js  (index):23 GET http://www.zachtrayner.com/zachtrayner/vendor/systemjs/dist/system.src.js  (index):24 GET http://www.zachtrayner.com/zachtrayner/vendor/zone.js/dist/zone.js  (index):26 Uncaught ReferenceError: System is not defined

Mention any other details that might be useful.
Setup as a user github page. The command to deploy wasn't working so I used ng github-pages:deploy and basically copied the branch over to master so I could use it as a user site. I also specified a CNAME with my domain (www.zachtrayner.com). The repo is public.

Thanks! We'll be in touch soon.

You have to set the <base href="/zachtrayner/"> manually if the deploy command failed for you and you did it manually.
I'm not sure how it failed for you, and would appreciate an issue so I can fix it, but would ask you to try and file the issue using beta.15.


feat: Support bundlers.

This PR add supports for using thread-stream in bundled source files.
In particular:

It uses real-require to perform dynamic requires/import.
It add support for a global variable __bundlerPathsOverrides which bundler plugins can set to override require paths if needed.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

4 of 5 (80.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-1.9%) to 82.366%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

lib/worker.js
2
3
66.67%

Totals

Change from base Build<PHONE_NUMBER>:
-1.9%

Covered Lines:
282

Relevant Lines:
331

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

-1 of 5 (80.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-1.9%) to 82.366%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

lib/worker.js
2
3
66.67%

Totals

Change from base Build<PHONE_NUMBER>:
-1.9%

Covered Lines:
282

Relevant Lines:
331

💛  - Coveralls

Test added.


Opening a shell to a container fails due to bad powershell command

Opening a shell to a container fails due to bad powershell command
Steps to reproduce the behavior:

Go to 'workloads pods'
Click on a pod you want to shell into
From either the "..." menu in the list or the menu on the pod detail screen select shell
See this error below
PS C:\Users\glenn.sills> exec kubectl exec -i -t -n default svc-tasksscheduler-6dd4fbcccd-rv2hc -c svc-tasksscheduler "--" sh -c "clear; (bash || a
sh || sh)"
exec : The term 'exec' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or
if a path was included, verify that the path is correct and try again.
At line:1 char:1

exec kubectl exec -i -t -n default svc-tasksscheduler-6dd4fbcccd-rv2h ...

  + CategoryInfo          : ObjectNotFound: (exec:String) [], CommandNotFoundException
  + FullyQualifiedErrorId : CommandNotFoundException

Expected behavior
kubectl exec -i -t -n default svc-tasksscheduler-6dd4fbcccd-rv2hc -c svc-tasksscheduler sh
works
Screenshots
If applicable, add screenshots to help explain your problem.

Environment (please complete the following information):

Lens Version: 3.4.0
OS: Windows 10 Enterprise build 1903
Installation method (e.g. snap or AppImage in Linux):  Automated update from a previous build

I have a similar situation, I am on Windows 10 desktop connecting to a cluster of two Linodes.  I can reach the container shell from executing "kubectl exec ... " inside Powershell.  But inside Lens, using the UI to open the shell just gives an endless "Connecting ..." message.

I see the same behavior on Win 10 PRO, unneeded exec is added for powershell command in front of actual kubectl command, it seems 6d4a7f657d12d367fb893e8a37aec3c0bbf4faea Terminal dock tab improvements (#294)  (https://github.com/lensapp/lens/commit/6d4a7f657d12d367fb893e8a37aec3c0bbf4faea#diff-d684118405715b40bb7c7d23b6e927de) was supposed to fix this issue, but apparently it does not work correctly...

Same here.

Same issue here.

Duplicate of #338


fix: change traffic duration

resolves #340

@michaelpearsonHO can you test when you get a chance.


Prisma doesn't solve N+1 in basic scenario

Bug description
Often (especially in GraphQL) we want to request resources that are related to some other resource, e.g. tasks that belong to a user.
When querying the resources using findMany({ where: { ... } }), Prisma doesn't optimize for N+1.
How to reproduce
Reproduction: https://github.com/liadmat/prisma-repro/blob/main/src/index.ts
Expected behavior
Prisma should be able to optimize this as it does with nested read API.

Thank you for the reproduction, we are tracking this at https://github.com/prisma/prisma/issues/1477 already. I will add your message as a comment there though as it provides a nice reproduction.


Feature Request - Allow Calculation with subnet mask represented in octet

Thanks for your plugin! :)
I would like to see if it would be possible to allow both CIDR notation and full octet representation of subnet mask.
In the input field, being able to type in <IP_ADDRESS>/25 or <IP_ADDRESS>/<IP_ADDRESS> would be great.

Nice idea.. I  added it.. Let me know if it works as expected or not !


Specifying a meta schema in $schema forces validation error: no schema with key or ref "http://json-schema.org/draft-06/schema#"

Prerequisites

[x] I have read the documentation;
[x] In the case of a bug report, I understand that providing a SSCCE example is tremendously useful to the maintainers.
[x] Ideally, I'm providing a sample JSFiddle or a shared playground link demonstrating the issue.

Description
If the schema specifies a meta schema in $schema:
{
  "$schema": "http://json-schema.org/draft-06/schema#",
  // ...
}

RJSF then complains with error
no schema with key or ref "http://json-schema.org/draft-06/schema#"

The error is issued by underlying ajv library.
Steps to Reproduce
Example on RJSF playground
Validation error is immediately visible.
Expected behavior
Schema can be used without errors.
Actual behavior
See description.
Version
This schema could be used on 1.2.1.
This behaviour (regression?) has been introduced by 1.3.0 and is the same at 1.5.0.

Interestingly, a workaround is to add an $id referencing the same schema:
{
  "$schema": "http://json-schema.org/draft-06/schema#",
  "$id": "http://json-schema.org/draft-06/schema#",
  // ...
}

Example on RJSF playground
Without checking the code i think $id overrides $schema, and seems to be handled correctly (= not triggering the wrong validation error) in contrast with $schema.
In case of an invalid schema in $id, the $idkey is seemingly ignored and the error resurfaces again.

Ok, got it, I had to define a Custom schema validation:
To have your schemas validated against any other meta schema than
draft-07 (the current version of [JSON Schema](http://json-schema.org/)),
make sure your schema has a `$schema` attribute that enables the validator
to use the correct meta schema. For example: ...

Introduced at #1130
@epicfaace some remarks:

1.3.0 was a potentially breaking release. Does the project follow semantic versioning?
if the default "draft-07" comes implicitly from ajv, it's better to import and assign it explicitly -> more control over such breaking changes
http://react-jsonschema-form.readthedocs.io/ is quite outdated, is that known?
the way the example for defining a custom schema validation is implemented forces a re-rendering of the form each time the parent re-renders (because a new array is constructed every time). The example could stay simple, but this should be at least noted for the copy pasta crowd :-)

@sbusch I didn't realize #1130 was a breaking change -- what part of it would you say makes it a breaking change?

Not sure if this is related, but when trying to make this library work with AJV 6.7.0 (React 16.8.4)
importing "Form" from "react-jsonschema-form"; causes Webpack to fail compilation with the following error:

Module build failed (from ./node_modules/babel-loader/lib/index.js):
/SyntaxError: /Users/jstrong/webapps/rails/eebos_rails/node_modules/ajv/lib/refs/json-schema-draft-07.json: Unexpected token, expected ";" (2:13)
...
@ ./node_modules/ajv/lib/ajv.js 488:19-62
@ ./node_modules/react-jsonschema-form/lib/validate.js

@laspluviosillas sounds like a problem with your webpack config? if you can send me a link to your github repo I can help look into it

AJV 6.7.0
how to solve this issue?


Placement of trapdoors not 100

Hi!
Not sure if this has been reported before or not and/or if it is a problem with this mod or something else but:

the trapdoor above the ladder in the carpenters house makes it very hard to reach jennie (?) if she is upstairs. I removed and replaced it manually facing the other way so that it opens up against the wall and not against the room.
Something simular happens with the door into the general store. It looks like trying to open the door triggers the trapdoors on the walls inside and outside by the doos and they trigger the door to close again. I.e. makes it impossile to get out or in. I tried t remove the door and replace it but failed for unknown reasons. Will try again soon, and check any logs.

1.10.2, 0.5.12, latest forge 2107, and a bunch of other mods.

Trapdoor one takes getting used to, it's easy really face the wall, climb the ladder, stand on ladder and jump. I have never had an issue with the general store though, either way blame @Yulife

I've rotated it in the carpenter for next update


FancyZones Editor: layout deletion doesn't work properly

Layout deletion is saved only on editor close, but layout creation is saved immediately. So if user removed layout and added new, both of them will be saved in settings.
Environment
PowerToys version: 0.15.2
PowerToy module for which you are reporting the bug (if applicable): FancyZones

Steps to reproduce

Open editor, select custom layouts tab
1.1 If there is no custom layouts, create one.
Remove existent layout
Create and apply new layout

Expected behavior
Saved one new layout
Actual behavior
Saved both removed and created layouts.

yup.
Also happens when you delete Custom layout A, select custom Layout B click "edit selected Layout", and clicking "Save and Apply" (also works if you actually make changes or change the Layout name).
A new Layout doesn't have to be added to trigger this bug.

yup.
Also happens when you delete Custom layout A, select custom Layout B click "edit selected Layout", and clicking "Save and Apply" (also works if you actually make changes or change the Layout name).
A new Layout doesn't have to be added to trigger this bug.

Hi @DavidGretzschel ,
Thanks for reporting!
Which PowerToys version are you using? This should be fixed with 0.16.

The fix is now available in 0.16 https://github.com/microsoft/PowerToys/releases
Please reopen if it still not working for you.

@stefansjfw
15.2


fix: Disable Run button if server is disconnected or no model is chosen

Closes #21
Closes #80
Closes #105

@fmaclen the base functionality is done. I still have to add the tests.
About the error handling (when user tries to send a message and the server has just disconnected), how'd you like it to be shown?

@GregoMac1 great 👍

About the error handling (when user tries to send a message and the server has just disconnected), how'd you like it to be shown?

I pushed a fix for #49 earlier today: https://github.com/fmaclen/hollama/pull/98
But there is a related issue to this feature that maybe you can do as part of this PR: https://github.com/fmaclen/hollama/issues/80

@fmaclen what do you think of closing this PR and continue working on #80 in a new PR?

@fmaclen I improved this. Now, it checks for /api/tags every time the user selects a different session.
There is a problem with the way the errors are stored. Steps to reproduce:

ollama serve.
Choose some session.
Turn down ollama.
Choose another session or New session (now system error message is displayed and prompt field is disabled).
ollama serve again.
Choose another session. Here, the prompt field is enabled again but the system error message is still displayed. The only way to get rid of it is refreshing the page.

As far as I understand, this happens because the system error message is stored within the session's messages. When I refresh the page, the messages are fetched from the browser's localStorage again.
I think we could separate the error from the session messages, or find a way to be able to restore the original messages without having to refresh the page.

I ended up adding a new test, I thought I would be cleaner and easier to understand and debug.

:tada: This PR is included in version 0.7.9 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


SSH sessions never closed

Using terminus 1.0.139 it seems that SSH sessions are never closed.
Looking at the open TCP/IP handles terminus holds, when closing a SSH session by either closing the tab or closing the session by the server (e.g. Ctrl+D) does not remove any open handle.
When clicking reconnect within an active SSH session a new connection is added.

Fixed with latest nightly


scalafmt-core 2.7.5 (was 2.5.3)

Updates org.scalameta:scalafmt-core from 2.5.3 to 2.7.5.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scalameta", artifactId = "scalafmt-core" } ]

labels: library-update, semver-minor

Closing, we may will have a organisition wide config soon: https://github.com/playframework/.github/pull/28


bug: Ion-list: Mutiple delete or reorder buttons

Type: bug
Platform: all
I have an ion-list with ion-items. The delete and reorder functions are active. I have a button to activate the delete function

in the header
at the top of my list
at the bottom of my list

Codepen: http://codepen.io/paulking00/pen/ByYbpv
Working Scenario:
Click on the delete button in the header once to activate, then again to deactivate.
Bug Condition:
When there is only 1 Delete Activate Button and it is clicked, all other buttons on the page are not clickable, except the new delete buttons beside each item and the Delete Activate button which was just clicked.
However when there is more than one Delete Activate button, only the first one on the page is clickable to be able to disactive delete mode.
Bug Example:
Clicking on the Delete Activate button at the bottom of the list will activate delete mode. It cannot be clicked again to disactivate delete mode.
The same goes for the Delete Activate button at the top of the list. Delete mode can only be deactivated by the first delete button on the page.
Further Info:
Exactly the same thing happens with the Reorder button.

This is expected. When reorder/delete buttons are shown, we block any click events that aren't to the reorder or delete buttons to prevent any accidental clicks to the items.

Hi Mike! Thanks for your reply.
One quick follow-on question given that: what counts as a delete button?
I have removed those in the Header bar, and now just use my own, and I can get in to delete mode, but then never back out again. I am using Chrome to test.
please see new Codepen to illustrate issue.
http://codepen.io/paulking00/pen/qEYgYz?editors=101
same goes for Reorder, as in the example.

Maybe I was a little unclear. So by delete/reorder buttons, I mean ion-delete and ion-reorder.
Since those buttons that are used to toggle delete and reorder, their events are blocked.

Hi Mike,
Thanks for clarifying and taking the time to help. I will try to use your terminology to explain myself a little better.
When delete buttons are shown I understand that the only buttons that can be clicked are:

the ion-delete buttons
AND A TOGGLE TO UNSHOW THE DELETE BUTTONS.

In the first codepen, http://codepen.io/paulking00/pen/ByYbpv
I can show the ion-delete buttons with all 3 toggle buttons
but I can only unshow the ion-delete buttons with the toggle in the menu.
In the second codepen, http://codepen.io/paulking00/pen/qEYgYz?editors=101
I can show the ion-delete buttons with all 3 toggle buttons,
but then I can never unshow the ion-delete buttons.
My question is, what counts as a toggle for the purposes of the click events? Is it only buttons that appear in the header?
Many thanks!

Any thing can be a toggle, as long as it is outside the ion-content.

Aha!!!
"outside the ion-content"
Thank you!
I was under the impression that is had to be outside the
I'll look back over the doco.
Cheers,
Paul.


[Features Request] Docker Container and GUI

It would be nice to have a docker container with a web interface
Is it possible to have a Dockerfile in the future?
Thanks in advance

We appreciate your suggestion. The team already has a long to-do list, and might not be able to do this feature request recently. But you are welcome to contribute a PR if you did that by yourself.

This seems to work https://github.com/manzolo/myshell-openvoice-docker/blob/main/Dockerfile

Here
https://github.com/ground-creative/openvoice-docker


Add Airframe configuration for NXP HoverGames KIT-HGDRONEK66

Would like an airframe configuration set for the NXP HoverGames KIT-HGDRONEK66
Describe your preferred solution
Label under quadcopter frames for "NXP-HoverGames KIT-HGDRONEK66"
Describe possible alternatives
Alternatively an LJI-X4 frame. This is more generic, we will likely want "forgiving" tuning on the PID settings.
Additional context
HoverGames will start next month, and  it should be obvious for people to select the correct frame and settings.

@igalloway Presumably you needed to generate a configuration to get it to fly? Can you PR it in? I'm not sure that anything marked "enhancement" will get much investment.

@igalloway ^^^^


Remove version: eat-pray-ai.yutu version 0.8.5

This version is older than what has been set in max-versions-to-keep by the publisher.
Microsoft Reviewers: Open in CodeFlow

URL: https://github.com/eat-pray-ai/yutu/releases/download/v0.8.5/yutu-windows-amd64.exe
OK
(Automated message - build 911)


xWebSite: Resolve Resource Name Case

Prior to this change the case used in the resource name xWebsite was
inconsistant and should have been xWebSite in all instances.

Fixes #535

[x] Added an entry to the change log under the Unreleased section of the CHANGELOG.md.
Entry should say what was changed and how that affects users (if applicable), and
reference the issue being resolved (if applicable).

[x] Resource documentation added/updated in README.md.

[ ] Resource parameter descriptions added/updated in README.md, schema.mof
and comment-based help.

[ ] Comment-based help added/updated.

[ ] Localization strings added/updated in all localization files as appropriate.

[x] Examples appropriately added/updated.

[x] Unit tests added/updated. See DSC Resource Testing Guidelines.

[x] Integration tests added/updated (where possible). See DSC Resource Testing Guidelines.

[x] New/changed code adheres to DSC Resource Style Guidelines and Best Practices.

This change is

This PR contains the commit from #537.
Once 537 is merged I think a quick close and reopen of this PR will drop the earlier commit from the commit list because github will recognize that the sha from 537 is already in the history.
If it doesn't feel free to ping me and I'll do a manual rebase.

Also, Github's UI doesn't make it the easiest thing to see, but the way to verify that I'v done file moves in a way that will stick in the repository is to look at the name of the file in the diff view. If you see a filename, and then a little arrow and another file name, it means the file name was moved from the former to the latter.

Codecov Report

Merging #538 into dev will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##              dev     #538   +/-   ##
=======================================
  Coverage   91.72%   91.72%
=======================================
  Files          17       17
  Lines        2766     2766
=======================================
  Hits         2537     2537
  Misses        229      229

Impacted Files
Coverage Δ

...Resources/MSFT_xSslSettings/MSFT_xSslSettings.psm1
79.62% <ø> (ø)

DSCResources/MSFT_xWebSite/MSFT_xWebSite.psm1
97.22% <100%> (ø)

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 cbfa67d...ef4bae9. Read the comment docs.

I use Reviewable to review, so it clearly shows the renamed files. :)

@johlju Oops. Not sure how I did all those edits and then forgot to rename those files, but it's fixed now.

@RandomNoun7 Thank you for this! 😃


Authentication request failed or expired for account  - aborting login

Hi, I have a pretty esoteric setup, so bear with me. My email provider has recently moved to using oauth2 only and my webmail pop3 client (zimbra) does not appear to support it. So, it looks like this project is a perfect fit. I want to deploy email-oauth2-proxy as a long-lived k8s pod, so I wrote up a quick deployment+ingress+service+configmap helm chart that forwards 1195,1193 to the pod directly and 80 and 443 via nginx-ingress+letsencrypt. This all works smooth as silk. I can telnet to 1195 and 1193 from outside of the cluster and can access 80 and 443 whenever the oauth2 triggers. I have registered an app with Azure and acquired a client_id and a 24month client_secret. My tenant is a large public academic institution and I'm not terribly familiar with Azure as a SaaS provider, so I'm sure that's where the breakdown is.
I have successfully gotten both IMAP and POP3 to trigger an oauth2 request and followed the authentication URL to validate, but that's where it fails. See the following log and configuration for details:
Initialising Email OAuth 2.0 Proxy from config file /opt/emailproxy.config
Starting IMAP server at <IP_ADDRESS>:1993 (unsecured) proxying outlook.office365.com:993 (SSL/TLS)
Starting POP server at <IP_ADDRESS>:1995 (unsecured) proxying outlook.office365.com:995 (SSL/TLS)
Starting SMTP server at <IP_ADDRESS>:1587 (unsecured) proxying smtp.office365.com:587 (STARTTLS)
Initialised Email OAuth 2.0 Proxy - listening for authentication requests
New incoming connection to POP server at <IP_ADDRESS>:1995 (unsecured) proxying outlook.office365.com:995 (SSL/TLS)
Accepting new connection to POP server at <IP_ADDRESS>:1995 (unsecured) proxying outlook.office365.com:995 (SSL/TLS) via ('<IP_ADDRESS>', 21970)
POP (<IP_ADDRESS>:1995; <IP_ADDRESS>:21970->outlook.office365.com:995) --> [ Client connected ]
POP (<IP_ADDRESS>:1995; <IP_ADDRESS>:21970->outlook.office365.com:995) <-> [ Starting TLS handshake ]
POP (<IP_ADDRESS>:1995; <IP_ADDRESS>:21970->outlook.office365.com:995) <-> [ TLS handshake complete ]
POP (<IP_ADDRESS>:1995; <IP_ADDRESS>:21970->outlook.office365.com:995)     <-- b'+OK The Microsoft Exchange POP3 service is ready. [TQBXADMAUABSADAANgBDAEEAMAAwADAAOAAuAG4AYQBtAHAAcgBkADAANgAuAHAAcgBvAGQALgBvAHUAdABsAG8AbwBrAC4AYwBvAG0A]\r\n'
POP (<IP_ADDRESS>:1995; <IP_ADDRESS>:21970->outlook.office365.com:995) <-- b'+OK The Microsoft Exchange POP3 service is ready. [TQBXADMAUABSADAANgBDAEEAMAAwADAAOAAuAG4AYQBtAHAAcgBkADAANgAuAHAAcgBvAGQALgBvAHUAdABsAG8AbwBrAC4AYwBvAG0A]\r\n'
POP (<IP_ADDRESS>:1995; <IP_ADDRESS>:21970->outlook.office365.com:995) --> b'a1 login [[ Credentials removed from proxy log ]]\r\n'
POP (<IP_ADDRESS>:1995; <IP_ADDRESS>:21970->outlook.office365.com:995)     --> b'a1 login <email address> <password>!\r\n'
POP (<IP_ADDRESS>:1995; <IP_ADDRESS>:21970->outlook.office365.com:995)     <-- b'-ERR Protocol error. 19\r\n'
POP (<IP_ADDRESS>:1995; <IP_ADDRESS>:21970->outlook.office365.com:995) <-- b'-ERR Protocol error. 19\r\n'
`POP (<IP_ADDRESS>:1995; <IP_ADDRESS>:21970->outlook.office365.com:995) --> b'USER <email address>\r\n'
POP (<IP_ADDRESS>:1995; <IP_ADDRESS>:21970->outlook.office365.com:995) <-- b'+OK\r\n'
POP (<IP_ADDRESS>:1995; <IP_ADDRESS>:21970->outlook.office365.com:995)     <-- b'-ERR Connection is closed. 12\r\n'
POP (<IP_ADDRESS>:1995; <IP_ADDRESS>:21970->outlook.office365.com:995) <-- b'-ERR Connection is closed. 12\r\n'
POP (<IP_ADDRESS>:1995; <IP_ADDRESS>:21970->outlook.office365.com:995) <-- [ Server disconnected ]
New incoming connection to POP server at <IP_ADDRESS>:1995 (unsecured) proxying outlook.office365.com:995 (SSL/TLS)
Accepting new connection to POP server at <IP_ADDRESS>:1995 (unsecured) proxying outlook.office365.com:995 (SSL/TLS) via ('<IP_ADDRESS>', 40250)
POP (<IP_ADDRESS>:1995; <IP_ADDRESS>:40250->outlook.office365.com:995) --> [ Client connected ]
POP (<IP_ADDRESS>:1995; <IP_ADDRESS>:40250->outlook.office365.com:995) <-> [ Starting TLS handshake ]
POP (<IP_ADDRESS>:1995; <IP_ADDRESS>:40250->outlook.office365.com:995) <-> [ TLS handshake complete ]
POP (<IP_ADDRESS>:1995; <IP_ADDRESS>:40250->outlook.office365.com:995)     <-- b'+OK The Microsoft Exchange POP3 service is ready. [TQBXADQAUAAyADIAMABDAEEAMAAwADAANgAuAE4AQQBNAFAAMgAyADAALgBQAFIATwBEAC4ATwBVAFQATABPAE8ASwAuAEMATwBNAA==]\r\n'
POP (<IP_ADDRESS>:1995; <IP_ADDRESS>:40250->outlook.office365.com:995) <-- b'+OK The Microsoft Exchange POP3 service is ready. [TQBXADQAUAAyADIAMABDAEEAMAAwADAANgAuAE4AQQBNAFAAMgAyADAALgBQAFIATwBEAC4ATwBVAFQATABPAE8ASwAuAEMATwBNAA==]\r\n'
POP (<IP_ADDRESS>:1995; <IP_ADDRESS>:40250->outlook.office365.com:995) --> b'USER <email address>\r\n'
POP (<IP_ADDRESS>:1995; <IP_ADDRESS>:40250->outlook.office365.com:995) <-- b'+OK\r\n'
POP (<IP_ADDRESS>:1995; <IP_ADDRESS>:40250->outlook.office365.com:995) --> b'PASS [[ Credentials removed from proxy log ]]\r\n'
POP (<IP_ADDRESS>:1995; <IP_ADDRESS>:40250->outlook.office365.com:995)     --> b'AUTH XOAUTH2\r\n'
POP (<IP_ADDRESS>:1995; <IP_ADDRESS>:40250->outlook.office365.com:995)     <-- b'+ \r\n'
Authorisation request received for <email address> (local server auth mode)
Email OAuth 2.0 Proxy Local server auth mode: please authorise a request for account <email address>
Local server auth mode (<IP_ADDRESS>:80): starting server to listen for authentication response
Please visit the following URL to authenticate account <email address>: https://login.microsoftonline.com/<tenant_id>/oauth2/v2.0/authorize?client_id=REDACTED
Local server auth mode (<IP_ADDRESS>:80): received authentication response GET /?code=REDACTED HTTP/1.1 200 393
Local server auth mode (<IP_ADDRESS>:80): closing local server and returning response http://<MY PUBLIC DOMAIN>/?code=REDACTED
Authentication request failed or expired for account <- aborting login
POP (<IP_ADDRESS>:1995; <IP_ADDRESS>:40250->outlook.office365.com:995) <-- b'-ERR Authentication failed. Email OAuth 2.0 Proxy: Login failed - the authentication request expired or was cancelled for account <email address>\r\n'

[IMAP-1993]
local_address = <IP_ADDRESS>
server_address = outlook.office365.com
server_port = 993

[POP-1995]
local_address = <IP_ADDRESS>
server_address = outlook.office365.com
server_port = 995

[SMTP-1587]
local_address = <IP_ADDRESS>
server_address = smtp.office365.com
server_port = 587
starttls = True

<EMAIL_ADDRESS>permission_url = https://login.microsoftonline.com/<tenant_id>/oauth2/v2.0/authorize
token_url = https://login.microsoftonline.com/<tenant_id>/oauth2/v2.0/token
oauth2_scope = https://outlook.office365.com/.default
redirect_uri = https://<MY PUBLIC DOMAIN>
redirect_listen_address = https://<IP_ADDRESS>:80
client_id = <client_id>
client_secret = <client_secret>

I've redacted tenant_ids, secrets, long urls,
The one thing that I can't seem to figure out is why the returning response is via http:// instead of https://, but other than that it looks like it should be working?
Thanks!
Jeff

The first error in the log is caused because you are connecting to a POP server with an IMAP client.
In the second part of the log it seems like you are successfully authenticating and authorising access, but the response is failing at this point because you are using https://. The --local-server-auth mode is only meant for internal local connections, so only supports http://, which doesn't match your redirect_uri value. Issue #42 has more discussion of what sounds like a similar setup to yours – it's probably worth looking through the discussion there.
P.s: I took the liberty of formatting your comment a little so that the log and configuration file were more readable. Also - it's fine to delete the documentation from the configuration file as you have done, but it is unlikely to make any difference in terms of performance, and also contains useful explanations for things like the http:// vs. https:// aspect. If you do have a need to keep the file minimal you can remove everything except the actual server and account headings; the rest is for documentation and/or loaded from the default values at startup.

Hi!
Thank you! You pointed me in the right direction, turns out that if you do not have HTTPS='1' (or 'on', or 'yes') then https://github.com/simonrob/email-oauth2-proxy/blob/d2a9a0d9de659a0053554465e5666e45a07ec62a/emailproxy.py#L502 will return the request_uri with http:// prepended instead of https://. Once I ran the script with HTTPS='1' in my environment, my configuration as set above worked.
Thanks,
Jeff

@eljefe80 I am facing a similar issue like you and would like to test if your solution helps for me as well. But not sure how you did resolve. How did you "run the script with HTTPS='1'", where did you set this?


MongoDB output module

This PR contains a MongoDB output module.
To build Zmap with support for it, e.g. do
cmake -DWITH_MONGO=ON .

The MongoDB connection string must be given in output-args. By default the connection is made to mongodb://localhost:27017/zmap_output.
The collection (analogous to tables in relational DBMS) to be used can be configured via output_filename, the default one is "zmap_output".

Thanks for the pull request and sorry for the delay in getting back to you. @amirian28, did you ever get a chance to take a look at this?

@mschoenlaub looks pretty good to me! However, it crashes if the zmap scan returns zero results. It'd be nice to fix that before we merge.

Also, sorry about the delay in getting back to you, the ZMap team has been swamped with other things the last few months.

@dadrian : No problem. Issue is fixed now. Sorry for the formatting changes slipped into the commit.

Thanks!


Liveness check fails

The following spec:
---
# disabled because of https://github.com/fizzbee-io/fizzbee/issues/106
deadlock_detection: false
options:
    max_actions: 100
action_options:
    Human.Input:
        max_actions: 2
        max_concurrent_actions: 1
    Worker.Receive:
        max_actions: 2
        max_concurrent_actions: 1
---

always eventually assertion UIMatches:
  # accumulate history that isn't sorry, or before sorry
  mod_sorry = []
  history = ui.history
  for i in range(len(history)):
    if history[i][0] != "Sorry" and (i+1 == len(history) or history[i+1][0] != "Sorry"):
      mod_sorry.append(history[i])

  return mod_sorry == api.history or history[-1][0] == "Sorry"

def next_letter(letter):
  # next lowercase letter, wrapping back to a when reaching z
  return chr((ord(letter) - 97 + 1) % 26 + 97)

role Human:
  # model Human side of the conversation

  action Input:
    # start the conversation with "a" or reply to the AI
    # with the next letter
    input = None
    response = ui.history[-1] if ui.history else None
    if not response or response[0] == "Sorry":
      input = ("Human","a")
    elif response[0] == "AI":
      input = ("Human", next_letter(response[1]))

    if input:
      ui.input(input)

role ChatUI:
  action Init:
    self.history = []

  func input(input):
    last_ai = None
    # find last reply id from assistant
    for i in reversed(range(len(self.history))):
      if self.history[i][0] == "AI":
        last_ai = self.history[i][2]
        break
    human_msg_id = len(self.history)+1
    message = (input[0], input[1], last_ai, human_msg_id)

    atomic:
      self.history.append(message)
      sqs.send_message(message)

  func callback(response):
    # drop late responses
    human_msg_id = response[3]
    if human_msg_id == len(self.history):
      self.history.append(response)

  fair action SorryTimer:
    # if we haven't got a response from the API, say sorry
    if self.history and self.history[-1][0] == "Human":
      self.history.append(("Sorry", None, None))

role SQS:
  action Init:
    self.fifo = []

  func send_message(msg):
    sqs.fifo.append(msg)

  func receive_message():
    return sqs.fifo[0] if sqs.fifo else None

  func receive_message_once():
    return sqs.fifo.pop(0) if sqs.fifo else None

  func delete_message(msg):
    atomic:
      if msg in sqs.fifo:
        sqs.fifo.remove(msg)

role Worker:
    action Init:
        pass

    action Receive:
      msg = sqs.receive_message_once()
      if msg:
          reply = api.message(msg)
          ui.callback(reply)

role API:
  action Init:
    self.history = []

  func message(msg):
    kind, text, last_ai, human_msg_id = msg
    if last_ai:
      # drop any AI replies the chat ui hasn't seen
      self.history = self.history[:last_ai+1]
    else:
      # receiving message that's never seen an assistant reply
      # so reset
      self.history = []

    self.history.append(msg)
    reply = llm.chat(text)

    reply_id = len(self.history)
    response = (reply[0], reply[1], reply_id, human_msg_id)
    self.history.append(response)
    return response

role LLM:
  # model LLM side of the conversation

  func chat(text):
    # return next letter in the convo
    return ("AI", next_letter(text))

action Init:
  h = Human()
  ui = ChatUI()
  sqs = SQS()
  w = Worker()
  api = API()
  llm = LLM()

fails with:
FAILED: Liveness check failed
Invariant: UIMatches
------
Init
--
state: {"api":"role API#0 (fields(history = []))","h":"role Human#0 (fields())","llm":"role LLM#0 (fields())","sqs":"role SQS#0 (fields(fifo = []))","ui":"role ChatUI#0 (fields(history = []))","w":"role Worker#0 (fields())"}
------
Human#0.Input
--
state: {"api":"role API#0 (fields(history = []))","h":"role Human#0 (fields())","llm":"role LLM#0 (fields())","sqs":"role SQS#0 (fields(fifo = []))","ui":"role ChatUI#0 (fields(history = []))","w":"role Worker#0 (fields())"}
------
thread-0
--
state: {"api":"role API#0 (fields(history = []))","h":"role Human#0 (fields())","llm":"role LLM#0 (fields())","sqs":"role SQS#0 (fields(fifo = []))","ui":"role ChatUI#0 (fields(history = []))","w":"role Worker#0 (fields())"}
------
thread-0
--
state: {"api":"role API#0 (fields(history = []))","h":"role Human#0 (fields())","llm":"role LLM#0 (fields())","sqs":"role SQS#0 (fields(fifo = []))","ui":"role ChatUI#0 (fields(history = []))","w":"role Worker#0 (fields())"}
------
thread-0
--
state: {"api":"role API#0 (fields(history = []))","h":"role Human#0 (fields())","llm":"role LLM#0 (fields())","sqs":"role SQS#0 (fields(fifo = []))","ui":"role ChatUI#0 (fields(history = []))","w":"role Worker#0 (fields())"}
------
thread-0
--
state: {"api":"role API#0 (fields(history = []))","h":"role Human#0 (fields())","llm":"role LLM#0 (fields())","sqs":"role SQS#0 (fields(fifo = []))","ui":"role ChatUI#0 (fields(history = []))","w":"role Worker#0 (fields())"}
------
thread-0
--
state: {"api":"role API#0 (fields(history = []))","h":"role Human#0 (fields())","llm":"role LLM#0 (fields())","sqs":"role SQS#0 (fields(fifo = []))","ui":"role ChatUI#0 (fields(history = []))","w":"role Worker#0 (fields())"}
------
thread-0
--
state: {"api":"role API#0 (fields(history = []))","h":"role Human#0 (fields())","llm":"role LLM#0 (fields())","sqs":"role SQS#0 (fields(fifo = [(\"Human\", \"a\", None, 1)]))","ui":"role ChatUI#0 (fields(history = [(\"Human\", \"a\", None, 1)]))","w":"role Worker#0 (fields())"}
------
Human#0.Input
--
state: {"api":"role API#0 (fields(history = []))","h":"role Human#0 (fields())","llm":"role LLM#0 (fields())","sqs":"role SQS#0 (fields(fifo = [(\"Human\", \"a\", None, 1)]))","ui":"role ChatUI#0 (fields(history = [(\"Human\", \"a\", None, 1)]))","w":"role Worker#0 (fields())"}
------
thread-0
--
state: {"api":"role API#0 (fields(history = []))","h":"role Human#0 (fields())","llm":"role LLM#0 (fields())","sqs":"role SQS#0 (fields(fifo = [(\"Human\", \"a\", None, 1)]))","ui":"role ChatUI#0 (fields(history = [(\"Human\", \"a\", None, 1)]))","w":"role Worker#0 (fields())"}
------
Worker#0.Receive
--
state: {"api":"role API#0 (fields(history = []))","h":"role Human#0 (fields())","llm":"role LLM#0 (fields())","sqs":"role SQS#0 (fields(fifo = []))","ui":"role ChatUI#0 (fields(history = [(\"Human\", \"a\", None, 1)]))","w":"role Worker#0 (fields())"}
------
stutter
--
state: {"api":"role API#0 (fields(history = []))","h":"role Human#0 (fields())","llm":"role LLM#0 (fields())","sqs":"role SQS#0 (fields(fifo = []))","ui":"role ChatUI#0 (fields(history = [(\"Human\", \"a\", None, 1)]))","w":"role Worker#0 (fields())"}
------

But I can't understand why. It seems to me like the invariant will be satisfied if the checker continues? Am I missing something here?

This is a combination of two issues.

The stuttering and liveness behavior was counter intuitive.
I fixed this issue, just a few days ago. But I just upgraded the frontend.
There is another counter intuitive issue, I am not sure what correct behavior must be.
https://docs.google.com/document/d/145D7LmIMMPteuSczy3PlFYw_FDCUAXs7cA7ML3JTUvA/edit?usp=sharing
The issue is, after a yield step, if there is another instruction, and that instruction is not enabled, the current behavior is, it will be treated equivalent to wait until that instruction becomes enabled. This definitely is counter intuitive.

For your example: The possible fixes are either:

Set the max_concurrent_actions for the global level to 2. (That way, even if Worker.Receive and Human.Input are stuck waiting for each other, the ChatUI.SorryTimer action has another thread to execute.)
Or, add an else block to the Human.Input. if input:
   ui.input(input)
 else:
   pass

For the second issue, I documented, what do you think should be the intended behavior?

Oops, my mistake. The default for max_concurrent_actions: 2. So you need to increase it to max_concurrent_actions: 3

Let me know if this works and if you are okay to close this issue.

Yes setting max_concurrent_actions: 3 works - thank you.
When does a disabled action wait and consume a concurrency slot?
In some cases it doesn't, eg: a trivial action like:
  action Disabled:
    pass
    require False

Doesn't seem to consume a concurrency slot.

Obviously, disabled action implies that action can't or doesn't happen.
An action will be consuming a thread or a slot of concurrency from the start of the action until it ends -  either successful completion or crash.

I would think so too. Except in the case that the above were:
    require input
    ui.input(input)

Then when the action is disabled the only way to avoid stutter is to increase global concurrency to 3. Implying a disabled action does consume a thread.
What am I missing?

That's a great question. Let me try to explain how it works and let me know what's the best way to document this concisely.
Take a look at this tiny example. The action Add has two steps each increment variable a once by 1.
---
deadlock_detection: false
options:
    crash_on_yield: false
    max_actions: 1
---

action Init:
  a = 0

action Add:
  a += 1
  # yield point here between these two lines
  a += 1

When you run this, you'll see a total of 3 states.

Init state.
Add called, incremented a by 1 and reached the yield point.
The thread resumed and incremented a again.

So the add action has two state transitions.
If the same add action was atomic, then the add action would be in a single transition.
The require statement applies to each transition not each action.
In atomic action, the entire action is a single transition. So require False implies the only action itself is not enabled.
In non atomic action, if the first transition was disabled, it's like the action itself never happened.
If the first one was enabled but the second transition is disabled, then the first action has happened. And consumes the concurrency slot / thread.

Thank you, I think I understand now! Would be great to capture this in the docs.


Extended nameof parameter scope

Fixes #29271
Updates for the new scope rules for nameof and parameters.

Update the what's new article for C# 11.
Update the Nullable analysis and caller information attribute pages with examples.
Update the nameof reference page with new rules and new examples.

Keeping this in draft status.  The work is done, and this works in Visual Studio 17.3. This feature didn't make the .NET 7 preview 4 build. It will be in the next SDK preivew..

@adegeo This is ready now that Preview 5 is released.


Captcha future request

Generally proxy / captcha or 3rd party connections letting the software work so slower.
If it is possible please add an option if google ask any captcha it should ask us to solve and wait. This should be better because when captcha resolved from  a single ip a few times google won't ask for the captcha again.

duplicate #105


multi-node ESX support in tenancy/auth code

Fixes #1032
This PR brings new Admin CLI command for configuration (auth DB) management, and related changes to the auth code. See admin_cli.md for more info.
Please do not start long discussions here, If there is a need for long(er) discussion, let's have an offline chat first
Implemented:
- added "modes" to DB open. The mode is calculated on open, and can be: NotConfigured (no DB, no access control) , MultiNode or SingleNode (DB is there and operates normally) and BrokenLink (db or link are broken)
- refactored AuthenticationDataManager - added misc. methods. made private methods private, allowed 'with' construct, added mode calcultion and to dealing  with modes
- added all commands to admin  CLI, almost per spec (see admin_cli.md)
- Added some tests
Not impemented:
- discovery  code (scanning datastores) is missing (Phase 2)
- tests are very few

@pdhamdhere @shaominchen  - thanks for the comments.  Stand by for the update with fixes addressing them
Meanwhile, any comments on the rest are more than welcome as well

@msterin It doesn't matter which tool you are using. You can use whatever tooling you like to illustrate the state transitions. It will be extremely helpful for us to understand the logic, and to find out potential bugs (e.g. invalid or missing state transition paths)

@lipingxue  - thanks for the review. A few replies:

current code requires user to run "config init" on each ESX, and the auto-discovery part has not been implemented yet, right?

It requires to run  it only for MutliNode mode. As it is, it will work in SingleNode ode (if it's an upgrade) or NotConfigured (if it's a new install) without running init.

What is the "config move" story?

It is muddy :-) which is why it is not impemented yet. We intended it for "promote  existing single node config to be a shared one on " and "migrate DB between datastores" use cases.
Without discovery though it's too messy so I'll try to spec and implement it with discovery only

For example, a ESX start running as SingleNode config, and create a tenant and several volumes. Then it decides to join another MultipleNode config, then what the user need to do? Just run "config move"?

yes

Then a follow up question is do we combine the content of this two configuration?

never. We do not move "a set of configuration values" , we move the whole DB

I should clarify, we MUST get green CI run before we merge this PR.

@msterin Do you plan to add the state transitions to the admin CLI comments in the next commit? I'd like to see the state transitions and take a 2nd look at the code logic.

@govint @lipingxue @shaominchen  - all comments have been addressed. please take a look.
Test:  'make test-all' and CI (in flight). I will also check CI errors (if any) and address regardless of approvals.

Could you please confirm the state transitions as show in this diagram? I didn't add the state transition conditions yet as I want to confirm all the possible transition paths first.

@shaominchen - thank you very much for the thorough review. All typos and confusing sections you pointed to fixed.
I can't really comment  about the diagram and abstract states  without specific use cases. For example "unknown to brokenlink" state transition is perfectly valid use case - it simply means the service starts ("unknown state") finds an issue and stops serving requests until the issue is fixed (being in "broken link" state all this time)

Here's the latest diagram that shows the possible state transitions:

Some state transition paths may not be valid. Anyway, let's leave it as is for now. We can come back and revisit this diagram if we find bugs later due to invalid state transitions.

@lipingxue Yes, "config rm" can be run from SingleNode and MultiNode as well. I've already fixed the diagram. I didn't add the transition paths between SingleNode and MultiNode, as I can't think of any use case why we need to support a direct transition path between these 2 modes. I'd suggest to remove these path from ConfigDB_state.md doc as well.
My personal opinion is: if we are not sure whether a state transition is valid or not, then we should start with not supporting it. Or in other words, we should not support a state transition unless we are sure there are valid use cases handled by this transition.

Ideally I would suggest to support the following state machine:

This state machine is much simpler:

Service start can go to any state, depending on the conditions
From "NotConfigured", if init/discovery succeeds, go to "SingleNode" or "MultiNode" state; otherwise go to "BrokenLink" state
From "SingleNode", "MultiNode" or "BrokenLink" state; run "config rm" to clean up all local configuration (including symlink for shared DB) and go to "NotConfigured" state

We may revisit this when we consider to simplify or refactor the existing implementation.


Update tekton tasks manifests to version v0.17.0

Update tekton tasks manifests to version v0.17.0
Release note:
NONE

/cherry-pick release-v0.17
/approve
/lgtm

/override ci/prow/e2e-tests


Set the analytics ID in Netlify config

To avoid issues like those reported by:

https://github.com/kubernetes/website/issues/36011

We should implement the solution proposed in https://github.com/kubernetes/website/issues/36011#issuecomment-1217887591.

[x] Manually set HUGO_SERVICES_GOOGLEANALYTICS_ID to the GA4 ID in the Netlify config
[ ] Remove the GA ID from the project config - #1628

/cc @nate-double-u ☝


Warning: Quoted type constraints are deprecated

terraform init yields this:
Warning: Quoted type constraints are deprecated

  on .terraform/modules/tf_registry/variables.tf line 12, in variable "name_prefix":
  12:   type        = "string"

Terraform 0.11 and earlier required type constraints to be given in quotes,
but that form is now deprecated and will be removed in a future version of
Terraform. To silence this warning, remove the quotes around "string".

https://github.com/apparentlymart/terraform-aws-tf-registry/pull/2/

https://github.com/apparentlymart/terraform-aws-tf-registry/pull/2/


Module is greedy and breaks things

I think the module is HTML minifying every SS request - which is causing all kinds of problems in the backend, such as the page area not working when you click on pages. The fix is probably to ensure this module only acts on client-facing pages and not other requests.

Did you find a work around for this? I've just debugged a whole load of admin area issues which came back to this plugin.


One pixel in being cut off of Meslo Powerline font

Issue was not present in snapshot 100, and it started to be present since snapshot 101 until latest snapshot 111. Issue in not present using iTerm2 and terminal vim.
Character affected (now, before)

MacVim Snapshot 100

MacVim Snapshot 101

MacVim Snapshot 111 (latest)

Perhaps this bug is dublicate this one #572

@ericbn Hi, quite a lot had been happened and could you have a chance to tell us if this is still an issue for you?

Just checked with "Custom Version 8.1.1517 (156)" and the issue is gone. Thanks for keeping an eye on this!


CLI-Wallet: Breeding and NFT Ownership

https://github.com/mlabs-haskell/TuxedoDapp/issues/10

Since Riust-side implementation is done I moving to Done as it is already submitted in the https://github.com/mlabs-haskell/Tuxedo
Npte: This has limitation in current cliwallet. I.e we cant move the owner ship from different wallet  due to some limitation as explained in https://github.com/Off-Narrative-Labs/Tuxedo/issues/169
While transferring the kitty and money within the different key pairs used in the wallet is already done.
The implementation of the HTLS swaps , Automic swaps , smart contracts , QR code is not in this scope I am moving them to done.


Implement $_FILES

Request feedback/merge addresses #1099

I don't think $_SERVER should be used in this direct way. Why not use the same structure as cookies and headers?


Custom model

Hi, I have a problem at my cutom model.
my class
use Lazer\Classes\Database; class Test extends Database {     protected $name = "test"; }
result:
<b>Warning</b>:  Creating default object from empty value in <b>
/vendor/greg0/lazer-database/src/Lazer/Classes/Core/Database.php on line 794
var_dump result:
object(Test)#28 (7) {   ["name":protected]=>   string(4) "test"   ["data":protected]=>   NULL   ["set":protected]=>   object(stdClass)#29 (2) {     ["id"]=>     int(1)     ["names"]=>     string(4) "test"   }   ["currentId":protected]=>   int(1)   ["currentKey":protected]=>   int(0)   ["pending":protected]=>   NULL   ["resetKeys":protected]=>   int(1) }
can you help this?
Thank you

It is all code?
I think it is not necessary to create class like Test here. However code is old, not elegant, buggy and project is dead.


Number Formatting

I just found out about XCBasic this afternoon, and right after work, I started some basic (no pun) investigation to speed differences.  I plan on writing a simple program that I wrote in college for the PC/DOS, and the text animation I plan on having is probably going to be best suited for XCBasic instead of my writing ASM for the UI. :)
I wrote the following program:
10 print "{CLR}";
20 x=0
30 x=x+1
40 print "{HOME}";
50 print x
60 goto 30

I pasted this code into VICE (x64sc.exe) with appropriate fixes for {CLR} and {HOME}, and then compiled it into a PRG using xcbasic.
What I noticed is that the typed in variant running in C64 BASIC, there's a space before the number to indicate the sign of the number.  Positive in this case.  In the image on the right, the compiled code, there is no space.  Is this something intentional?

Hi
Thanks for trying XC=BASIC!
Yes, it's intentional. CBM BASIC starts the number with space (positive) or - (negative) while XC=BASIC puts no space if it's positive.
However when you print floating point numbers in XC=BASIC, they'll be printed just like in CBM BASIC.
Although you should try to avoid using floating point, it's very slow compared to integers.

Hi
Thanks for trying XC=BASIC!
Yes, it's intentional. CBM BASIC starts the number with space (positive) or - (negative) while XC=BASIC puts no space if it's positive.
However when you print floating point numbers in XC=BASIC, they'll be printed just like in CBM BASIC.
Although you should try to avoid using floating point, it's very slow compared to integers.

Alright, thanks.

Alright, thanks.


Testing framework: support for extra arguments in node startup

In the testing framework the extra_args parameter is declared but not handled in the method  start_sc_node() here:
https://github.com/HorizenOfficial/Sidechains-SDK/blob/b6b533ee909db603136d3c7e2f598d1f75faa5e4/qa/SidechainTestFramework/scutil.py#L340
could be useful if we have to  pass custom system properties to the node  with -D option
Note: as temporary solution I tried to include the -D option in the "binary" argument: this works but does not support values with spaces , as they cause a wrong split of the command line here:
https://github.com/HorizenOfficial/Sidechains-SDK/blob/b6b533ee909db603136d3c7e2f598d1f75faa5e4/qa/SidechainTestFramework/scutil.py#L358

@paolocappelletti is it still a case?


pythoncomplete: quash possible messages from evaling user code

Problem:  Python packages like scapy outputs fair amount of warning
          messages at import time when detecting its runtime
          environment.  This is irrelevant in the context of
          pythoncomplete
Solution: silent! the vimcomplete python call and unsilent the showdbg
          call there within

Hi, do I need to provide extra input to move the pull request forward?

Have you tried to contact the maintainer of this file?

Hi, @k-takata , thanks for the response!

Have you tried to contact the maintainer of this file?

Not yet.  Should I contact Aaron the author of the file and make the change appear in [1] first, then wait and see it brought into vim repo here?
[1] http://www.vim.org/scripts/script.php?script_id=1542

Yes, please.
Please also check CONTRIBUTING.md.

Thanks for the instructions.  I am closing this for now.

If the maintainer didn't response, feel free to reopen this PR.

Hello, I contacted Aaron the maintainer of pythoncomplete a while ago and learned that he has not been doing vim development for quite a while and as such the content at vim.com is now not maintained.

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@a37ffaa). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master    #1583   +/-   ##
=========================================
  Coverage          ?   75.19%
=========================================
  Files             ?       92
  Lines             ?   134291
  Branches          ?        0
=========================================
  Hits              ?   100981
  Misses            ?    33310
  Partials          ?        0

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 a37ffaa...e182ba7. Read the comment docs.

so, would you like to become the new maintainer?

Switched to https://github.com/python-mode/python-mode


Adding feature_importances to report for DecisionTree models

This update adds feature_importances to the report for each model from DecisionTrees.jl using the impurity_importance function. I've followed the same output format as the feature_importances from EvoTrees.jl and added a simple test for each method to runtests.jl.

@OkonSamuel

This update adds feature_importances to the report for each model from DecisionTrees.jl using the impurity_importance function. I've followed the same output format as the feature_importances from EvoTrees.jl and added a simple test for each method to runtests.jl.

I can see here that you are using impurity_importance. I suggest adding a new parameter to DecisionTree models that would allow the user to specify the method to use in computing feature importance.

Are you suggestion I add a new hyperparamter to the structs in MLJDecisionTreeInterface.jl? If not, where should this go?

Are you suggesting I add a new hyperparamter to the structs in MLJDecisionTreeInterface.jl? If not, where should this go?

Yes.

Okay, now we've got the ability to choose from :none, :impurity, and :split. I wasn't sure how to deal with the permutation_importance function generically as it has a different signature than the other two. Any suggestions?

@OkonSamuel
Okay, now we've got the ability to choose from :none, :impurity, and :split. I wasn't sure how to deal with the permutation_importance function generically as it has a different signature than the other two. Any suggestions?

Don't worry about permutation importance for now. That would added later to MLJBase.

Okay, sounds good. Is there anything else that needs to be done?

Codecov Report

Merging #28 (5b50674) into dev (d94341a) will decrease coverage by 1.05%.
The diff coverage is 84.78%.

@@            Coverage Diff             @@
##              dev      #28      +/-   ##
==========================================
- Coverage   86.20%   85.15%   -1.06%
==========================================
  Files           1        1
  Lines          87      128      +41
==========================================
+ Hits           75      109      +34
- Misses         12       19       +7

Impacted Files
Coverage Δ

src/MLJDecisionTreeInterface.jl
85.15% <84.78%> (-1.06%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

@OkonSamuel Okay, I think I have it updated to follow the format now. Apologies for the confusion; I was using EvoTrees.jl as an example and thought they needed to be in the report. I ended up adding features to the report of each model so they'd be available for the feature_importances function. I guess EvoTrees.jl will need to be updated next, right?

@OkonSamuel Okay, I think I have it updated to follow the format now. Apologies for the confusion; I was using EvoTrees.jl as an example and thought they needed to be in the report. I ended up adding features to the report of each model so they'd be available for the feature_importances function. I guess EvoTrees.jl will need to be updated next, right?

Yes. We plan to make changes to several packages including EvoTrees.jl

@OkonSamuel Glad to help!

Okay, great to have this. I'll tag a new release.


Adds HasDuplicates

Add one new extension methods:
-HasDuplicates, an quick an efficient way to find out if you have any duplicates.

@atifaziz @leandromoh @Orace if anyone is available for a quick review :)

At the very least, this should be two separate PRs. HasDuplicates as an operator has nothing to do with ToReadOnlyCollection, so combining them on a single PR is definitely improper.

I can understand why, you would prefer 2 PR, i'll keep that in mind for my future contributions. Thanks!

source.ScanBy(e => e, e => 0, (count, _, _) => count + 1, comparer)
          .Any(e => e is (_, > 1))

I can understand your concern, but isn't that the MoreLINQ mission to make it simple working with collections? And using DRY?
the ScanBy solution works, and is efficient but lacks lisibility and abstraction.
You need to decipher the statement to understand that it does a HasDuplicates

An even simpler version that should be easy to decipher:

Still lacks abstraction and breaks DRY as soon as you use it more than once.
I mean the goal is to add Abstraction over commonly used LINQ pattern, helping with DRY and adding explicit scenarios in the linq ( extension ) API
a quick google search:

https://stackoverflow.com/questions/5080538/c-sharp-determine-duplicate-in-list (9 years ago)
https://stackoverflow.com/questions/16197290/checking-for-duplicates-in-a-list-of-objects-c-sharp (10 years ago)
https://stackoverflow.com/questions/18547354/c-sharp-linq-find-duplicates-in-list (12 years ago)

tons of upvotes, tons of way of doing it... some more efficient than others... and yet people are still wondering HOW to do it, because .NET has not yet abstracted it into a pretty abstraction like HasDuplicates.
The goal should not be to figure out how to do a HasDuplicates. It should be to find which nice library like moreLINQ can help me improve my productivity by skipping those google search all together ;)
If you do not agree with the above, you can close that PR.
Have a great day and thanks for the feedback

An overload with a selector (like the one first, min, max, etc have) is easy to implements and are a nice addition. Like
s.HasDuplicate(e => e.Id) instead of s.Select(e => e.Id).HasDuplicate().

Overloads with a selector (like the one first, min, max, etc have) are easy to implement and are a nice addition. I mean s.HasDuplicate(e => e.Id) instead of s.Select(e => e.Id).HasDuplicate().

i added 2 overloads to enable projection

I just wanted to drop a short note to say that I don't mean to give this any silent treatment. I have been travelling and will be AFK for most of the next two weeks. If I do get a moment or two, I will try and follow-up. If something like HasDuplicates hasn't landed in .NET for over a decade (based on the quoted ages of the StackOverflow questions), then hopefully a few more weeks won't kill anyone. 😅

Announcement (I will delete this post on request): HasDuplicates was added to EnumerationQuest v1.1.0.

@viceroypenguin, it actually is GetHasDuplicates / AndHasDuplicates.
(hasDuplicate, min, max) = e.GetHasDuplicates().AndMin().AndMax();
(min, max, hasDuplicate) = e.GetMin().AndMax().AndHasDuplicates();

@Orace Ah, I just saw HasDuplicates as a method in one of the files, so I jumped from that to the idea that the IEnumerable<> extension would be HasDuplicates as well. Apologies! :)

I just wanted to drop a short note to say that I don't mean to give this any silent treatment. I have been travelling and will be AFK for most of the next two weeks. If I do get a moment or two, I will try and follow-up. If something like HasDuplicates hasn't landed in .NET for over a decade (based on the quoted ages of the StackOverflow questions), then hopefully a few more weeks won't kill anyone. 😅

if you have time :)

if you have time :)

I'll try to find some this week.

if you have time :)

I'll try to find some this week.

friendly reminder 📆

if you have time :)

I'll try to find some this week.

friendly reminder 📆

Monthly reminder 👯♂

if you have time :)

I'll try to find some this week.

friendly reminder 📆

Monthly reminder 👯♂

Monthly reminder 🗓

Announcement (I will delete this post on request): HasDuplicates was added to EnumerationQuest v1.1.0.

@Orace Lately there's been lots of advertising going on in the repo. One more won't hurt 😅 so don't worry about deleting it.

Hi @julienasp. Thanks for the friendly and regular reminders, and especially for your patience while I needed to attend to other things before reverting to this.

LINQ to Objects is missing a few desirable features.
This project enhances LINQ to Objects with extra methods, in a manner which keeps to the spirit of LINQ.
…, but isn't that the MoreLINQ mission to make it simple working with collections?

That's not the mission. It's to provide general and generic algorithms that operate on sequences and compose well with the rest of the ecosystem of operators to compute a desired result. The more general an operator is, the more reusable it is, and so yes:

And using DRY?

that is the DRY bit. If you have to repeatedly use some lambdas to vary and bend the algorithm to your actual need then that's the acceptable balance of repetition.

I mean the goal [is/should be] to add Abstraction over commonly used LINQ pattern, helping with DRY and adding explicit scenarios in the linq ( extension ) API

Abstractions can exist at several levels, but adding explicit scenarios contradicts that.
The first and foremost goal that remains is to encode unique sequence operators that encapsulate side-effects and which can be composed together. Sometimes, there's more than one way to skin a cat and as we've added more general operators to the library, we've found that some older one could be implemented in terms of newer and more general ones. The rule of thumb has been that if something takes 3 or more compositions and very broadly applicable then it may be worth adding. Choose is one such example, which is essentially Select + Where + Select. We have to also consider the cost of maintaining each addition long after the original contributor has moved on.

the ScanBy solution works, and is efficient but lacks lisibility and abstraction.
You need to decipher the statement to understand that it does a HasDuplicates

I understand, but I think it's fair to ask the user to add a simple helper method to their project if it helps them to increase readability and avoid repetition. If you want to avoid doing that across several projects, I'd be happy to see someone maintain such small helpers as an add-on to MoreLINQ.

The goal should not be to figure out how to do a HasDuplicates.

The goal of MoreLINQ is to offer basic building blocks and sometimes you have to figure out how to combine those blocks to get the result you're after. The potential problem with adding it to MoreLINQ is scope creep. If we add HasDuplicates then the next person who wants a variation on it will ask for another version to be added. For example, beyond just knowing whether there are duplicates or not, one may want to:

list of all duplicates
list a sample of first N duplicates
list of duplicates together with their index/position in the sequence

Imagine if everyone wanted to add a version that reads more abstract and readable added then soon you could get a spaghetti of extensions that you need to try and maintain coherently.
That all said, I think we can strike a compromise here by shooting for the most general case of streaming duplicates in a sequence. Then you can combine it with Any() to get the effect of HasDuplicates (albeit at the cost of a small allocation) while also leaving the door open for others to have their variations (like combining with Take to get N samples or with Index to capture positions, etc.). If you're willing to reshape this into an extension called Duplicates then I'd be happy to consider this for the next release.
Otherwise, you can vote and argue on issue dotnet/runtime#30582 for the same into .NET.

"GroupBy + Count" was a naive alternative for CountBy, but when we added it the rational was tha same: to provide an efficient (therefore not naive) implementation and well tested abstraction for the user to consume.

@leandromoh Actually, it was simply added as a parallel to Seq.countBy in F# (see #108). There was no other rationale or thinking behind it besides it would allow C# developers to have the same functionality without taking a dependency on F# libraries.

When we added IndexBy (which is basically a wrapper for ScanBy) the rational was tha same: to hide the hard part to reason about and make a simple and well tested abstraction for the user to consume.

@leandromoh I just want to make sure that we recall things correctly here. We have always tried to see if something can be implemented more generally, and in that vein, IndexBy came before ScanBy. In fact, ScanBy was born out of generalising IndexBy during the PR review. Once the generalization was added, IndexBy was written in its terms. I am going through the same thought process here.

Thanks for the very detailed reply!
I really like your idea, so a Duplicates extension that returns all duplicates based on a predicate, and after that if they want to knows if there's any duplicates they can pair it with IsEmpty or Any
collection.Duplicates(x => x.Property).Any()

I'll work on that this week.
Thanks again!

@atifaziz I'm sorry, but I'm going to disagree with you here.
.Duplicates() does not seem to be a valuable operator, as it does not add anything (other than naming) that couldn't be done by calling .IndexBy(predicate).Where(x => x.Value > 1).Select(x => x.Key).DistinctBy(predicate), .CountBy(predicate).Where(x => x.Value > 1) (depending on whether the writer prefers succinctness or performance/only consuming as many elements as necessary).
A .Duplicates() operator seems overly focused and not generally useful enough, as compared to other operators already present to handle counting.
However, .HasDuplicates() even though it is more focused, is more specifically and commonly useful (again, as evidenced by the number of people looking to know if there are any duplicates in a sequence).
Note that in this comment, the .net bcl person responsible for System.Linq prefers to use .CountBy() as a means of implementing .Duplicates(), and .CountBy() is now available in the bcl, along with .AggregateBy().
For the comments arguing about consuming the entire sequence, I don't believe that this is a justifiable reason to include .Duplicates() when it is trivially implemented using .IndexBy() or .ScanBy().

Created a new PR here
but its NullArgumentTest are giving me trouble, i haven't figured it out yet.

@atifaziz I'm sorry, but I'm going to disagree with you here.

@viceroypenguin You're entitled to disagree and your mileage may vary. I'm happy with neither adding Duplicates nor HasDuplicates because, as I said, you can achieve the same with ScanBy and ScanBy + Any the few times you need to do detect (and list) duplicates. In case ScanBy reads tricky for others, I'd leave a comment in the source code and move on, but that's me. Frankly, I'd be even happier if people directed more energy towards issue dotnet/runtime#30582 so they can get it as part of .NET proper. 😅
Since @julienasp seems content with the compromise of adding Duplicates instead, I'll let you debate with him and convince him otherwise. You have also added HasDuplicates to your personal fork, so I don't understand what pain you're wanting to help us avoid down the road by preventing a more general and streaming version from being added here.
I can imagine the streaming version being potentially helpful to do a check on data for duplicates (thinking millions of records) before submitting an expensive computation that could, for example, cost money on the cloud. A streaming version can stop as soon as a duplicate has been detected and report it. For those working with small data or are okay with a Boolean answer, they can just compose with Any. I don't see a reason to choose one over the other when you can have both.

Note that in this comment, the .net bcl person responsible for System.Linq prefers to use .CountBy() as a means of implementing .Duplicates(), and .CountBy() is now available in the bcl, along with .AggregateBy().

Unless I misread or missed something, I don't believe he ever expressed his preference in that comment. He just pointed out how people have been using Seq.countBy for the purpose of duplicates detection, which is fine if full consumption of the sequence is not a concern. Also, preferences are subjective.
Ultimately, this seems to be about names like HasDuplicates/Duplicates just being more discoverable for those who may be largely unfamiliar with the operators and how to use them to achieve the same.

Superseded by #1037.


new user, lots of confusion, gui doesn't start

Newcomer here. Installed app. Nothing worked. Now some do, app doesn't.
Okay, first install is horrible: the app doesn't start, say "Loading...."
 Tried login. Nah, no, try register on web. Okay. Then what? Okay, login now? Kind of yeah. Did a bunch of various commands until it started working, including unlocking something. Still, app doesn't work, but at least FS seems to operate. That's technically a sidetrack, I guess if the app worked it'd have done this all. Maybe?)
my log id: 1da0b5c4e42112f50e0d741c
debian/sid, installed from the pkg

Observed similar effects as https://github.com/keybase/client/issues/2664

From Keybase: log: Thu Mar 02 2017 23:28:52 GMT+0100 (CET)<PHONE_NUMBER>040): ["RPC [W] localhost: Error: connect ENOENT /keybase/keybased.sock"]
this may be a problem. Where's my sock…?

export XDG_RUNTIME_DIR=~/.config makes the GUI start. That's not friendly.


A question about depth test..

Sorry, I'm just a novice about OpenGL. I've found some problem in the "hello triangles". Although you've enable depth test, it seems that the depth writing has been disabled and they are shown in the order of rendering.

you can see this article
https://learnopengl.com/Advanced-OpenGL/Depth-testing

I‘am still confused... Anyway, thanks a lot. I'll try by myself.


#82 downgrade fluentd docker version, allow fluentd minor version upg…

…rades, update readme on building gem files and docker image
Proposed changes
Describe the big picture of your changes here to communicate to the maintainers why we should accept this pull request. If it fixes a bug or resolves a feature request, be sure to link to that issue.
Types of changes
What types of changes does your code introduce?
Put an x in the boxes that apply

[x] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist
Put an x in the boxes that apply.

[x] I have read the CONTRIBUTING doc
[x] I have read the CLA
[ ] I have added tests that prove my fix is effective or that my feature works
[x] I have added necessary documentation (if appropriate)
[ ] Any dependent changes have been merged and published in downstream modules

There's no need to downgrade the Dockerfile version; simply updating the dependency to be ~>rather than = should suffice IMO.

Fixed as part of https://github.com/splunk/fluent-plugin-splunk-hec/pull/87


(Minor) Logger in TLS module

Description
(Minor) Logger in TLS module
Type of change

[ ] Refactor
[x] New feature
[ ] Bug fix
[ ] CVE fix
[ ] Optimization
[ ] Documentation Update
[ ] Configuration Update
[ ] Bump-up dependent library
[ ] Bump-up library or tool used for development (does not change the final image)
[ ] CI configuration change
[ ] Konflux configuration change

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

Project coverage is 73.61%. Comparing base (e77efdf) to head (8998fb2).
Report is 14 commits behind head on main.

Additional details and impacted files

@@             Coverage Diff             @@
##             main    #1904       +/-   ##
===========================================
- Coverage   93.47%   73.61%   -19.86%
===========================================
  Files          64       63        -1
  Lines        2941     2797      -144
===========================================
- Hits         2749     2059      -690
- Misses        192      738      +546

Files with missing lines
Coverage Δ

ols/utils/tls.py
62.50% <100.00%> (-37.50%)
:arrow_down:

... and 33 files with indirect coverage changes

/test verify
/test e2e-ols-cluster-4-17

/test e2e-ols-cluster-4-17

/lgtm

/approve
/override "Red Hat Konflux / ols-enterprise-contract / lightspeed-service"


Allow sched_event to have multi-word events

Because sched_event is so useful for testing, when you temporarily
set a game state in the room's event script, it should be possible
to test an object's use inventory_item events as well.
This commit brings that.

Good bring :) Thanks @mjtorn  !


[1.318] Window mentions alt to extrude, but it seems broken?

Submitted in forum by pvloon: https://forum.unity3d.com/threads/released-realtime-csg-level-design-for-unity.427601/#post-2852128

This is probably related to #82

This version is now available on the asset store, so closing ticket


rosa install addon ... non-interactive install

Hi! Is there currently a way to perform add-on installation in a non-interactive way? I'm being prompted for the parameters required:
❯ rosa install addon cluster-logging-operator -c test --yes
? Use AWS CloudWatch: No
? Collect Applications logs: No
? Collect Infrastructure logs: No
? Collect Audit logs (optional): No
? CloudWatch region (optional):

Found the code related to this, I assume I am able to set the parameters dynamically as flags
https://github.com/openshift/rosa/blob/e75f60f5a143fccf008325cf6e17aa6fcb6b9a23/cmd/install/addon/cmd.go#L144-L147

For others happened to run into this, you can use rosa describe addon cluster-logging-operator to check add-on's parameters.


More release blockers

https://github.com/lbryio/lbry-app/issues/1358
https://github.com/lbryio/lbry-app/issues/1317
https://github.com/lbryio/lbry-app/issues/1403
https://github.com/lbryio/lbry-app/issues/1272
https://github.com/lbryio/lbry-app/issues/1388 (partially) I still need to figure out the overlfow issues on the home page, but the new tooltip is being used on the search and file page.

@skhameneh Made a few more small changes


Int.svg path but resource is named int.svg

In int_schema, both the tscn and .gd the path for the image is capitalized (Int.svg) but the github file (int.svg) isn't so this breaks on non-windows machines.

Hey :)
This is fixed for the next release (next release will come once I finished the import system).
Thanks!
(Will be closed once the new version is released)