Can't receive the onActivityResult in fragment

Greetings,
Dear Abdullah,
This is an information maybe more than a bug, but the onActivityResult will fire inside fragment.
Instead the main activity will receive the onActivityResult.
Best regards.
Abdulaziz Noor.

Hi @mtx62
Check this issue please: startActivityForResult Never called in fragment
Thanks,,

Hi Abdullah,
Thank you for your quick respond.
Best regards.

in fragments use rxjava adapter
        new VideoPickerHelper(new VideoPicker.Builder(getActivity())
                .mode(VideoPicker.Mode.CAMERA_AND_GALLERY)
                .directory(VideoPicker.Directory.DEFAULT)
                .extension(VideoPicker.Extension.MP4)
                .enableDebuggingMode(true)

        ).getObservable().subscribe(new Observer<List<String>>() {
            @Override
            public void onSubscribe(Disposable d) {
                Log.d("Upload", "selected : "+d.isDisposed());

            }

            @Override
            public void onNext(List<String> mPaths) {
                Log.d("Upload", "selected : "+mPaths.get(0));
            }

            @Override
            public void onError(Throwable e) {
                Log.d("Upload", "selected : "+e.getMessage());

            }

            @Override
            public void onComplete() {
                Log.d("Upload", "selected :fin ");

            }
        });

You have to add @aar at the end of dependencies for this to build successfully.
implementation 'net.alhazmy13.MediaPicker:libary:2.4.4@aar'
implementation 'net.alhazmy13.MediaPicker:rxjava:2.4.4@aar'
-- latest rxjava and rxandroid dependencies


feat!: Single source of containers

Containers will no longer be published on docker.io

:tada: This PR is included in version 2.0.0-next-major.4 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

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


Adding custom engines

Adding the ability to use a custom code searcher like https://github.com/ggreer/the_silver_searcher.
I use ag regularly instead of grep. It's faster and easier visually so I created this small addition.
The only important thing to note is having the flags set up in the .gf json file. Tried to make it clear as possible in the readme.
I hope you'll like it!

Yo!
In general I think this is a good idea, but because the flags are often incompatible as you mention in the changes to the README: I think it would make more sense to specify the engine in the JSON file rather than as a command-line argument.
Thoughts?

@tomnomnom TBH I actually started doing exactly that but felt it was hiding the option in a config file. Would you say that's a better option? I would happily do that.

I think it makes the most sense!
The flag compatibility thing means that the alternative is having to remember which engine to use with which pattern which would be really tricky IMO. This is assuming you have patterns that require different engines of course.

I'll move it as a parameter on the JSON file.

@tomnomnom Let me know if it makes more sense now.
BTW - sorry for the empty spaces removals, I've set Vim to do it for me automatically...

Sorry for the delay; merged! Thank you so much :)

Now I can use ripgrep! \o/


Ensure channel ordering is correct for group level topoplot

Codecov Report

Merging #178 into master will decrease coverage by 0.19%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master     #178      +/-   ##
==========================================
- Coverage   93.47%   93.28%   -0.20%
==========================================
  Files          36       36
  Lines         981      983       +2
==========================================
  Hits          917      917
- Misses         64       66       +2

Impacted Files
Coverage Δ

mne_nirs/visualisation/_plot_GLM_topo.py
57.75% <0.00%> (-1.02%)
:arrow_down:

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 35ab0fb...5d49ccc. Read the comment docs.


efficiency tweaks WIP

Fixes Issue
partial fix for jeremylong/dependency-check-gradle#100
Description of Change
Caches some intermediate results and updates loops to more efficient Java 8 Streams and Lambdas.  Lays some of the groundwork to reduce duplicated effort within a single job (currently theis mostly affects Aggregate). More work is required to reduce effort across multiple subprojects for analyze to realize efficiency gains.
Have test cases been added to cover the new functionality?
N/A

Thanks - I'll review this (hopefully) soon. I am in heads down development of 5.0.0 (see https://github.com/jeremylong/DependencyCheck/tree/jsonDataFeeds). There will be a ton of changes beyond what is in that branch.

Is there another branch you're working from for that stuff? It's probably just easier to work from the dev branch...

I think that is from trying to debug an error I was getting compiling in jdk 11. I’ll remove it.

I rebased this PR locally to resolve the issue with animal sniffer (see https://github.com/jeremylong/DependencyCheck/pull/1638). There are several test case failures due to these changes.


Update 02-client-tools.md

the brew way

Thanks for the PR, but for now I'm going to stick with one install method. I want to easier the burden of testing and keeping this thing up to date.


[FEATURE][QUESTION] Support for macOS Multitouch Events on Xamarin.Forms

Is your feature request related to a problem? Please describe.
In #309 touch events where added to SkiaSharp. In the conversation of the PR it says that multitouch is fully supported that it's correct for iOS and Android, butt not macOS as it seems. I tried a pinch and two-finger pan gesture with the trackpad but OnTouch(SKTouchEventArgs e) doesn't get called.
Describe the solution you'd like
a great solution would be that trackpad gestures are handled the same way as touch gestures on a mobile platform (iOS / Android). In the file
source/SkiaSharp.Views.Forms/SkiaSharp.Views.Forms.Mac/SKTouchHandler.cs i saw that SKTouchHandler derives from NSGestureRecognizer so maybe we could add override void Magnify(NSEvent magnifyEvent) to support the pinch gestures. For two-finger panning i think maybe override void ScrollWheel(NSEvent theEvent) is a good starting point.
Describe alternatives you've considered
An alternative for pinch gestures would be to use a Xamarin.Forms PinchGestureRecognizer but my current application also supports Android and as mentioned in #309 Xamarin.Forms GestureRecognizers won't work in that case. So I would have to do are Runtime checks like:
if(Xamarin.Forms.Device.RuntimePlatform == Xamarin.Forms.Device.macOS)
{
     var pinch = new PinchGestureRecognizer();
     pinch.PinchUpdated += OnPinch;
     this.GestureRecognizers.Add(pinch);
}

Is this something that's planned for future releases?
thanks

Tentatively moving this to the next version of SkiaSharp.


feat: update snippets documentation [sc-9215]

Affected Components

[ ] Content & Marketing
[ ] Test
[ ] Docs
[ ] Learn
[ ] Other

Pre-Requisites

[ ] Code is linted (npm run lint)

Notes for the Reviewer

Resolves #[issue-number]

New Dependency Submission

Current dependencies on/for this PR:

main

PR #467   👈

This comment was auto-generated by Graphite.

Thanks for the review @stefanjudis! The style guide is great.
I'm still wrapping up changes to the snippets feature. I'll come back to this PR once my changes to the snippets feature are live.

@stefanjudis / @ianaya89 / or @pilimartinez - could one of you please take a look when you have a moment?

Thanks for the review!


Feedback for: engine/reference/commandline/images.md

File: engine/reference/commandline/images.md
Where do we find a description of the filter options??
Frustrating - fairly useless document.

https://docs.docker.com/engine/reference/commandline/images/#filtering
It is back. :)


 It would be nice to trigger a Find in Files action instead.

We're closing old issues with no recent activity. If this is still important, please open a new issue.


Refactor for eclipse org

This PR splits the plugin into "org.eclipse.editorconfig.core" and "org.eclipse.editorconfig.ui". Hope I have not broken something.

Angelo, I will take a closer look at this PR later today. In the mean time you can run the functional test suite to verify the plugin is not broken. My initial thoughts are that the PR needs to be split into multiple changes. The repackaging being the first. Changing the id of the plugin may break things for existing users.

There's a bunch of line ending changes in the xml files too... oh the irony :p

Angelo, I will take a closer look at this PR later today.

Cool.

In the mean time you can run the functional https://github.com/ncjones/editorconfig-eclipse/pull/34/filestest suite to verify the plugin is not broken.

The maven install works and execute testes with SUCCESS.

My initial thoughts are that the PR needs to be split into multiple changes.

-( Tell me if you wish I restart a new PR.

The repackaging being the first. Changing the id of the plugin may break things for existing users.

What do you mean? Is it a problem? This project will move to Eclipse.org, no?

There's a bunch of line ending changes in the xml files too... oh the irony :p

Please add your comment by clicking on '+' at https://github.com/ncjones/editorconfig-eclipse/pull/34/files

Please run the functional tests to verify the plugin still works:
mvn -f editorconfig-eclipse-functional-test/pom.xml integration-test

Even though we plan to move the project to Eclipse we should still deliver these enhancements when they are ready through the existing distribution channel. The experience for existing users needs to be considered with these changes. Can you verify the behaviour if you upgrade an existing Eclipse installation with the new version of the plugin? Maybe it will be fine because the feature id has not changed.
Also remove the commit "Use TextEditor as editorconfig editor" and squash the remaining commits.

The naming convention seems good.

These changes are merged in f01aedd1f6.

Thank a lot @ncjones ! My next PR will be about EditorConfig editor. I will do several PR to provide step by step features of the editor (syntax coloration, completion, validation, etc)


Tabular: Fixed exception raised when calling fit_summary after deleting models.

Issue #, if available:
Description of changes:
Fixed exception raised when calling fit_summary after deleting models.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Job PR-474-1 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-474/1/index.html

Can we add unit tests to cover all the presets?
There're so many combinations of options now that we really need more unit tests during CI.

Job PR-474-2 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-474/2/index.html

Can we add unit tests to cover all the presets?
There're so many combinations of options now that we really need more unit tests during CI.

This is probably best left to an issue. The main concern is that it would significantly increase the runtime of CI.


doom cli initializes straight too early.

What did you expect to happen?
Get documentation from doom cli by issuing from my home dir:
Windows:
.emacs.d\bin\doom.cmd --help

Linux:
~/.emacs.d/bin/doom --help

and get a help message
What actually happened?
doom starts installing straight even if sync is not specified on the command line.

That's the expected behavior. Doom needs straight bootstrapped early, because it is used to install other core dependencies that the CLI itself (and Doom core in general) need.

I'm working on a CLI rewrite which should address this, but for the time being I'll close this as it's not really a bug.


Error: "Feature "bf16" requires .target sm_80 or higher

Error: "Feature "bf16" requires .target sm_80 or higher
Is there any other way other than upgrading my GPU ?

@7wik3vedi16   you can try changing the dtype  = float16 from the experiment.py, but that would be really slower as compared with bfloat16
ive tried it in google colab and same error happened, maybe you can try with a100/h100 gpu


SDK artifacts require TypeScript (ts-node/transpile-only) dependencies at runtime in production

Is your feature request related to a problem? Please describe.

I am confused how to export Sdk typings for additional-resolvers.ts with the most recent versions.
mesh build also uses the tsconfig.json file, but there is no documentation which configuration is required.
Update - we now have a working example: https://github.com/Urigo/graphql-mesh/tree/master/examples/openapi-javascript-wiki
Somehow I end up with ts-node imports in my artifacts... Error: Cannot find module 'ts-node/register/transpile-only'
Describe the solution you'd like

No transpile-only issues: Compiled artifacts (typed javascript modules) should not require TypeScript and ts-node dependencies.
Describe alternatives you've considered

ts-node is fine being used with mesh dev but in production typescript should not be part of the bundle or its dependencies. We might need babel configuration for this.
Additional context

// index.ts: entrypoint/wrapper
import { getMeshSDK, Sdk } from '../.mesh'
export type { Sdk } from '../.mesh'

export async function createClient(): Promise<Sdk> {
  return getMeshSDK()
}

There is two rounds of typescript builds in this: mesh build and tsc for the module afterwards...

Somehow I end up with ts-node imports in my artifacts... Error: Cannot find module 'ts-node/register/transpile-only'

You should install ts-node in your project by using yarn add ts-node or npm install ts-node.

Configuration has a broken link instead of being helpful for this
The link was fixed 2 days ago https://github.com/Urigo/graphql-mesh/commit/9f4d87354f8f05960114b1cf2d3a30330c2b6c3e

And I didn't understand why you need Sdk in your additional resolvers. If you want to connect a field to another, you can check this chapter;
https://www.graphql-mesh.com/docs/recipes/multiple-apis
SDK's use case is different. It is generated to be used outside of Mesh :) not inside

You should install ts-node in your project by using yarn add ts-node or npm install ts-node.

No. Without that mesh dev won't work, but what about production artifacts, there should be no ts-node dependency afaik! So now how to configure it so I get production optimized artifacts?

And I didn't understand why you need Sdk in your additional resolvers. If you want to connect a field to another, you can check this chapter;
https://www.graphql-mesh.com/docs/recipes/multiple-apis
SDK's use case is different. It is generated to be used outside of Mesh :) not inside

No that's not different, that's exactly what I want. And I am passing it through that index.ts (exporting the typings again), but the type was removed after version 0.32. ?
My head hurts after hours of confusion with different typescript configurations, here is where I got:
552073ea43e329ee38fb5105be0c98cadb0af5ae
Mesh: Cannot find module './additional-resolvers.ts'
Require stack:
- /workspaces/@graphql-mesh/examples/openapi-javascript-wiki

(In VSCode Devcontainer - and I am also able to reproduce https://github.com/Urigo/graphql-mesh/issues/2504 on my workstation, which did not help.

No. Without that mesh dev won't work, but what about production artifacts, there should be no ts-node dependency afaik! So now how to configure it so I get production optimized artifacts?

Maybe it is documentation because it is hard to cover all the use cases. Sorry for that. First I need to understand how you will use artifacts. ts-node can be a dependency of production for sure(we use it in different projects). It just helps NodeJS to handle TS files like it already handles JS files(since it is already an interpreter).

No that's not different, that's exactly what I want.

As I said above, you shouldn't use generated Mesh SDK inside your additional resolvers. Maybe you mean in-context SDK we provide for stitching?

that seems to be a different link?

Sorry I sent you wrong commit but link is correct both on the website and markdown file. Maybe it is your cache.
https://github.com/Urigo/graphql-mesh/commit/69b2f5aa155633cb3896e015b061101472276536#diff-61931cba5b3c745eea15b33436dba9214e94387a4b80e9ef79f4412c0427c8a5

As I said above, you shouldn't use generated Mesh SDK inside your additional resolvers(we cannot support that) because in that schema will call itself and that is completely unsafe. Maybe you mean in-context SDK we provide for stitching?

Yes, sorry if I was imprecise. I am stitching OpenAPIs, creating an SDK with a special method implemented as an additional resolver.
It is very close to the openapi-javascript-wiki example, that's why I started forking it, but debugging is an issue again.

Ok let me take a look and I'll try to create a working example similar to yours

First I need to understand how you will use artifacts.

Since I want to deliver Client SDKs as npm modules, I have two choices:

either do it alike the example odata-msgraph-programmatic-ts
or with additional resolvers like the example openapi-javascript-wiki (wip new ts example)

I like the flexibility of the additional-resolvers, their type support and the graphiql-playground, doing well with that so far, I think I don't need explicit codegen (?).
I will package (optimize/treeshake) on another module level again, so I don't need a fully optimized build at this stage (yet) and type exports are important.

I am working on improving the experience on it.

Could not leave the hands of it, tried it once more from home on windows, so this is the only thing I am sure about for now:
// minimal tsconfig
{
  "compilerOptions": {
    "esModuleInterop": true,
  },
}

This will result in Mesh: Cannot find module './additional-resolvers.ts'
If no tsconfig is provided or this option is not set, I get Mesh: Cannot use import statement outside a module instead.
If you debug this, please also take a note of how exactly, I would also like to learn how to debug graphql-mesh itself.

Ok give me sometime please :) I'll create a working example

I got two more updates:

this seems to be a bad idea (because it doesn't export the types like Sdk), and can also be resolved by copying .mesh to dist instead:

  "include": [".mesh/index.js" /*, ... */],

currently (besides ts-node also) an installed typescript dependency is required as well as the InMemoryCache module. Usually, production artifacts don't have typescript dependencies (and let's list all the other ones)!

Let me know how I can help you improve the example(s), the code generation and documentation.
(@JustusNBB will be back in September after my holiday)

You can check this example;
https://github.com/Urigo/graphql-mesh/tree/master/examples/openapi-javascript-wiki

@ardatan yeah great thank you, that should fix my configuration issues for now, great that you were able to recycle my work on the typings in additional-resolvers.ts!
This reproduces the issue that the generated typed javascript artifacts require typescript at runtime:
https://github.com/Urigo/graphql-mesh/blob/089deb032342c0d2e375a15812fa783c8f67545d/examples/openapi-javascript-wiki/.mesh/index.js#L96
I don't understand why and I still think that should not be the case - please don't close until we solved the transpile-only stuff.

Updated the ticket to reflect the ts-node import issue reproduced by https://github.com/Urigo/graphql-mesh/tree/master/examples/openapi-javascript-wiki

@JustusNBB You can do yarn mesh dev --require ts-node/register/transpile-only and remove ts-node from the configuration file.

@JustusNBB You can do yarn mesh dev --require ts-node/register/transpile-only and remove ts-node from the configuration file.

Okay and that will result in compiled resolvers being clean of all additional typescript dependencies?

@JustusNBB Yes

Okay I hope this applies to mesh build too.
Sorry I am logging out for now, if I don't manage to test this (as Phoscur) this week, I will reopen this next week, when I am back - if I find more related issues.

which dependencies are required when packaging the mesh

Is this already documented? Your latest change adding only ts-node won't do I think, it also requires typescript, at least if the trick you just showed is not applied.

@ardatan Had a closer look, and found out that the trick just solves my issue on the surface, ts-node stays a requirement. Maybe we should be using babel instead, like ts-jest...?

Describe the solution you'd like
No transpile-only issues: Compiled artifacts (typed javascript modules) should not require TypeScript and ts-node dependencies.

To reproduce let's stick with the openapi-javascript-wiki example, it requires typescript at runtime to import .ts files:
// .mesh/index.js
const additionalResolvers$0 = (0, tslib_1.__importStar)(require("../additional-resolvers.ts"));
// .mesh/index.mjs
import * as additionalResolvers$0 from '../additional-resolvers.ts';

Resolvers should be compiled into the .mesh/artifacts (at least as an option), then the ts-node dependency will really go away (for mesh build).
There are also issues when using ts-node in conjunction with "reflect-metadata": https://stackoverflow.com/questions/60581617/is-it-a-bad-practise-to-use-ts-node-in-production

Also please explain usage of getBuiltMesh vs getMeshSDK :)

Since there was some confusion about my use case, I'll try to elaborate:
// index.ts: entrypoint/wrapper
import { getMeshSDK, Sdk } from '../.mesh'
export type { Sdk } from '../.mesh'

export async function createClient(): Promise<Sdk> {
  return getMeshSDK()
}

The project is supposed to create API Client packages (node_modules) powered by GraphQL Mesh SDK artifacts.
For now I am just adding this as an entrypoint index.ts, and then I compile with mesh build && tsc, then I can package the dist folder.
additional-resolvers.ts is also TypeScript and it must be possible to compile it in one of those two build commands, so TypeScript is no longer required at runtime.

Related errors that can occur in this context:

🕸 : Cannot use import statement outside a module
and
🕸  - Server: "resolvers" defined in resolvers, but not in schema

Idea for a workaround:
Manually compile additional-resolvers.ts to additional-resolvers.js before running mesh build so mesh doesn't need TypeScript (ts-node) dependencies at all.
@ardatan what do you think of the workaround? Would you please give an estimation how much effort the refactor/implementation of the actual built-in solution is?

No transpile-only issues: Compiled artifacts (typed javascript modules) should not require TypeScript and ts-node dependencies.

Also running into issues around this when using it with Next.js (with TypeScript enabled) where we get errors on Module not found: Can't resolve 'fs', Module not found: Can't resolve 'querystring' etc.
Has anyone found any workarounds here? I'm building the SDK before running the Next server.

@notrab have you tried the one mentioned in the last comment above?
@ardatan would be nice to have your opinion/estimation on the difficulty of this feature!

@ardatan any comment? Is this on the roadmap? TyptScript dependencies for ts-node are actually quite heavyweight with 200mb+

@ardatan still hoping for some advice from your side on this!

@ardatan would be nice to have your opinion/estimation on the difficulty of this feature! Also there are many open questions (above), please guide if you would like contributions on this topic.

@ardatan please open this up for contribution finishing the draft/answering the open questions if it is not on the roadmap, it's not an urgent feature, but it's blocked without further information!

FYI, the current version of the openapi-javascript-wiki example fails to build. The comment in tsconfig.json breaks it (mesh dev works but mesh build doesn't). If you remove the comment on this line then it works.
I still found it to be a useful reference though—the build command was failing for my own project and I realized it was because I needed to change the module option in tsconfig.json to commonjs:
  "compilerOptions": {
    "module": "commonjs",

Including the fixes in the workflow with TypeScript has been fixed now including the issue related to module flag in tsconfig file. Mesh now handles TypeScript internally so you don't need any extra polyfills like ts-node.
Thanks for the discussion!

That's great news thank you! ]reating/bumping my task to update my graphql-mesh dependencies - will report back when I get to testing this.

An error occured while buiding mesh artifacts: Cannot read property 'name' of undefined

This seems a different issue.

Created a new one - and sorry that I can't give a reproduction yet :|

The ts-node dependencies are still part of mesh artifacts, example:

Just remove ts-node from your project and require. It will be gone.

Does that mean that you just forgot to finally update the openapi-javascript-examples? Would you please remove ts-node dependencies from it.
Btw, there is also a ts-node-dev usecase, is that built-in to mesh dev ?

Would you create a PR to update that example?

Would you create a PR to update that example?

Yes I have it on my TODO list, but it's currently rather on the bottom, hopefully I can test some more in the upcoming weeks!

Would you create a PR to update that example?

I found you updated it, but it is still broken. Generated .mesh/index.js still requires TypeScript (now only tslib though).
This ticket is still far from solved, please reopen @ardatan.

@JustusNBB did you try setting importHelpers to false in compilerOptions in tsconfig? Also, you might want to double-check that inlining the helpers actually makes your Docker image smaller...depending on how much code you have, repeating those runtime helpers again and again in the code might make it bigger (that's why tslib exists in the first place).

tslib is usually added to the libraries built with TypeScript. It has some helpers that aren't related to TypeScript.

tslib is usually added to the libraries built with TypeScript. It has some helpers that aren't related to TypeScript.

Ok yeah, tslib only has ~56kb maybe we don't need to reopen here - Typescript is still listed as a production dependency in the openapi-js-wiki example however.
So move typescript to dev-deps & adding tslib as a prod dep?

We don't need to add tslib there. It is up to your tsconfig. If you disable importHelpers, it will embed tslib into the compiled code.
Create a PR however works for you and let's lock this overheated issue :)

@JustusNBB did you try setting importHelpers to false in compilerOptions in tsconfig? Also, you might want to double-check that inlining the helpers actually makes your Docker image smaller...depending on how much code you have, repeating those runtime helpers again and again in the compiled code might make it bigger (that's why tslib exists in the first place).

I tried setting tsconfig.compilerOptions.importHelpers false as well as true I don't see any impact in the generated .mesh/index.js
My wrapping package(.json) now only needs to provide these dependencies, and I would expect it to be the same for the openapi-wiki example runtime dependencies:
const tslib_1 = require("tslib");
const graphql_jit_1 = require("graphql-jit");
const utils_1 = require("@graphql-tools/utils");
const runtime_1 = require("@graphql-mesh/runtime");
const store_1 = require("@graphql-mesh/store");

// package.json of SDK Client module with `.mesh` artifacts:
  "dependencies": {
    "@graphql-mesh/cli": "0.56.3",
    "@graphql-mesh/openapi": "0.23.15",
    "graphql": "16.0.1",
    "graphql-jit": "0.7.3", // missing in the example
    "moment": "2.29.1" // example additional-resolvers dependency
    // + tslib ?!
  },
  "devDependencies": {
    "typescript": "4.3.5"
  }


Fix typos in links to subcrates in Readme.md

Context:
Found 2 dead links among the subcrates in readme.md.
Reference to a related issue in the repository.
@mentions of the person or team responsible for reviewing proposed changes.
Contribution checklist:

[ ] Add documentation to all public structs, traits and functions.
[ ] Add unit tests if possible
[ ] Describe the major change(s) in the CHANGELOG.MD
[ ] Run cargo fmt to make the formatting consistent across the codebase
[ ] Run cargo clippy to check with the linter

thank you.


spellcheck QLineEdit

Is there a way to apply this to a QLineEdit widget? I don't spell any better in small boxes.

When I initially started working on this, I think I also looked into whether it would be possible to do this in QLineEdit. As far as I remember, I couldn't find a way, and since it wasn't important to what I was doing at the time, I left it aside.
In the current implementation for QTextEdit, it gets a hold of the QTextCursor in the textbox and manipulates that to get the word and to fix the spelling of that word. It uses the textCursor method on the QTextEdit object to get the cursor. But, as far as I can tell, there is no such method on QLineEdit.
So, there is no direct way to port this functionality to the QLineEdit widget. However, it may still be possible. QLineEdit has methods to get the current cursor position, and you can use that to get the word under the cursor, and also to set the selected text. There are also of course methods to modify the current text in the QLineEdit, so you can fix the misspelling as well.
As far as I can tell, it should be possible, and not even that difficult to do this. The code will probably not be as “nice” as it is for QTextEdit, but it should be fine.
Disclaimer: I haven't tried doing this, this is just based on how it's implemented for QTextEdit and the methods available in QLineEdit. Right now, I don't really have the time to look into this, but when I do, I'll definitely see if I can get it working. It would be a great addition to this little project.

This has now been partially implemented in v0.2.1.
Correcting words and adding to dictionary are working.
The only missing part is the underline to indicate misspelled words, and as far as I can tell, there's no way to add it in a QLineEdit. In QTextEdit, I subclassed QSyntaxHighlighter to underline misspelled words, but in QLineEdit, that isn't available, and there doesn't seem to be a way to apply styling either.
If someone finds a way to do this in a QLineEdit, do please let me know or open a PR.
For now, my advice is to just use a QTextEdit and resize it.


Create Genre class with an association to the Item class

Should take an instance of the Item class as an input
Should add the input item to the collection of items
Should add self as a property of the item object (by using the correct setter from the item object)

Dear @Rustamxon7,
Thanks for the review! 🥇


Fix unecessary foreign key

Addressing to: https://github.com/ManageIQ/manageiq/pull/18053#pullrequestreview-172518835

@agrare


Fix attachment modal doesn't close when pressing search shortcut

Details

Pressing search shortcut while having attachment modal showing won't close the attachment modal.
Fixed Issues

$ https://github.com/Expensify/App/issues/27359
PROPOSAL: https://github.com/Expensify/App/issues/27359#issuecomment-1720990255
Tests

Same as QA Steps

[x] Verify that no errors appear in the JS console

Offline tests

Same as QA Steps
QA Steps

Web/Desktop

Send an image attachment to a chat
Open the image attachment
Press CTRL+K
Verify the image attachment modal is closed and the search page is opened

Android/iOS/mWeb
Verify that we can still open any modal on the app

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

https://github.com/Expensify/App/assets/50919443/8c3769c2-5128-48c7-b842-492b2ad3308e

Mobile Web - Chrome

https://github.com/Expensify/App/assets/50919443/cbda2971-1581-4388-af2d-2fe85026c0de

Mobile Web - Safari

https://github.com/Expensify/App/assets/50919443/9b364b40-7543-4926-b237-df51e4c09bd7

Desktop

https://github.com/Expensify/App/assets/50919443/0b712bac-f462-45b4-8fc7-1a394ac1209e

iOS

https://github.com/Expensify/App/assets/50919443/20d973ac-5a0c-4a8d-a7e8-9feac1d31472

Android

https://github.com/Expensify/App/assets/50919443/dd787558-2a35-466e-96f9-42ddc2c7141a

Reviewer Checklist

[X] I have verified the author checklist is complete (all boxes are checked off).
[X] I verified the correct issue is linked in the ### Fixed Issues section above
[X] I verified testing steps are clear and they cover the changes made in this PR

[X] I verified the steps for local testing are in the Tests section
[X] I verified the steps for Staging and/or Production testing are in the QA steps section
[X] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[X] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[X] I checked that screenshots or videos are included for tests on all platforms
[X] I included screenshots or videos for tests on all platforms
[X] I verified tests pass on all platforms & I tested again on:

[X] Android / native
[X] Android / Chrome
[X] iOS / native
[X] iOS / Safari
[X] MacOS / Chrome / Safari
[X] MacOS / Desktop

[X] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[X] I verified proper code patterns were followed (see Reviewing the code)

[X] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[X] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[X] I verified that comments were added to code that is not self explanatory
[X] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[X] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[X] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[X] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[X] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[X] I verified the JSDocs style guidelines (in STYLE.md) were followed

[X] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[X] I verified that this PR follows the guidelines as stated in the Review Guidelines
[X] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[X] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[X] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[X] If a new component is created I verified that:

[X] A similar component doesn't exist in the codebase
[X] All props are defined accurately and each prop has a /** comment above it */
[X] The file is named correctly
[X] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[X] The only data being stored in the state is data necessary for rendering and nothing else
[X] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[X] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[X] All JSX used for rendering exists in the render method
[X] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[X] If any new file was added I verified that:

[X] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[X] If a new CSS style is added I verified that:

[X] A similar style doesn't already exist
[X] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[X] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[X] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[X] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[X] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[X] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[X] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[X] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

https://github.com/Expensify/App/assets/16493223/0f692f8f-f39e-495a-9fdb-bdf68aa9b7b9

Mobile Web - Chrome

Mobile Web - Safari

Desktop

https://github.com/Expensify/App/assets/16493223/d18ab8cd-fd98-4932-bfec-01316601fa5e

iOS

Android

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/AndrewGable in version: 1.3.72-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/thienlnam in version: 1.3.72-11 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Invalid purl: "versions" argument must be a string.

Describe the bug
I installed the extension and a notification says "Component Analysis error. Error: Invalid purl: "versions" argument must be a string.". The program work, but that notification makes me feel nervous XD
To Reproduce
Steps to reproduce the behavior:
I just made a regular installation from the manket place of the extensions.
VSCode(please complete the following information):

OS: Windows 10
VSCode version 1.85.0
Dependency Analytics Version 0.7.3
Maven version 3.9.5

Hello @brayandiazssjd ,
Thank you for reaching out,
In order to investigate this issue could you please provide the pom.xml you are having issues with and/or the full detailed logs for this issue?

Omg sorry 😔, the 'error' stopped appearing days later 😄.


[#6402] Cleanup TestCase

Codecov Report

Merging #6407 into master will decrease coverage by <.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #6407      +/-   ##
==========================================
- Coverage   39.62%   39.61%   -0.01%
==========================================
  Files        3065     3065
  Lines       91425    91425
  Branches    11842    11842
==========================================
- Hits        36224    36220       -4
- Misses      52214    52216       +2
- Partials     2987     2989       +2

Impacted Files
Coverage Δ

...pinpoint/plugin/jdbc/mysql/MySqlJdbcUrlParser.java
86.2% <ø> (ø)
:arrow_up:

...vercorp/pinpoint/rpc/packet/ClientClosePacket.java
55.55% <0%> (-11.12%)
:arrow_down:

...p/pinpoint/rpc/stream/StreamChannelRepository.java
75% <0%> (-10%)
:arrow_down:

...or/metric/response/ReuseResponseTimeCollector.java
77.19% <0%> (-3.51%)
:arrow_down:

...orp/pinpoint/rpc/server/DefaultPinpointServer.java
78.16% <0%> (-2.12%)
:arrow_down:

...cluster/zookeeper/ZookeeperClusterDataManager.java
52.9% <0%> (-1.94%)
:arrow_down:

...point/rpc/client/DefaultPinpointClientHandler.java
72.4% <0%> (+0.64%)
:arrow_up:

...java/com/navercorp/pinpoint/rpc/DefaultFuture.java
74.16% <0%> (+1.66%)
:arrow_up:

...om/navercorp/pinpoint/rpc/codec/PacketDecoder.java
59.57% <0%> (+2.12%)
:arrow_up:

...rc/main/java/com/navercorp/pinpoint/test/Item.java
73.33% <0%> (+3.33%)
:arrow_up:

... and 1 more

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 d1773c9...00c1d5a. Read the comment docs.


DynamoDB: Add validation for GSI attrs set to None

Fixes #5713

Codecov Report

Merging #5843 (b59f472) into master (afeebd8) will decrease coverage by 0.00%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master    #5843      +/-   ##
==========================================
- Coverage   96.18%   96.18%   -0.01%
==========================================
  Files         754      754
  Lines       74091    74162      +71
==========================================
+ Hits        71266    71334      +68
- Misses       2825     2828       +3

Flag
Coverage Δ

servertests
36.99% <30.76%> (+0.02%)
:arrow_up:

unittests
96.12% <100.00%> (-0.01%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

moto/dynamodb/models/__init__.py
93.61% <100.00%> (ø)

moto/dynamodb/responses.py
95.05% <100.00%> (+0.07%)
:arrow_up:

moto/batch/models.py
91.21% <0.00%> (-0.40%)
:arrow_down:

moto/rds/utils.py
100.00% <0.00%> (ø)

moto/rds/responses.py
99.29% <0.00%> (ø)

moto/rds/models.py
94.58% <0.00%> (+0.03%)
:arrow_up:

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


Fixed performance issue with valueBlobFile on Postgres databases introduced in v4.18.0

Impact

[x] Bug fix (non-breaking change which fixes expected existing functionality)
[ ] Enhancement/New feature (adds functionality without impacting existing logic)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Description

Fixes #6096
Things to be aware of
This change avoids creating a snapshot of the entire database structure when we are only interested in a single column
Performance profiling (both before and after) were done on liquibase v4.20.0

Things to worry about

Additional Context
Before:

After:

@Shauren thanks so much this PR! 🎉  We will take a look at it and work to get it in the next sprint.


leaderboard pagination

introduce buttons to navigate between leaderboard pages, each page showing 25 results, with a max of 100 (as allowed by the API)

This will now be closed as user's can instead choose to use the automatic-leaderboard posting module introduced in #38. This module allows up to 100 entries, which is now the hard-limit as set by the CFTools data API, as this endpoint doesn't offer pagination in the form of a start-entry offset.


wallet: drop change to fee if amount is less than dust

This commit refactors the CoinSelector's select() method to properly handle the calculation of change cost. The change amount is now checked against the cost of change, and if the change is less than the cost, the cost is added to the transaction fee. Additionally, it adds a unit test for the CoinSelector.
Fixes: Issue #26

Can we add a test

Yes. I'll fix the lint and add a test in the next force push.

Force pushed:

Hopefully fixes Lint
Adds a unit test for CoinSelector

Force pushed 3c1983e addressing requested changes.

Force pushed a9cf64d refactoring the unit test and creating random script for the test transaction output.

Force pushed 0e8a816, which changed the random data into constant values.

I agree with @emjshrx that using random values in unit testing could lead to non-deterministic behavior. Therefore, I ran my code and recorded all the values it produced. I then hard-coded this static data to ensure deterministic results every time.

I also covered both cases: when the change > dust and when the change <= dust.

Fixed the nits

Force pushed ed44b85

Used it.each()
Added comments for justifying my calculations
Replaced less than dust values in the coins with bigger values (more than 1000)
Rebased on the main

Force pushed 4589fff addressing reviews and rebasing to the main.

Done!!
Addressed the nit

@Ayush170-Future you need to sign the commits so that we can merge. I've enabled branch protection rules that only allow signed commits to be merged in main. It's a good FOSS practice to sign commits.
If you don't have a GPG setup now, I can sign the commits for this PR, but all commits in the future must be signed.

@Ayush170-Future you need to sign the commits so that we can merge. I've enabled branch protection rules that only allow signed commits to be merged in main. It's a good FOSS practice to sign commits. If you don't have a GPG setup now, I can sign the commits for this PR, but all commits in the future must be signed.

Yes, please sign the commits in this PR, and thanks for letting me know, I'll set it up and sign my commits from now on.


Check if logdir already exists before trying to create it

Currently, running something like this:
tf.train.write_graph(sess.graph_def, 'models/', 'model.pbtxt', as_text=True)
Will fail the second time its run because it tries to create a folder that now already exists. This patch fixes that behaviour by checking if the directory exists before attempting to create it.

Is this different than #693 ?  That one seems to handle a few more cases

Nope, I guess not. I did a search for write_graph and it didn't show up.

No worries, it was just sent a few hours ago :)


Dev: move code from index.php to bootstrap.php?

See https://github.com/codeigniter4/CodeIgniter4/pull/7696#discussion_r1294123322

I close it since no one seems to be interested.

Closed by #8604


[ENHANCEMENT] Increase limit for HTML data content

Is your feature request related to a problem? Please describe.
I have observed that if HTML data is bigger than 32kb then it is truncated
Describe the solution you'd like
Is it possible to increase or remove the limitation. 128kb should be enough for my purposes

Hi there, and thanks bery much for your question.
We don't have control over the data that Power BI provides, and there are currently no restrictions in the visual on this. Depending on how you get your data into your model, you are typically capped at 32KB for a column. Chris Webb has a great article on the subject here, plus this and this as follow-ups.
If your situation differs to this scenario, can you please attach a workbook that reproduces the issue for you? I will take a look to see if there's anything else I can find out.


Few other minor changes on the front-end for entities

Whats the purpose of entity_deleted() function ?
While deleting an entity it throws follwoing error
core.js:1448 ERROR Error: Uncaught (in promise): Object: {"_id":{"$oid":"5b5d4c1f4ae53552b08006aa"},"name":"dcdcdc","entity_values":[]}
    at resolvePromise (zone.js:809)
    at resolvePromise (zone.js:775)
    at eval (zone.js:858)
    at ZoneDelegate.invokeTask (zone.js:421)
    at Object.onInvokeTask (core.js:4740)
    at ZoneDelegate.invokeTask (zone.js:420)
    at Zone.runTask (zone.js:188)
    at drainMicroTaskQueue (zone.js:595)
    at ZoneTask.invokeTask [as invoke] (zone.js:500)
    at invokeTask (zone.js:1517)

I knew about the error being thrown when I submitted but did not know if it would be acceptable. The goal for me was to prevent the page from routing back to EntityComponent when an entity was deleted. In retrospect, I think I should of better thought through my approach. Please reject this change and I will see if I can come up with a better approach.


wildcard ingress migration and webhook validation

[x] don't allow the domain field on an ingress entry to lead with *. this gets copied over to the remote cluster, and the ingress controller will reject the leading * (the cluster's ingress controller assumes the domain is a wildcard).
[x] ingress controller doesn't allow ingress entries where the ingress domain specified is different than the domain the cluster is under (eg cluster.example.com can't have an ingress like extra.notexample.com, it must be under cluster.example.com).
[x] migrate old clusterdeployments with wildcard ingress entries to new format.

/lgtm


Add ARM64 platform

Currently we can use ARM64 for the operator image but trying to spin up a pg cluster fails because the build is missing here.

@MatMaul what do you think about adding linux/arm/v7 too?

@MatMaul also, would you mind to create an issue so we can link the issue here and give it visibility for everyone? we discussed this in our last developers meeting and will be great that the community can handle it as a ticket!

I'll open a ticket later in the weekend.
I tried armv7 but the build failed, probably some packages not available, I didn't investigate further to be honest since the use case for it is borderline non existent (old slow non 64 raspberry pi and that's about it I believe).

@MatMaul talking with @leonardoce we agree you're right, I'll test it later today and we will merge it :)

@MatMaul reviewing this I realize that you're setting the platform only in the setup-buildx-action, the problem, this needs to be set in the build-push-action too, now, it will work? yes, but it's good to be explicit in the building process too, so you prepare the platform for arm64 and you say that you're building for arm64, so people will see this in the future and understand quite easy what are we building =)
With this change made, we can merge the PR!
Regards!

Sorry I am lost :)
This is already in the build-and-push phase:
platforms: ${{ matrix.platforms }}
https://github.com/cloudnative-pg/postgres-containers/pull/19/files#diff-5c3fa597431eda03ac3339ae6bf7f05e1a50d6fc7333679ec38e21b337cb6721R96
So I don't think there is anything to do ?

@MatMaul yes you're right! My bad! I was looking into the build... We wrote this a long time ago, sorry!! Merging!


How to add a logo in the center of the QR code

This project is really awesome, swift oc swiftUI all support, thank you.
I would like to ask a question, how to add a logo in the center of the QR code？

Hey mate!
The library current doesn't support adding an image to the generated image at this point.  However, you should be able to add the image relatively easily after it is generated by using UIKit drawing code. For an example, check this out
https://stackoverflow.com/questions/29203663/how-can-i-make-a-composite-image-consisting-of-two-images-in-swift
Just remember to make sure that the overlay image isn't too big or else it will stop the qr code being recognised.  The higher you make the error correction for the code the larger you can make the image. Also keep the image away from the 'eyes' in the code as they are used to orient the reader.
I'd like to add image support to the library but there are a lot of 'configuration' options when adding the image (size, position, masking etc.) and I haven't had the time to think through them all.

Hi @dagronf, do we have a properties to exclusive center path of QR code so that when add logo it won't affects the recognition.

No, the library doesn’t have that capability yet.
The allowable size of the logo will be dependent on a number of factors, including the size of the text content and the error correction level. The logo also doesn’t always have to be square/round and it doesn’t have to be in the middle of the QR code - and as I haven’t needed a add a logo yet I haven’t thought hard about a (reliable) mechanism of adding it into to library.
You can add one yourself afterward (eg if you are using SwiftUI you can just overlay one using a ZStack.) but you’ll have to determine the size for yourself at this point.
hope this helps!

@noblakit01 Additionally, you could fork this library and add the ability to add a logo yourself - and then submit a pull request and I’ll merge it in 😊

You can just add an Image above QR-code. For example, I'm using ZStack(alignment: .center) with both QRCodeUI and my resized icon with cornerRadius inside.

Check v11.0.0 which now has the ability to add an image to the generated qr code


feat: Added the contributors page

Title and Issue number

Title : Added the contributors page
Issue No. : #1049
Code Stack :
Close #1049
Description
Added a contributors page which display project contributors
Video/Screenshots (mandatory)
https://github.com/user-attachments/assets/e4c6a35b-b8a5-43e0-92ed-05796a5593b6
Type of PR

[ x] Feature enhancement

Checklist:

[x ] I have performed a self-review of my code.
[ x] I have tested the changes thoroughly before submitting this pull request.
[ x] I have provided relevant issue numbers, screenshots, and videos after making the changes.
[ x] I have gone through the  contributing.md file before contributing

##Are you contributing under any Open-source programme?
GSSOC'24

[X ] I am contributing under GSSOC'24

@apu52 Pls review the PR!!!


[Raindrop] - Add and Delete bookmarks

I also wanted few QoL changes but didn't research much into the docs as of now.

After a bookmark is added, it should take the user to "Latest bookmarks" page
After a bookmark is deleted, it should get removed from the list.

Hi @ShubhamVerma1811 🔥  Thanks for your contribution 💯
@lardissone do you mind checking this 😊

Thank you for the review @lardissone!
And thanks for pushing the commit @pernielsentikaer!

I don't see any way to submit this form
Weird, I am able to see it. Can it be some versioning issue?

When deleting a link there is no refresh of the list, you need to go out/in again before it's gone from the list
Is this something that needs to be implemented? I am not sure how it can be done. Couldn't find any Raycast docs on Navigating b/w command views..

Hi 👋
Check the new code from my PR, it's not done yet but fixed and enhanced multiple aspects of the extensions

Added destructive style for Delete Bookmark
Added hotkeys
Added confirmAlert when deleting bookmark
Fixed the add action, since the code was wrong
Added validation for the add form
Added more things

What is still left is the redraw of the list, I can maybe add this later today
Do you mind checking my corrections, feel free to modify 😊

Hey @pernielsentikaer, Are we waiting for any changes on this?


Question about the docstrings

Hi, I am trying to understand the codebase and I got confused by some of the explanations. In base.System class, you define a property "link" which is explained as link:(num_link,) the links in the system.  However, in the implementation it corresponds to a single base.Link instance which is not subscriptable. There are also similar properties such as "link_names", which are explained in the same way but are plain lists. I understand "link_types" correspond to joint types and "link_names" correspond to names of the different kinematic chains. I couldn't make the exact connection between these fields and the base.Link class. I would greatly appreciate if you can give me an explanation on the topic.

Hello!
This notation (such as (num_link,) describes the size of the topmost dimension of the arrays in this pytree.  This is sometimes called the batch dimension.  Batch dimensions add onto the existing shape of members of the pytree.  So for example, if transform.pos typically has a shape of (3,), then the shape of System.link.transform.pos ought to have shape (num_link, 3)
Does that answer your question?

Hi @OnatV , yep all attributes of the Link class should have a first dimension of num_link


[BUG] Nginx proxy

Describe the bug
While i'm trying to upload a 1.64gb file from share x, I get payload to large error, but when trying to upload it from the web (firefox browser) it just work fine (every post request takes 11.2 seconds, when It's supposed to do 500ms)
To Reproduce
Steps to reproduce the behavior:

Select a file
Click on 'upload with share x'
Wait, and see the error

Expected behavior
To be able to upload files using the share x client.
Screenshots
Nginx proxy manager config
client_max_body_size  6000M;
proxy_connect_timeout       300;
proxy_send_timeout          300;
proxy_read_timeout          300;
send_timeout                300;

location / {
        proxy_pass http://<IP_ADDRESS>:24424;
        proxy_set_header Host              $http_host;
        proxy_set_header X-Real-IP         $remote_addr;
        proxy_set_header X-Forwarded-For   $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        # http://nginx.org/en/docs/http/websocket.html
        proxy_http_version 1.1;
        proxy_set_header   Upgrade    $http_upgrade;
        proxy_set_header   Connection "upgrade";
        proxy_redirect off;
}

Share X log (url redacted for privacy)
Request URL:
https://upload.example.com/api/upload

Status code:
(413) Payload Too Large

Headers:
Connection: keep-alive
Cross-Origin-Opener-Policy: same-origin
Origin-Agent-Cluster: ?1
Referrer-Policy: no-referrer
Strict-Transport-Security: max-age=15552000; includeSubDomains,max-age=63072000;includeSubDomains; preload
X-Content-Type-Options: nosniff
X-DNS-Prefetch-Control: off
X-Download-Options: noopen
X-Frame-Options: SAMEORIGIN
X-Permitted-Cross-Domain-Policies: none
X-XSS-Protection: 0
vary: Origin
access-control-allow-origin: *
x-ratelimit-limit: 100
x-ratelimit-remaining: 99
x-ratelimit-reset: 1
Content-Length: 74
Content-Type: application/json; charset=utf-8
Date: Sun, 21 Jan 2024 10:45:37 GMT
Server: openresty

Response text:
{"statusCode":413,"error":"Payload Too Large","message":"File is too big"}

Stack trace:
   at System.Net.HttpWebRequest.GetResponse()
   at ShareX.UploadersLib.Uploader.SendRequestFile(String url, Stream data, String fileName, String fileFormName, Dictionary`2 args, NameValueCollection

Additional context
I'm using Cloudflare, but this service is not proxied (grey cloud).

<IP_ADDRESS>
https://share.tomasps.tk/
orange cloud better

<IP_ADDRESS> https://share.tomasps.tk/ orange cloud better

Bruh, could you please delete it?, I don't want my ip to be public.

that doesn't matter, chibisafe automatically split the file into chunks

Well, i've tried with orange cloud and I'm getting the same error, I guess is nginx proxy side

The chunk splitting only works if you use the website. This is due to the client side custom logic required for it to work. So unfortunately using something like ShareX will upload the file normally without splitting the file and therefore be subject to cloudflare's 100MB limit.

I can upload files from the web but it's take to long for the first part of the file to be uploaded.

Happens If I use share x and the local ip addr.

@Tresillo2017 as @pilar6195 said, this is a limitation between ShareX and our upload logic. ShareX doesn't split by chunks but the website does, ultimately making ShareX hit the 100mb per file upload limit that CloudFlare forces upon you.
Other than that, make sure the max file size in nginx is set to a big number.

@Tresillo2017 to give a bit more detail:
There is the Chunk Size and the Max Size settings.
The Chunk Size is the max size a chunk should be when splitting. The Max Size is what the overall max size a file can be.
If you upload a file using the website, the file will be split into chunks if the file is larger than the Chunk Size. Max Size is used to determine if the overall file size is too large to be uploaded.
If you upload a file outside of the website (like with shareX) then the file gets uploaded normally since chunk uploading would not be possible unless the client supports our implementation. In this case the Max Size is ignored and Chunk Size is used in its place to determine if a file is too large to be uploaded.
This means if you upload a file with shareX, with or without cloudflare, the file cannot be larger than what Chunk Size is set to.

Isn't limiting the single file upload size to Chunk Size instead of Max Size something that could be easily changed?
@Tresillo2017 uses proper nginx limit (client_max_body_size  6000M;) and does not proxy with CloudFlare. There is no technical limitation that would prevent a larger file to be successfully uploaded. From outsider perspective, only minor conditional changes to file size validation logic are required here and there.

I have the following values set to:

Chunk size: 81000000
Maz Size:<PHONE_NUMBER>

The thing is that it could be cloudflare but when try to upload files using the internal ip, I get the same error and it can't be cloudflare or nginx.

@Tresillo2017 chaange the chunk size to<PHONE_NUMBER> and try without cloudflare

@Tresillo2017 change the chunk size to<PHONE_NUMBER> and try without cloudflare

Tried without cloudflare proxy and got the same error, via web.

 It seems like an issue with NPM according to this issue where the fix is just disabling the setting altogether.

@Tresillo2017 That error reeks of nginx problem. What @lakema17 suggested might work.

@Tresillo2017 That error reeks of nginx problem. What @lakema17 suggested might work.

Works on the browser without cloudflare proxy, but takes a while to start the first chunk. (like 5-10s)

@Tresillo2017 That error reeks of nginx problem. What @lakema17 suggested might work.

Works on the browser without cloudflare proxy, but takes a while to start the first chunk. (like 5-10s)

This could be due to proxy requests being buffered by Nginx. You can try disabling the setting by specifying proxy_request_buffering on; and testing it, though it is recommended that you keep buffering on for performance and security reasons.

@Tresillo2017 That error reeks of nginx problem. What @lakema17 suggested might work.

Works on the browser without cloudflare proxy, but takes a while to start the first chunk. (like 5-10s)

This could be due to proxy requests being buffered by Nginx. You can try disabling the setting by specifying proxy_request_buffering off; and testing it, though it is recommended that you keep buffering on for performance and security reasons.

I think it's worse with that parameter

The disk name is backup

Unfortunately bpytop does not show iowait, which is what I was looking for. You can use top and monitor the wa metric., but it's not as accurate as running benchmarks directly on the disk. You can try changing directory to your disk backup and use this benchmark and disable the other benches except for io curl -sL yabs.sh | bash -s -- -gin

It's an hdd btw

Yeah it's highly likely you're running into a HDD bottleneck. The 5 second wait you're seeing seems to be nginx flushing the chunks of data onto the disk. Depending on how your drive is mounted to the filesystem, the 20MB/s (100MB / 5 seconds) approximation is feasible.

I don't remember how it's mounted but that speeds doesn't seem right for an hdd it normally would be 100mbs or something like that.
-------- Original message --------From: Lake @.> Date: 1/23/24  10:52 PM  (GMT+01:00) To: chibisafe/chibisafe @.> Cc: Tomás Palma @.>, Mention @.> Subject: Re: [chibisafe/chibisafe] [BUG] Nginx proxy (Issue #542)
Yeah it's highly likely you're running into a HDD bottleneck. The 5 second wait you're seeing seems to be nginx flushing the chunks of data onto the disk. Depending on how your drive is mounted to the filesystem, the 20MB/s (100MB / 5 seconds) approximation is feasible.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

If you look at your benchmark results, it highly depends on the block size of the data being written. You can check your mount settings using mount | grep "/dev/sdb1". And yeah your disk doesn't really look like it does 100MB/s like you think it does

If you look at your benchmark results, it highly depends on the block size of the data being written. You can check your mount settings using mount | grep "/dev/sdb1".

Should I change the drive location into a network mounted nfs drive? (1tb).

If you look at your benchmark results, it highly depends on the block size of the data being written. You can check your mount settings using mount | grep "/dev/sdb1". And yeah your disk doesn't really look like it does 100MB/s like you think it does

The thing is that download speeds are really good I have 1gb

I can't still upload big files while on local ip. I get payload to large. I have to see what's causing that because I have set no file limit on nginx proxy.

If you look at your benchmark results, it highly depends on the block size of the data being written. You can check your mount settings using mount | grep "/dev/sdb1". And yeah your disk doesn't really look like it does 100MB/s like you think it does

The thing is that download speeds are really good I have 1gb

48MB/s is not 1Gbps (1 byte is 8 bits, so 48MB/s is approx. 384Mbit/s). Anyways, I wouldn't say it's rare to have a gap between read and write speeds, especially for SSDs, but yeah for hard disk they're usually closer. You could try monitoring disk activity (read and write speeds) as the first chunk is being uploaded, timing how long the disk is active for compared to how long chibi waits for the data to be written. It could be a problem with something else, considering how the wait only happens on the first chunk. I'm not seeing that same wait on my system, so the best I can tell you to do is profile as much of your system as possible while doing the upload. You could also try running chibisafe in debug mode by using yarn run dev and see if the logs have anything to give you, but that's a bit more involved and you might want to run a separate, temporary instance for that.

I just tried on a local enviroment with the git repository and not the docker image, and I'm getting the same payload to big error while trying to upload directly from sharex.
Uploading for the web worked fine and fast. I'm thinking the problem is the hdd of the server.

When uploading with ShareX, max file size is limited to your chunk size, if I recall correctly. You could try increasing chunk size or just not use ShareX for large files.

When uploading with ShareX, max file size is limited to your chunk size, if I recall correctly. You could try increasing chunk size or just not use ShareX for large files.

That's right, I uploaded a 63mb video via sharex and worked fast and without any errors.

Looks like the delay is network side (apart from the disk)

Uploading from local lower the wait time to 2s while with the domain it was 13s

Can you try uploading to Chibisafe over WAN? Basically just port forward Chibi and try uploading to it using your public_ip:24424
I have a sneaking suspicion it's a reverse proxy issue, but would like some verification.

Can you try uploading to Chibisafe over WAN? Basically just port forward Chibi and try uploading to it using your public_ip:24424 I have a sneaking suspicion it's a reverse proxy issue, but would like some verification.
Though I guess you could also run the reverse proxy on port 80 and access it over LAN instead

There's a lot of delay when accessing it over the internet.

That's fine. What's interesting is that we're not seeing the same wait time on the first chunk. I assume you're not using the reverse proxy, so that might be the issue here. Try using NPM again and see if the wait time comes back

This it what happens, it's interesting to see the difference between the first and second chunk

Seems to work fine with the latest Ubuntu release 23.10. Now I get 900ms on local

I'm using now ARC browser and it's working really fine. 100ms of response but at the last chunk I got 2.1 minutes.

Feel free to open this issue again if you need


EC2 server terminates if the servers in the cluster are rebooted or shutdown.

EC2 instance getting terminated if the servers are rebooted or stopped and it spins a new server. Temporarily, I have enabled termination protection on these servers....this is as per autoscalling policy.

Also, in order to retain data its advisable to make "DeleteOnTermination":"false" in the block device mappnigs section.
BlockDeviceMappings": [
{
"DeviceName": "/dev/sda1",
"Ebs": {
"DeleteOnTermination": "true",
"VolumeSize": 8,
"VolumeType": "gp2"
}
},
{
"DeviceName": "/dev/sda2",
"Ebs": {
"DeleteOnTermination": "true",
"VolumeSize": 50,
"VolumeType": "gp2"
}
}
],

Another solution, remove instances from AS group to avoid any termination and spinning of new instances.

Enhancements, EFS or an NFS server should be configured as part of the setup in order to eliminate AS automatically terminating instances thinking that they are unhealthy if the servers are stopped or rebooted.


Support blockquote elements

it seems that blockquote elements are not treated the same as other markdown constructs like code blocks, etc.
My naive look expects a remark-blockquote class on blockquote elements, there may be other things missing too.
what do you think?

What exactly is it you are asking for?
Blockquotes (using standard Markdown e-mail syntax > ...) ends up as <blockquote>...</blockquote> HTML in the slideshow:
https://jsfiddle.net/56o8jn8w/

@NorthIsUp do you mean you want better blockquote? I'm closing this ticket since there's more discussion on the same topic here on issue 305: https://github.com/gnab/remark/issues/305


Updated and New Device Drivers for graphene experiments

Updated driver for:
-Agilent 53131A (Counter)
New drivers for:
-Keithley 195A
-Agilent N9020A (Spectrum Analyzer)

SRS 865 (Lock-In Amplifier)

@Evan-Walsh a few requests for the Agilent N9020A

follow a more conventional naming scheme for the properties.  E.g  I expect to set/get the sa.centreFreq or sa.center_freq but not sa.SAFreqCenter
comment out properties that don't have setters/getters implemented
implement setters/getters for the properties rather than having differently named methods
what are the QuerySCPI and WriteSCPI  method for? By subclassing deviceDrivers.lib.GPIBorEthernet you already have methods. See e.g. here

@caryan
I've added a new commit to this branch:

I ended up merging the two codes Jess and I had for the Keithley 2400 so that I could keep my other programs unchanged
I've also added a driver for the Signal Recovery 7124 Lock In

@Evan-Walsh I don't want to hold this out here because I'm cranky about the Agilent N9020A driver. Let's merge this and make a new issue to clean that driver up.


1.20.1 version is Forge or Neoforge?

The last version for 1.20.1 on the curseforge site is marked as Forge, but name is like for NeoForge:
https://www.curseforge.com/minecraft/mc-mods/justenoughbreeding/files/5534885

I'm going to fix that


Custom headers on remote-read and refactor implementation to roundtripper

Signed-off-by: Harkishen-Singh<EMAIL_ADDRESS>
Fixes: #8503
TODO:

[x] Update config for remote-read
[x] Implement config tests for remote-read headers

You can take a look at NewBasicAuthRoundTripper in https://github.com/prometheus/common

@roidelapluie tried to implement as per what I understand from the call.

@roidelapluie could you please take a look at the implementation?

No problem, updated as per suggestions.

I don't see the custom headers in remote read when I run this locally. Investigating...

You are missing:
diff --git a/storage/remote/storage.go b/storage/remote/storage.go
index 2ca540ed3..131ab73b7 100644
--- a/storage/remote/storage.go
+++ b/storage/remote/storage.go
@@ -111,6 +111,7 @@ func (s *Storage) ApplyConfig(conf *config.Config) error {
                        URL:              rrConf.URL,
                        Timeout:          rrConf.RemoteTimeout,
                        HTTPClientConfig: rrConf.HTTPClientConfig,
+                       Headers:          rrConf.Headers,
                })
                if err != nil {
                        return err

How easy would it be to have a test for this (which would have failed without my proposed change?)

It wouldn't look good in code (to eyes).

@roidelapluie implement a unit test that confirms the headers whether they where applied in the round-tripper or not.

Thanks, I think that the test is indeed not great and relies too much on internal code. I'd rather not have it; I will look later how to implement an end to end test. Thanks.

So once the test is removed, LGTM

Thanks!


add port-forward logic with PortForward and ClusterPortForward type

What type of PR is this?
/kind feature
Which issue(s) this PR fixes:
Fixes #216
Special notes for your reviewer:
Not sure exactly how to test this change so I am creating this as a draft for further comments :relaxed: I was able to fake it by passing --config with configuration from the issue

/ok-to-test

/retest

/test pull-kwok-verify-main

/retest

/retest

/retest

I tried to figure out why are tests failing, but when I try them on the main branch, the same output is shown.
Should that be a separate issue or is there something I can do?

I tried to figure out why are tests failing, but when I try them on the main branch, the same output is shown. Should that be a separate issue or is there something I can do?

It doesn't seem to be an effect of this work, so you can ignore it for now.

Based on my comments, following these steps seems to work.
IMAGE_PREFIX=local make build build-image
./bin/$(go env GOOS)/$(go env GOARCH)/kwokctl create cluster --config port-forwrd.yaml
kubectl config use-context kwok-kwok

kubectl apply -f ./test/kwokctl/fake-node.yaml
kubectl apply -f ./test/kwokctl/fake-deployment.yaml
kubectl port-forward deployment/fake-pod 8080:10247

curl <IP_ADDRESS>:8080

# port-forwrd.yaml
kind: ClusterPortForward
apiVersion: kwok.x-k8s.io/v1alpha1
metadata:
  name: cluster-port-forward-rules
spec:
  selecter:
    matchNamespace:
      - default

  forwards:
    - targetPort: 10247
      targetAddress: localhost

I would like to make the matching capability a bit more generic, there are 3 other configurations that need to reuse this part of the capability, just write unit tests for this, and e2e just need to test that the features work properly.

/retest

Thanks for the review! I need to figure out why is now docker cluster port forward failing so it is not completely ready

Not ready yet, need to fix some issues on binary runtime cluster port forward test :relaxed:

Hey @wzshiming what should I do about nc? Should I use a different command? What would be the preferred way? :relaxed:

For pull-kwok-e2e-test-main
Modify the Makefile to skip these two cases
e2e-test:
	@./hack/requirements.sh kubectl buildx kind
	@./hack/e2e-test.sh \
		--skip=nerdctl \
		--skip=kind \
		--skip=kwokctl_binary_port_forward
		--skip=kwokctl_binary_cluster_port_forward

For Test / test-kwokctl (macos-latest, kind) (pull_request)
It looks like a flake test.

Test / test-kwokctl (macos-latest, kind) (pull_request) It always fails. Maybe there's something wrong with it.

I tried it on my Mac machine and it works
I downloaded kind 1.17, installed kubectl and started tests but they are passing on my mac
Should I dig into the workflow?

It also works on my Mac ./hack/e2e-test.sh kwokctl/kwokctl_kind_port_forward 😂

This log is suspicious, maybe we can print the configuration here and debug it
https://github.com/kubernetes-sigs/kwok/blob/c60178b368081101fd1716f7b0cff5b32a38c20f/pkg/kwok/server/debugging_port_forword.go#L132
E0211 17:46:48.813063   49140 portforward.go:406] an error occurred forwarding 8080 -> 8888: error forwarding port 8888 to pod default/fake-pod-bd6899c7d-ljb88: forward to port 8888 is not found
E0211 17:46:48.813425   49140 portforward.go:234] lost connection to pod
Error: failed to port-forward to 8888
E0211 17:46:54.151825   49349 portforward.go:406] an error occurred forwarding 8080 -> 8001: error forwarding port 8001 to pod default/fake-pod-bd6899c7d-ljb88: failed to dial localhost:1024: dial tcp [::1]:1024: connect: connection refused
E0211 17:46:54.152962   49349 portforward.go:234] lost connection to pod
Error: failed to port-forward to 8001
E0211 17:46:59.312905   49384 portforward.go:406] an error occurred forwarding 8080 -> 8002: error forwarding port 8002 to pod default/fake-pod-bd6899c7d-ljb88: forward to port 8002 is not found
E0211 17:46:59.313335   49384 portforward.go:234] lost connection to pod

I tried running the matrix job on a self-hosted runner on mac and on the hosted runner on mac
The self-hosted executed the job correctly, while hosted did not.
I looked into the hosted runner since I can inspect steps and see what is actually going to be executed in order to see if I am making a mistake, but the self-hosted runner finished without any issues.
I'll try digging more... But the only thing that is on my mind is that some configuration of a hosted machine is not allowing this test to pass

Before, v1alpha1
[{"ports":[8001],"targetAddress":"localhost","targetPort":10247},{"command":["nc","localhost","10247"],"ports":[8002]},{"targetAddress":"localhost","targetPort":10247}]

After, internalversion
[{"Ports":[8001],"TargetPort":1024,"TargetAddress":"localhost","Command":null}]

I suspect it's a problem with unsafe.Pointer during the conversion.

Ignoring my inference above, I have added a more detailed log showing that the contents of the file have been changed
case v1alpha1.ClusterPortForwardKind:
	logger.Warn("DEBUGDEBUG 1", "raw", raw)
	obj := &v1alpha1.ClusterPortForward{}
	err = json.Unmarshal(raw, &obj)
	if err != nil {
		return nil, err
	}
	logger.Warn("DEBUGDEBUG 2", "obj", obj)
	out, err := internalversion.ConvertToInternalClusterPortForward(obj)
	if err != nil {
		return nil, err
	}
	logger.Warn("DEBUGDEBUG 3", "out", out)

{"time":"2023-02-15T03:37:39.682488Z","level":"WARN","source":"/Users/runner/work/kwok/kwok/pkg/config/config.go:140","msg":"DEBUGDEBUG 1","cluster":"port-forwarding-cluster-kind-1-26-0","raw":{"apiVersion":"kwok.x-k8s.io/v1alpha1","kind":"ClusterPortForward","metadata":{"creationTimestamp":null,"name":"cluster-port-forward-rules"},"spec":{"forwards":[{"ports":[8001],"targetAddress":"localhost","targetPort":10247},{"command":["nc","localhost","10247"],"ports":[8002]},{"targetAddress":"localhost","targetPort":10247}]}}}
{"time":"2023-02-15T03:37:39.682715Z","level":"WARN","source":"/Users/runner/work/kwok/kwok/pkg/config/config.go:146","msg":"DEBUGDEBUG 2","cluster":"port-forwarding-cluster-kind-1-26-0","obj":{"kind":"ClusterPortForward","apiVersion":"kwok.x-k8s.io/v1alpha1","metadata":{"name":"cluster-port-forward-rules","creationTimestamp":null},"spec":{"forwards":[{"ports":[8001],"targetPort":10247,"targetAddress":"localhost"},{"ports":[8002],"command":["nc","localhost","10247"]},{"targetPort":10247,"targetAddress":"localhost"}]}}}
{"time":"2023-02-15T03:37:39.682753Z","level":"WARN","source":"/Users/runner/work/kwok/kwok/pkg/config/config.go:151","msg":"DEBUGDEBUG 3","cluster":"port-forwarding-cluster-kind-1-26-0","out":{"name":"cluster-port-forward-rules","creationTimestamp":null,"Spec":{"Selector":null,"Forwards":[{"Ports":[8001],"TargetPort":10247,"TargetAddress":"localhost","Command":null},{"Ports":[8002],"TargetPort":0,"TargetAddress":"","Command":["nc","localhost","10247"]},{"Ports":null,"TargetPort":10247,"TargetAddress":"localhost","Command":null}]}}}
{"time":"2023-02-15T03:37:39.683422Z","level":"WARN","source":"/Users/runner/work/kwok/kwok/pkg/config/config.go:140","msg":"DEBUGDEBUG 1","cluster":"port-forwarding-cluster-kind-1-26-0","raw":{"apiVersion":"kwok.x-k8s.io/v1alpha1","kind":"ClusterPortForward","metadata":{"creationTimestamp":null,"name":"cluster-port-forward-rules"},"spec":{"forwards":[{"ports":[8001],"targetAddress":"localhost","targetPort":10247},{"command":["nc","localhost","10247"],"ports":[8002]},{"targetAddress":"localhost","targetPort":10247}]}}}
{"time":"2023-02-15T03:37:39.68346Z","level":"WARN","source":"/Users/runner/work/kwok/kwok/pkg/config/config.go:146","msg":"DEBUGDEBUG 2","cluster":"port-forwarding-cluster-kind-1-26-0","obj":{"kind":"ClusterPortForward","apiVersion":"kwok.x-k8s.io/v1alpha1","metadata":{"name":"cluster-port-forward-rules","creationTimestamp":null},"spec":{"forwards":[{"ports":[8001],"targetPort":10247,"targetAddress":"localhost"},{"ports":[8002],"command":["nc","localhost","10247"]},{"targetPort":10247,"targetAddress":"localhost"}]}}}
{"time":"2023-02-15T03:37:39.683487Z","level":"WARN","source":"/Users/runner/work/kwok/kwok/pkg/config/config.go:151","msg":"DEBUGDEBUG 3","cluster":"port-forwarding-cluster-kind-1-26-0","out":{"name":"cluster-port-forward-rules","creationTimestamp":null,"Spec":{"Selector":null,"Forwards":[{"Ports":[8001],"TargetPort":10247,"TargetAddress":"localhost","Command":null},{"Ports":[8002],"TargetPort":0,"TargetAddress":"","Command":["nc","localhost","10247"]},{"Ports":null,"TargetPort":10247,"TargetAddress":"localhost","Command":null}]}}}
{"time":"2023-02-15T03:37:18.892343Z","level":"WARN","source":"/Users/runner/work/kwok/kwok/pkg/config/config.go:140","msg":"DEBUGDEBUG 1","raw":{"apiVersion":"kwok.x-k8s.io/v1alpha1","kind":"ClusterPortForward","metadata":{"creationTimestamp":null,"name":"cluster-port-forward-rules"},"spec":{"forwards":[{"ports":[8001],"targetAddress":"localhost","targetPort":1024}]}}}
{"time":"2023-02-15T03:37:18.892765Z","level":"WARN","source":"/Users/runner/work/kwok/kwok/pkg/config/config.go:146","msg":"DEBUGDEBUG 2","obj":{"kind":"ClusterPortForward","apiVersion":"kwok.x-k8s.io/v1alpha1","metadata":{"name":"cluster-port-forward-rules","creationTimestamp":null},"spec":{"forwards":[{"ports":[8001],"targetPort":1024,"targetAddress":"localhost"}]}}}
{"time":"2023-02-15T03:37:18.892857Z","level":"WARN","source":"/Users/runner/work/kwok/kwok/pkg/config/config.go:151","msg":"DEBUGDEBUG 3","out":{"name":"cluster-port-forward-rules","creationTimestamp":null,"Spec":{"Selector":null,"Forwards":[{"Ports":[8001],"TargetPort":1024,"TargetAddress":"localhost","Command":null}]}}}

cat /Users/runner/.kwok/clusters/port-forwarding-cluster-kind-1-26-0/kwok.yaml
...

---
apiVersion: kwok.x-k8s.io/v1alpha1
kind: ClusterPortForward
metadata:
  creationTimestamp: null
  name: cluster-port-forward-rules
spec:
  forwards:
  - ports:
    - 8001
    targetAddress: localhost
    targetPort: 10247
  - command:
    - nc
    - localhost
    - "10247"
    ports:
    - 8002
  - targetAddress: localhost
    targetPort: 10247

https://github.com/kubernetes-sigs/kwok/blob/6e8270786e1489dd6f152bce2c87c0f0c5142cbc/pkg/kwokctl/runtime/kind/kind.yaml.tpl#L66-L69
The end of the mount into container configuration file is trimmed by about 127 characters.

/approve
/lgtm


!learn commands

I'd like to have a !learn command.  You type !learn or something and pass it some parameters and it remembers the command.

I believe the syntax should be !learn "INPUT" "RESPONSE". Quotation marks would be required to put multiple words in a phrase.

This implementation has been pushed to the learn_command branch.


[Enhancement] optimize partition column statistics calculating

Why I'm doing:
optimize partition column statistics calculating
What I'm doing:

use the number of enumerate values  to adjust partition col ndv value for list partition table.
use bucket info in histogram to estimate equal predicate filter ratio.

notation of modification in HistogramStatisticsTest:

modifications of most cases are removing histogram in columnStatistics after join and some ndv values changed .
modification of TPCH8 is mainly a join order changed
before :

|----22:EXCHANGE
|       distribution type: SHUFFLE
|       partition exprs: [46: C_CUSTKEY, INT, false]
|       cardinality: 3000000
|
11:EXCHANGE
distribution type: SHUFFLE
partition exprs: [37: O_CUSTKEY, INT, false]
cardinality: 1954166

after:
|----21:EXCHANGE
|       distribution type: SHUFFLE
|       partition exprs: [37: O_CUSTKEY, INT, false]
|       cardinality: 1323957
|
10:Project
|  output columns:
|  46 <-> [46: C_CUSTKEY, INT, false]
|  cardinality: 3000000

Fixes #issue
What type of PR is this:

[ ] BugFix
[ ] Feature
[x] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Does this PR entail a change in behavior?

[ ] Yes, this PR will result in a change in behavior.
[x] No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

[ ] Interface/UI changes: syntax, type conversion, expression evaluation, display information
[ ] Parameter changes: default values, similar parameters but with different default values
[ ] Policy changes: use new policy to replace old one, functionality automatically enabled
[ ] Feature removed
[ ] Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

[x] I have added test cases for my bug fix or my new feature
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

[ ] This is a backport pr

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto-backported to the target branch

[x] 3.3
[x] 3.2
[ ] 3.1
[ ] 3.0
[ ] 2.5

@Mergifyio backport branch-3.2 branch-3.3


Better error messages on validation errors.

This adds a new validator, gradbench.evaluation.mismatch, and a function, gradbench.comparison.compare_json_objects, that produces fairly human-friendly descriptions of mismatches between expected and actual results.
All ADBench-derived evals have been modified to use it.
I had to modify the pytorch implementation of lstm, which had a small bug where it returned a singleton list instead of a scalar (this was not detected by the previous validation).

Example of what the output looks like (after making tolerance zero):
$ ./gradbench run --tool './gradbench tool finite' --eval './gradbench eval gmm'
[   0] Ready.
[   1] Defining module "gmm"... success.
[   2] Eval objective                 2_5_1000            185856 ns (evaluate) ⚠
Found 1 mismatches, showing 1:
: -3925.900327678537 != -3925.9003276786025
[   4] Eval jacobian                  2_5_1000           5969664 ns (evaluate) ⚠
Found 30 mismatches, showing 10:
[0]: -156.65192146119415 != -156.65192145702633
[1]:<PHONE_NUMBER>8194258 !=<PHONE_NUMBER>3142017
[2]: -124.5890417497034 != -124.58904171948708
[3]: 27.798057018699502 != 27.79805704526227
[4]: 48.11616761025559 != 48.116167598856954
[5]: -405.9801346042672 != -405.98013459230384
[6]: -436.97774594717754 != -436.9777459342115
[7]: -553.3432688487967 != -553.3432688651346
[8]: -77.6611303454862 != -77.66113037596419
[9]: -120.20268889275157 != -120.20268887709332
[   6] Eval objective                 2_10_1000           209664 ns (evaluate) ⚠
Found 1 mismatches, showing 1:
: -3625.2983162346136 != -3625.29831623468
...

It looks a bit strange for the special case of the function producing an invalid scalar, but I don't think it matters. It's more important that errors in nested structures are precisely identified.

Wait, quick fix incoming.

I already put this to use in fixing BA (will be a separate PR after this is fixed), which would have been a total pain otherwise.


Adds iOS Coach Frank to the directory

Adds my website and associated info to content.json
Thanks!

Thanks!


List a user's roles

Hi,
Is there a way to list all subject roles a user has?
If a user has :admin and :dancer roles as an example.
I see a method for user.roles_for(Object), but something like, user.roles would be useful for us if not already available.
Thank you

A simple accessor for this would be nice. For now you can do
user.role_objects.map(&:name)
This will return all roles regardless of object context (or lack thereof)

I'll tell you why I keep resisting this request.  It's so easy to do this yourself, there's generally only one subject model, so you'd only be adding one method to one model, and for the simple use case that most people seem to be interested in, the method is literally this:
def role_names
  role_objects.pluck :name
end

...so it's super-simple, and we don't gain much by adding it as part of this gem.
PLUS the more methods we add, especially instance methods, the more likely we are to clash with a user's existing methods in their own models. So generally, there's a high burden for new instance methods, and because this is so simple to implement yourself I don't feel that that burden has been reached.
There's also one other thing, although I understand that a lot of users use acl9 for very simple roles, there are many users who use the object features of acl9, so they don't just have roles like :admin and :dancer but they have roles like: :admin, on: School or :admin, on: School.find(42), and so the representation of all the roles that a given user has becomes problematic, if protect_global_roles is true then a global :admin and the :admin of a particular school are both going to have :admin in their :role_names, so really you need to show both the role name and the list of objects that role applies to - and by then really even with a role_names method many acl9 users will end up having to code their own logic anyway.
So, for all these reasons, I'm not adding this feature, sorry.


allow k3s on amd64 instances

Ref: https://github.com/longhorn/longhorn/issues/3243
Signed-off-by: Mohamed Eldafrawi<EMAIL_ADDRESS>

This PR should be merged after: https://github.com/longhorn/infra/pull/76


Make group photo slot in schedule

perhaps somewhen during a coffee break.

We had a dedicated slot in the schedule, but there was confusion as to where it would take place, and the final location amidst unrelated cars was not ideal.

Since we have #126 for the photo location, I am closing this ticket.


ImportError: cannot import name Kaccel

Python v 2.7.13
OS Windows 10
Flask-Kaccel installed by pip also tried with this git and the same error : ImportError: cannot import name Kaccel

Same issue

Yes, same here.
Surely this should be re-opened?  No other module I've downloaded has this issue.

same issue.