kubernetes: add generic builder and kops stable versions

Motivation for this change
Add generic builder for Kubernetes, and expressions for versions considered stable by kops.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@GrahamcOfBorg build kubernetes kubernetes_1_13_5

@GrahamcOfBorg eval

Should I add some documentation re: mkKubernetes?

Should I add some documentation re: mkKubernetes?

Yes, but I wouldn't recommend writing it until you've got feedback and you're sure it's not going to change. Mostly to save you rewrites if you change anything.

Specifics I'd like feedback on:

Which versions do we want to hardcode? https://github.com/kubernetes/kops/blob/master/channels/stable seems a good source to me
Do we like mkKubernetes? (I certainly do)
How should I document this? Should I document mkKops while I'm at it?

Thanks!

Thanks, looks, exactly what I need for refactored nixos module I'm working on 😀 I will try it and look into it most likely during the weekend.

I did some simplifications:

changed from callPackage to callPackages, which allows overriding attributes per package
expose only minor versions, not patch versions in all-packages
remove mkKubernetes, as i do not see major benefit having that method exposed (you can use overrideDerivation to change source for particular version).
updated version.json with new kubernetes 1.15 and change default version to the latest one
simplified mkversion.sh script and replace /usr/bin/env shebang with nix-shell

This is how you can build different versions of kubernetes and override different things, like go version:

Override go version

nix-build -E 'with import ./. { }; kubernetes_1_15.override { go = go_1_12; }'

Override source

# What i'm doing here is stupid, but you get an idea
nix-build -E 'with import ./. { }; kubernetes.overrideDerivation (p: { src = kubernetes_1_14.src;
})'

Change components

nix-build -E 'with import ./. { }; kubernetes_1_4.override { components = ["cmd/kubectl" "cmd/kubeadm"]; }'

Looks like kubernetes 1.15 has problems building, will have to take a look what is wrong.

Ok, fixed kubernetes 1.15 builds, looks like i had to set $HOME, as it creates some cache there.

I will make more explicit which binaries gets installed, as now we get a few of build time binaries in $out/bin

So old versions did not build, due to go-1_12 being used, but i think it's more than ok to have last 5 versions. @yurrriq @worldofpeace are you ok with changes? for explanation take a look here: https://github.com/NixOS/nixpkgs/pull/66496#issuecomment-522314240 I will do a rebase then and join some commits.

@GrahamcOfBorg build kubernetes kubernetes_1_11 kubernetes_1_12 kubernetes_1_13 kubernetes_1_14 kubernetes_1_15 kubectl

All good on not having patch specific versions in all-packages.nix, also I think t the removal of mkKubernetes needs feedback from @yurrriq.

I did removed mkKubernetes as you can change source with overrideDerivations. We do not have explicit build functions for versions exposed in other packages that expose multiple versions like openssl.

Changes look good to me. I think we should add some documentation with an override example.

Hmm some builds failed on x86_64-linux, which is odd based on fact, that aarch64-linux builds succeed.

@GrahamcOfBorg build kubernetes kubernetes_1_11 kubernetes_1_12 kubernetes_1_13 kubernetes_1_14 kubernetes_1_15 kubectl

@johanot I am working on refactoring of nixos kubernetes module, that will also take into account this package, it's avalibe here: https://github.com/xtruder/nixpkgs/tree/nixos/kubernetes/refactoring
It's mostly functional and has improved unit and e2e tests tests, but I was not yet ready to publish pull request. I will make so that tests pass with all versions of kubernetes.

@johanot Before that happens, if you can help fixing current tests, when you get back, it would be much appreciated 🙂

Thanks, @offlinehacker and @johanot. I'm on a work trip now too, and head home Saturday fwiw. Should be able to help once I'm back.

I am working on refactoring of nixos kubernetes module, that will also take into account this package.

@offlinehacker Sounds good!
To be honest, my thoughts on the Kubernetes module of the future are... a bit more radical, perhaps. :-) I'm working on a proposal along the lines of:

Pull the existing module out of NixOS/nixpkgs and into a separate dedicated repository.
A new minimal module will be available in nixpkgs allowing for simple enable/disable and custom config of main kubernetes components (apiserver, controller-manager, scheduler, kubelet)
The smart kubernetes module we have today will be available as an out-of-tree module much like Simple NixOS Mailserver - perhaps as a flake.
The future in-tree Kubernetes module will be "Kubernetes the hard way". No magic, No auto-provisioning of secrets or dynamic config.

Besides reducing the number of kubernetes NixOS options from ~145 to ~20, it will also become much easier to support many different versions of Kubernetes with the same module. In fact, I looked into 1.15 a bit further yesterday, and it looks like there's at least one option that has to be removed on the kubelet, since the --allow-privileged flag has been removed. If we get rid of all these very specialized options, module maintenance and backward compatibility becomes less of a pain.
Anyway.. This will definitely not happen for 19.09. So let's discuss that later.

Before that happens, if you can help fixing current tests, when you get back, it would be much appreciated

Sure thing.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/kubernetes-the-nixos-module-of-the-future/3922/1

@johanot @yurrriq what is status with this pull request? Can we merge it after resolving conflicts and rebase, now when #67563 has been merged?

@srhb agreed, will join the discussion, but it is more related to nixos module as i can see.
I still think this pull request is unrelated to other developments as it is just improvement to package multiple versions of kubernetes. I'm just unaware if latest version from this pull requests works with fixes that @johanot implemented? I will have time during the weekend to test it out.

I agree that this PR is at least tangential to the module discussion, but I don't want to accidentally imply that the module supports the versions of kubernetes in nixpkgs proper if we decide to keep on only supporting a single version. It might just require a bit more documentation.
That said, now that I've been sort of forced to think about it, I am opposed to this PR in its entirety and think we should only keep the latest version in nixpkgs. If users have specific needs for older software, they can go ahead and override as needed.

@srhb, can you explain the reasoning behind your opposition some more?
To me, including the most recent patch versions a few recent minor version (as we have it now) seems ideal. I think it's quite common that users will need different versions, and rather than have multiple ad hoc implementations of a generic builder, I think it would be better to have an "official" one. I also don't see a problem with include some known version/hash attrsets, especially those supported by kops, EKS, AKS, etc.
If the community at large is opposed to this, I suppose I'll just keep it in my nur-packages.

We would also need a support for multiple versions at @gatehubnet and @xtruder to have kubectl support for older versions of  kubernetes, as we are not upgrading with same pace as "official" kubernetes. If there would LTS kubernetes it would be nice..

Also in gke you can select which version of kuberneted you want and the same if with some other tools like kubeadm and kops, so I cannot see why shouldn't we support multiple versions?

I've also given this an extra thought. I think I agree on the argument that; if supporting older versions involves nothing else than overriding version and hash, I don't see why users cannot overlay as needed?
I have no principled arguments against having multiple versions in nixpkgs, as long as we can guarantee that they're all stable and someone actively maintain them. Unfortunately, I don't have the time myself to guarantee the working order of all versions from 1.9 -> 1.15, nor can I say whether the NixOS module will be properly backward compatible. If possible, I'd prefer the NixOS module to be compatible with all nixpkgs-available package versions, and thus I think the module discussion is relevant.

And I might have answer for that, I was working hard to make improvements to kubernetes nixos module, the current progress can be seen here: https://github.com/xtruder/nixpkgs/tree/nixos/kubernetes/refactoring that should also take into account multiple versions. Unfortunately I did not have time to make proper pull request 😕 I can see what I can do in following weekends, but I want to have tests for all versions of kubernetes that we have in nixpkgs, this would be ideal.

Re: maintenance of versions. We can use (or enhance) this script to stay current with e.g. kops supported versions. https://github.com/NixOS/nixpkgs/blob/d89a311678b1f1cc7abd728c06d062f1465c97b9/pkgs/applications/networking/cluster/kubernetes/mkversions.sh

@yurrriq

@srhb, can you explain the reasoning behind your opposition some more?

I'm mostly worried about adding complexity that we can't easily bail out on currently. I would prefer that we crystallize a plan that takes into account the module as well as the packages. Right now, it seems several people are working on various proposals and PRs for kubernetes, and I would like to try and ensure that everything fits together very well, not just for a few releases, but hopefully for longer. I'm also not very fond of promoting kops to some sort of special truth for the nixpkgs ecosystem. It's not a big deal, but mostly just trying to gate everything with disclaimers that things might be changing soon.
That said, I'm not strongly opposed to having multiple versions in nixpkgs -- at least not as strongly opposed as trying to make the module support several versions. I will not attempt to block your efforts here, but I do care that we take special care to ensure the module in whatever shape or form we decide upon in the coming months, is very well supported by the kubernetes package(s) in nixpkgs proper. :-)

I chose kops arbitrarily, and agree it should not be given any special status. We should probably just include the latest patch versions of the last three minor versions, which are supported as per the k8s documentation: https://kubernetes.io/docs/setup/release/version-skew-policy/#supported-versions
It would seem to me those three versions ought to be supported by the module as well.
I still very much want an easy way to build specific versions locally, whether via generic builder or overrides. Perhaps this is already addressed by #67563
Thoughts?

I'm undecided, i mean multiple version support might be helpful for us, but we will just use overlay if this will not get merged and there is decision to only support latest version. My thought is that nixpkgs monorepo has too much stuff anyway, and should be split and in that case having single version is reasonable decision.

So, I think now the decision is either to include the three supported versions, and the generic builder, or close this PR. I'm pretty sure #67563 addressed my needs.

Closing this as it seems like, collectively, we don't want to go this direction. Thanks to everyone for their feedback.


Hot update causes subcomponents to be lost

Results tested in stackblitz:

This seems to be an old nuxi bug, because it was fixed after I ran npx nuxi upgrade -f


gitbook 1.1.0 & --theme option

gitbook 1.1.0 doesn't seem to have --theme option
bash$ gitbook serve . --theme /tmp/clarity/lib

  error: unknown option `--theme'

@nareshv not sure if you are still looking for answer. I found it here - https://github.com/GitbookIO/gitbook/issues/147


HostedEntry API should not create a new version if contents are identical to previous version

Feature Request
When submitting files to create a new version of a hosted entry, a new version is always created, even if the contents are identical to the previous version.
Instead, when the webservice detects that no files have changed, it should not create a new version.
When fixing this, note the integration test code in LimitedCRUDClientIT.java is relying on the current behavior of a new version being created every time, and so will need to be updated as part of this fix.
┆Issue is synchronized with this Jira Story
┆Issue Type: Story
┆Fix Versions: Dockstore 1.6
┆Sprint: Seabright Sprint 6 Ferry
┆Issue Number: DOCK-550

So the database no longer has an extra version but the UI expects a workflow object and doesn't handle it quite well when there's isn't one (because 204 no content).

Probably worth upgrading the GUI to say something like "No changes detected, update rejected"
How horribly does the UI crash?

Confirmed that a new version is not saved. API call returns 204, no content, and the UI displays a snackbar message that the version did not change.
Tested on staging.dockstore.org with:
DockstoreAPI - 1.6.0-rc.0
DockstoreUI - 2.3.0-rc.1


OCPBUGS-41977: Update go.mod to fix CVE - 4.15

Its a back port of PR from main branch: https://github.com/openshift/machine-api-provider-powervs/pull/81

/label backport-risk-assessed


Unclear Instructions for plugin usage in the README

Summary:
The current README documentation for the Spectral plugin lacks comprehensive guidance on setting up and using the plugin.
Detailed Description:
I have recently installed the Spectral plugin on IntelliJ IDEA version 2023.2.5 to lint OpenAPI specification files. While the installation and basic configuration were straightforward, I encountered difficulties with enabling and utilizing the automatic linting feature. Despite following the available instructions in the README, the automatic linting does not seem to be operational.
I believe more detailed and step-by-step documentation, could greatly benefit users of the plugin. Also providing screenshots on how to trigger the lint process would be nice.

Having the same problem, did you figure it out how to start the linting?

No I didn't, I have removed it and I don't think to bother with it again.  For my purposes the CLI is good enough:
spectral lint --ruleset  {link to the ruleset file}

For most users you will need to change the config to suit your project.
Common settings would be:

Ruleset: .spectral.yaml
Included path patterns: **/*.yaml


Redis configuration not inherited from Sidekiq

Context
Many hosted key-value/redis services run on hosts that they do not own such as compute-1.amazonaws.com therefore they can provide an SSL cert so communication is not sent over plaintext, however the client cannot validate that the certificate matches the host, because the service doesn't own the host (i.e. Heroku or Redis Cloud does not own the compute-1.amazonaws.com domain). Therefore it's common to disable SSL verification like https://github.com/codetriage/CodeTriage/blob/2f193418ca0b8757ca0a1159a2e7827ff5a02926/config/initializers/sidekiq.rb#L3-L8.
Expected
I expect that if I configure sidekiq's Redis connection to ignore the SSL verification that activejob-uniqueness will also ignore it. Alternatively, I expect documentation on the readme to highlight that this gem requires a separate connection configuration
Actual
When using this gem with sidekiq with a Redis provider that requires SSL (Redis 6+ AFAIK requires SSL) then it will error:
/app/vendor/bundle/ruby/3.3.0/gems/redis-client-0.22.2/lib/redis_client/ruby_connection.rb:134:in `connect_nonblock': SSL_connect returned=1 errno=0 peeraddr=<redacted> state=error: certificate verify failed (self-signed certificate in certificate chain) (rediss://<redacted>:<redacted>) (RedisClient::CannotConnectError)
	from /app/vendor/bundle/ruby/3.3.0/gems/redis-client-0.22.2/lib/redis_client/ruby_connection.rb:134:in `block in connect'
	from <internal:kernel>:187:in `loop'
	from /app/vendor/bundle/ruby/3.3.0/gems/redis-client-0.22.2/lib/redis_client/ruby_connection.rb:133:in `connect'
	from /app/vendor/bundle/ruby/3.3.0/gems/redis-client-0.22.2/lib/redis_client/ruby_connection.rb:51:in `initialize'
	from /app/vendor/bundle/ruby/3.3.0/gems/redis-client-0.22.2/lib/redis_client.rb:746:in `new'
	from /app/vendor/bundle/ruby/3.3.0/gems/redis-client-0.22.2/lib/redis_client.rb:746:in `block in connect'
	from /app/vendor/bundle/ruby/3.3.0/gems/redis-client-0.22.2/lib/redis_client/middlewares.rb:12:in `connect'
	from /app/vendor/bundle/ruby/3.3.0/gems/redis-client-0.22.2/lib/redis_client.rb:745:in `connect'
	from /app/vendor/bundle/ruby/3.3.0/gems/redis-client-0.22.2/lib/redis_client.rb:732:in `raw_connection'
	from /app/vendor/bundle/ruby/3.3.0/gems/redis-client-0.22.2/lib/redis_client.rb:697:in `ensure_connected'
	from /app/vendor/bundle/ruby/3.3.0/gems/redis-client-0.22.2/lib/redis_client.rb:277:in `call'
	from /app/vendor/bundle/ruby/3.3.0/gems/activejob-uniqueness-0.3.2/lib/active_job/uniqueness/lock_manager.rb:13:in `block (2 levels) in delete_lock'
	from /app/vendor/bundle/ruby/3.3.0/gems/redlock-2.0.6/lib/redlock/client.rb:203:in `block (2 levels) in synchronize'

Note that in the backtrace is activejob-uniqueness and redlock.
Fix
I don't know if it's possible to extend the sidekiq patch to apply the SSL configuration automatically. An shorter term fix would be to add a suggestion that sidekiq users can disable SSL via this code in the README. Perhaps something like this:

This gem relies on redlock for it's Redis connection, that means it will not inherit global configuration of Sidekiq. To configure the connection, you can use config.redlock_servers, for example to disable SSL verification for Redis/Key-Value cloud providers:
ActiveJob::Uniqueness.configure do |config|
  config.redlock_servers = [
    RedisClient.new(
      url: ENV["REDIS_URL"],
      ssl_params: {verify_mode: OpenSSL::SSL::VERIFY_NONE}
    )]
end

I would also suggest putting this section directly under the "configuration" section and above the "usage" as the "sidekiq API" section is currently somewhat hidden if you're not looking for it (though the patch is mentioned multiple times).
I also found a related issue where someone hit the same problem and then closed after they found the workaround that I'm suggesting here in the docs https://github.com/veeqo/activejob-uniqueness/issues/58#issuecomment-1673430519

Thank you for the proposal. The readme has been updated


overrideTokens replace theme-wide tokens, instead of cascading

Environment Information

Platform:

[x] iOS
[ ] macOS

Package version(s): 0.5.0, all package managers
Xcode and OS versions: Xcode 13.3.1, iOS 15.x

Please provide a reproduction of the bug:

Open a demo view that supports both per-control override and theme-wide override tokens (e.g. CardNudge)
Update theme-wide override to include additional properties beyond what are covered by per-control override tokens (e.g. accentColor)
Enable theme-wide override, then per-control override.

Actual behavior:
Theme-wide custom accentColor is replaced by default value.
Expected behavior:
Theme-wide custom accentColor is maintained, as per-control override doesn't override that value.
Priorities and help requested:
Are you willing to submit a PR to fix? (Yes, No)
Requested priority: (Blocking, High, Normal, Low)
Products/applications affected: (if applicable)

The fix for this will be to implement some form of cascading token resolution. I have a WIP in my personal fork; PR expected in the coming days.

This is now fixed in the fluent2-tokens branch. Next step will be merging to main.

Resolved back with https://github.com/microsoft/fluentui-apple/pull/1219, which is now released in the 0.8 branch!


use default export from for babelJest.createTransformer

It looks like with newer versions of jest, you have to use the default export. So changing babelJest.createTransformer to babelJest.default.createTransformer
See this issue from jest https://github.com/facebook/jest/issues/11444#issuecomment-847909076

When I use the tests in watch mode, i get the following message:
  ● Test suite failed to run

    TypeError: babelJest.createTransformer is not a function

      at Object.<anonymous> (node_modules/craco-linaria3/src/babelTransform.js:3:28)
      at node_modules/@jest/transform/build/ScriptTransformer.js:382:73
          at Array.map (<anonymous>)

In all run, everything works as intended.


How do I use it?

I'm not a programmer, nor an html editor.
I am using a system to build landing page,
I can add codes to html head, html body (start), html body(end), to css or a script.
How do I use it?
I only wants image as a background.
what do I need to do?
I've tried few things but didn't nothing worked so far

Try this.
Add a script with this line-
$.backstretch("path/to/your/image.png");
That should apply the image to the whole body.
If you want it only on a block level element, just do $("#somediv").backstretch("path/to/your/image.png");


PP-4858 Front end for discrepancy reporting and resolution

Adds ability to report on and resolve discrepancies between
payment gateway and Pay.

Thanks. Have fixed up


RecylerView Data Not Showing in PDF

When I set a recylerview layout in PDF it shows a blank page.
My Code Snippet :
cashinfoRecylerView.setAdapter(new CashInfoAdapter(CashInfoActivity.this, cashInfos));
                    PdfGenerator.getBuilder()
                            .setContext(CashInfoActivity.this)
                            .fromViewIDSource()
                            .fromViewID(R.layout.activity_cash_info,CashInfoActivity.this,R.id.cashinfoRecylerView)
                            /* "fromViewID()" takes array of view ids and the host layout xml where the view ids are belonging.
                             * You can also invoke "fromViewIDList()" method here which takes list of view ids instead of array.*/
                            .setPageSize(PdfGenerator.PageSize.A4)
                            .setFileName("Test-PDF")
                            .setFolderName("Test-PDF-folder")
                            .openPDFafterGeneration(true)
                            .build(new PdfGeneratorListener() {
                                @Override
                                public void onFailure(FailureResponse failureResponse) {
                                    super.onFailure(failureResponse);
                                }

                                @Override
                                public void onStartPDFGeneration() {
                                    /*When PDF generation begins to start*/
                                }

                                @Override
                                public void onFinishPDFGeneration() {
                                    /*When PDF generation is finished*/
                                }

                                @Override
                                public void showLog(String log) {
                                    super.showLog(log);
                                }

                                @Override
                                public void onSuccess(SuccessResponse response) {
                                    super.onSuccess(response);
                                }
                            });

Hi @Kayuemkhan  vaiya. sorry for late reply. Please look my code here and make sure that you are populating the recycler view with data before push it into the pdf generator. Knock me here if face any complexity. Thank you.

Hi @Kayuemkhan
Thank you all for the support. Please kindly star and fork and send me the app links you all are using it. If there is no confidentiality then I will list them in my readme.md file.


Remove functionality that has not been implemented yet.

Follow up from #520
Removed to more functionality that is not implemented.
This includes.

Keyboard shortcut icon ( does nothing when clicked ).
Search field in Text tab of library ( does nothing text entered ).
Text sets ( nothing displayed ).
Search field in Shape tab of library ( does nothing text entered ).

There is still a question in my mind if we should also remove these button, as they do nothing....

I would actually greatly prefer if we gray out these areas:

Helper, text magic and keyboard are already grayed out AFAIK. Nothing needed here, except maybe a tooltip that says "Coming soon".
Search box should stay as the layout otherwise becomes unstable, but should be disabled on text.
Text sets header I would keep,  but have a little paragraph below it that says "Coming soon".

I have updated PR based on feedback from @pbakaus .
Can someone review and merge.

Any someone please review and merge. CC @swissspidy


I tried to execute wasm but fail with  unknown import: env::puts has not been defined

The wat is ：
test.txt
The command is wasmtime run test.wat
The output is :
Caused by:
0: failed to instantiate "test.wasm"
1: unknown import: env::puts has not been defined

puts as a host function appears to be a wamr-specific feature. If you compile your program with wasi-sdk, it'll link in a puts function from wasi-libc, which will run in all WASI engines.

Thanks a lot!


create Profile model

The action in the application would be carried by a user (using django API's User from auth.models) , which would be mapped to a model Profile .
Design the Profile model

claim


Implement build caching support in esbuild-based browser application builder

Command
build, serve
Description
Implement build caching support in esbuild-based browser application builder
Describe the solution you'd like
Just like the webpack builder supports build caching, it would be nice to have it also in esbuild builder. As currently the webpack builder is faster on cold builds after the first run compared to esbuild one.
Describe alternatives you've considered
Use webpack builder.

@intellix I'm also getting slightly slower incremental rebuilds, you are not the only one. Though build caching (this ticket) should only affect cold starts.

When using the new esbuild feature from Angular 17.0.3 and TailwindCss, it takes us 500+ seconds to start up a large application. When we make a simple code change, it takes 280+ seconds for esbuild to rebuild.
The esbuild build story is GREAT. Working with esbuild and TailwindCSS on a daily basis is a completely different story.
Wondering what's possible here. The current situation is not tenable.
FYI Before we used Nx's incremental webpack build and that worked in an "acceptable" way. If the change was in the "top most" part of the application, a rebuild was snappy. If the change was made in the "lower part" of the app, the dev server would have to work its way up to the top by compiling everything in between.
You definitely see a delay when having to pre-process the CSS in a larger application in comparison to an Angular app that runs with SCSS / Bootstrap for example.
Thoughts from the Team Angular highly requested 🍺

We generate a static tailwind scss, that works fine (but unnused classes are then not pruned). I suggest you open a separate ticket as its specific to the built-in Angular tailwindcss support.

Having the same issue here: After upgrading to angular 17 we want to try out the new application builder, but increasing the build times (compared to cached webpack builds) is a tough one to swallow

Is the @angular-devkit/build-angular:application builder using cache at all ?
On our application we have no differences between the first build with no cache, and the following cold build with cache.
Here are some approximate numbers collected from multiple executions from a dev machine:

Builder
Cold build, no cache
Cold build, with cache
Hot rebuild(small change in a leaf component)
Hot rebuild(small change in a root scss)

Webpack
202s
60s
17s
94s

esBuild
111s
109s
7s
95s

In our case though there multiple goals:

CI runs: Cold build, with cache
Local UI dev: All of the above conditions
Back-end devs: Cold build, with cache

Basically there are no real improvement to use the esBuild builder.
We even have costlier CI cycles (and CI cycle typically takes longer then the above metrics, as the machines are less powerful).


Get unit tests working on CircleCI

Closes https://github.com/bullet-train-co/bullet_train-super_scaffolding/issues/75.
Turned out to be as simple as just not including the module when BulletTrain::Api isn't present.
We don't cover this part of the code within the package's unit tests which is why it passes locally, but since CI=true enables eager loading, it tries to load the module. The thing is, it needs the context of the starter repository (TeamsController, etc.) because these modules exist there.

It's worth noting that the same issue in bullet_train-api is more difficult: we can bypass include strong_parameters_from_api, but it still depends on the context of the main application.
In app/controllers/api/v1/scaffolding/completely_concrete/tangible_things_controller.rb
class Api::V1::Scaffolding::CompletelyConcrete::TangibleThingsController < Api::V1::ApplicationController
  ...
end

The parent class Api::V1::ApplicationController is coming from app/controllers/api/v1/application_controller.rb in the starter repository:
class Api::V1::ApplicationController < ActionController::API
  include Api::Controllers::Base
end

I ended up using Api::V1::ApplicationController for the conditional here, but I write about it more in detail in https://github.com/bullet-train-co/bullet_train-super_scaffolding/pull/79.


Remove use of six

Removes the use of six so it is no longer a dependency and is not imported and used in any modules, tests, or scripts.
Fixes #1296
Description of the changes being introduced by the pull request:
Please verify and check that the pull request fulfills the following
requirements:

[ ] The code follows the Code Style Guidelines
[ ] Tests have been added for the bug fix or new feature
[ ] Docs have been added for the bug fix or new feature

Just two comments (unfortunately one touches a lot of lines):

I believe import urllib does not bring urllib.request or urllib.parse into scope -- I think some dependency (requests?) maybe happens to import those so we don't notice this? If I'm correct, I'd be fine with import urllib.request style in tests so you don't need to modify all calls again but in the actual code some form of from urllib import x would probably be preferred for vendoring reasons
for key, value in dict.items(mydict) is not wrong... but wouldn't for key, value in mydict.items() be the normal way to do this. I hope there is a nice regex to do that replace if you end up doing it.

Thank you for the review, @jku! Hopefully, I've managed to address your comments in the two new commits.

Thanks, LGTM!
If you want to squash these into one commit and force-push feel free to do so, otherwise I'll do a "squash and merge" (either way is fine by me but in the latter case I can only mark you as co-author as the new commit will then be mine).

I've squashed them into one commit. Thank you, @jku.


Sign-up on Opportunities page not working

Couldn't find another issue so maybe this is in progress?

The button is there however it is non-functional (on Firefox at least)

fixed now https://github.com/BCDevExchange/devex/commit/25d76f4121cb828a41efed13e1c35cc50c0bd90e


Adding Window support

Would be nice to get a Windows package supported here. This contingent on having FFTW supported on Windows. ( https://github.com/conda-forge/fftw-feedstock/issues/2 )

Windows seems to be supported by FFTW package now (but see limitation of this issue conda-forge/fftw-feedstock#37 for python 3.6). Is there something else holding back windows support (except someone doing a pull request)?

see my comment in conda-forge/fftw-feedstock#37 on why current pyFFTW is incompatible with conda-forge FFTW.  Hopefully with a new pyFFTW release, this will be resolved in the near future.

There is some demand for a pyfftw windows build for python 3.6: pyFFTW/pyFFTW/issues/245. And some other folks have managed to do it for python 3.5 alone. May I know if this would be possible soon?

I had gotten this to work some time ago using the FFTW package that is available from conda-forge, but only when using the master branch of FFTW. The master branch is necessary because it enables some new environment variables to help pyFFTW find the libraries and it supports having only float and double precision available (conda-forge currently does not provide the long double variant of FFTW on windows).
Ideally, we would make a new pyFFTW release and then a PR here rather than building a package from master. I think a release is basically ready to go at pyFFTW, so I just checked in again with the team over there about that (see pyFFTW/pyFFTW#187).

Great news! For a fairly popular package such as pyFFTW a release has been long overdue :+1:

closed by #23


Syntax coloring problems when using Nullish Coalescing in VS 2019

TypeScript Version:  <IP_ADDRESS>
Visual Studio Version: 16.3.8
Search Terms: Coalescing, Syntax Coloring
Code: Any code using the new ?? in ts or tsx files.
Expected behavior: Syntax Coloring works properly
Actual behavior: Syntax Coloring stops working for certain tokens (export, return, var, type anotations, JSX attributes) but works for others (JSX elements, castings) after the ?? is inserted.
Animation demostrating the issue:

Playground Link: In playground Syntax coloring works OK

This works correctly in master

Can I install master in VS2019, Or I need to wait for a new release in the marketplace?
Currently using https://marketplace.visualstudio.com/items?itemName=TypeScriptTeam.typescript-372 and  https://www.nuget.org/packages/Microsoft.TypeScript.MSBuild/3.7.2


fix(libsinsp): refresh user / group when detecting a container

What type of PR is this?
/kind bug
Any specific area of the project related to this PR?

/area libsinsp

What this PR does / why we need it:
Correctly report container user / group information.
The use case is the Falco rule "Terminal shell in container". I created a container like that:
FROM busybox:stable
USER 37
CMD [ "sleep", "3600" ]

and after running it, I did docker exec -it test sh -c 'exit 0'.
If user 37 ("operator" in busybox) is in the host, it will be reported with the corresponding name (wrong), or else it will be <NA>.
Debugging it, I found sinsp_usergroup_manager::add_user gets called by sinsp_parser::parse_setuid_exit, when we don't have the container id yet.
With this change, we update user and group data after we detect we got a container id.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

fix(libsinsp): refresh user / group when detecting a container

Thanks for your pull request. Before we can look at it, you'll need to add a 'DCO signoff' to your commits.
:memo: Please follow instructions in the contributing guide to update your commits with the DCO
Full details of the Developer Certificate of Origin can be found at developercertificate.org.
The list of commits missing DCO signoff:

416a281 fix(libsinsp): refresh user / group when detecting a container

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

CC @gnosek @FedeDP :arrow_up:

LGTM label has been added.  Git tree hash: a25d0a7cd16ae60ae743c209ae87830fa2c0897b

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: deepskyblue86, FedeDP
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, deepskyblue86, FedeDP
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Andreagit97,FedeDP]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Added scaleway logo + entry

While investigating the RISC-V ecosystem, we noticed that there isn't an easy way for developers to build and test their software on native hardware without buying it.
So we integrated custom RISC-V servers in our bare metal servers infrastructure and made them available to the public to enable the building, porting and testing of more native RISC-V software.
RISC-V Landscape | Pre-submission checklist:

NOTE: Please ensure you've completed each of these items after submitting your pull request:

[ ] Have you included a repo_url? Please select the most suitable GitHub repository for your project, rather than a GitHub organization. => Not a project but a service
[ ] Is your project open source? => Not a project but a service
[X] Is the project currently and actively maintained (e.g., accepts pull requests, responds to issues)?
[X] Have you chosen the most appropriate (existing) category for your project?
[X] Does your submission adhere to the other guidelines from the new entries section?
[X] Have you added your logo's SVG to the hosted_logos directory and referenced it in the landscape.yml entry?
[X] Does your logo clearly display the project/product name and follow the other logo guidelines?
[X] Does the project name correspond with the text on the logo?
[X] Have you verified the accuracy of the Crunchbase data for your organization, including headquarters and LinkedIn?
[ ] Approximately 5 minutes after opening the pull request, the RISC-V_Bot will post the URL for your staging server. Have you reviewed the site, confirmed it appears as expected, and then added a comment to the PR stating "LGTM"?

LGTM


Yang - new language

https://tools.ietf.org/html/rfc6020
A knowledge modeling language that compiles to XML, but can be parsed with the style lexer.

 list user {
     key "name";
     leaf name {
         type string;
     }
     leaf full-name {
         type string;
     }
     leaf class {
         type string;
     }
 }


docs(ipv6): document new way to disable ipv6

Closes #1817

Does vale support rules for capitalization?

It'd be nice indeed. I opened https://github.com/kumahq/kuma-website/issues/1837


Fix bug

I had found and fix bug export wrong image width and height, please merge it. Thanks

What bug is this fixing?

Crop image wrong width & height with type "original"


🐛 选中态的描边样式问题

🖋 Description

选中数据单元格的描边的粗细不一致，而且看起来变细了

@xingwanying 看起来还是那个GridGroup层把部分的 cell border遮住了

:tada: This issue has been resolved in version @antv/s2-v1.26.0-alpha.1 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version @antv/s2-v1.26.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Add speed limit sign. (Fixes #38)

Uses the text syntax as in #42.
Based on other signs, it looks like there should be only one sign despite having different potential numbers. I chose to display 65.

I've updated the sign so that it uses us_speed_values (which I've defined) and creates multiple signs for each speed, similar to the European version.

The signs look great, good work @saiarcot895! I support merging this pull request:

Thanks a lot @saiarcot895!


Jxlinfo related fixes

Please update this PR to add yourself to the AUTHORS...

Please update this PR to add yourself to the AUTHORS...

done

The format check is complaining, please run clang-format --style=file -i jxlinfo.c to make it stop complaining.

The format check is complaining, please run clang-format --style=file -i jxlinfo.c to make it stop complaining.

done (faulty commit amended)


Persist the configured profiles

Remember which WLANProfiles the application has installed, for the case of uninstalling them at a later time, or for updating them with new CAs and client certificates.

Done in a3b0a98dd34200414ff2191bcbb34b2505992211, but UI flow needs to be changed to utilize it


Refactor Test Cases

Refactor Test Cases to work with new Model and refactored Logic/Storage

With reference to #54
I think we have our tests are covering a good amount currently, with what @foochifa and @gerhean added for Logic and Storage test cases respectively.
I think Model test cases are alright as well.
However, following are the test cases that are not passing as of #54 :

execute_multipleKeywords_multipleInternshipApplicationsFound() from FindCommandTest
parseCommand_add() from InternshipDiaryParserTest
parseCommand_edit() from InternshipDiaryParserTest

I tried debugging to no avail at the moment. Will look into it in the near future.
Also, we currently have a few test cases for Tags which are lying around currently. Maybe we can delete them? I left them in the codebase currently.
Other than the above, I think the only thing that remains is adding more test cases to increase our coverage. I will continue working on this.


[Feature Request][v6] Customizable CSS classes for tables

Feature Request
Backpack themes compatible with tables
V6 introduces themes to Backpack... yahoo! But we have to improve the way it works for tables. Here is why...
Most likely the theme a dev is implementing uses certain classes on its tables, and at the moment, this is not possible to implement since our Show operation uses its own table classes. In short, it's not theme-compatible unless devs duplicate the List blade... which is, UGLY.
@tabacitu says: Hmmm this is a difficult one. Because the more we change is this [Show] operation… the more difficult it would be for people to upgrade. But I guess we can make some small changes. Is it just one place where themes would need to add their own classes? In that case, we could add that one place to the config file, as “tableClasses” or something like that.

Fixed in https://github.com/Laravel-Backpack/CRUD/pull/5063 for CRUD and https://github.com/Laravel-Backpack/theme-tabler/pull/38 for theme-tabler. We should also consider adding those configs to theme-coreuiv4 and theme-coreuiv2 if it makes sense there.


Wrap the package in the action template?

It might be useful to turn this into a "proper" action in addition to the Julia package/script that's run in the workflow. See julia-buildpkg for an example. Once set up, the action repo would not change if it just executes the commands that are currently called manually in the workflow, so while there's some initial overhead, it wouldn't require ongoing maintenance.
This could simplify the workflow to
    steps:
      - uses: julia-actions/setup-julia@latest
        with:
          version: ${{ matrix.julia-version }}
      - uses: bcbi/compat-helper-action@latest
        with:
          # config

and would allow you to publish it on the marketplace which could improve discoverability for people who don't follow the Julia community forums that closely. It may also be easier to set it up using the interactive workflow builder, but I haven't tried the new one out yet. People who prefer the current way would still be able to use it since the action would be a separate repo.
I'm not sure what UX people prefer in their workflows, just throwing it out there as a suggestion.

It’s a good idea.

I have created the repository https://github.com/bcbi/compat-helper-action using one of the templates.

@SaschaMann I think I am all set.
Can you take a look at https://github.com/bcbi/compat-helper-action and let me know if it looks finished?

@DilumAluthge I haven't tested it but it looks finished to me. Just the release branch and tags are missing.

 Wouldn't that help with e.g. syncing of tags etc?

They probably could be (assuming that TS can handle Julia files in the src/ dir) but personally I think it adds too much noise to the repo that contains the actual Julia code. There is very little in https://github.com/bcbi/compat-helper-action that would ever need changing. I can't think of a non-subjective reason against putting it in the same repo, though.

If there will be more bots like this one, it might make sense define some kind of interface for Julia action bots so that the wrapper action could be generated automatically. The generator would take a PackageSpec, entrypoint and has a standard way of passing action config (everything defined in action.yml/filled in in the workflow) to the Julia script. Then a release of the bot written in Julia (like CompatHelper.jl) could trigger the generator and a new version would automatically be pushed to the action wrapper.

Wouldn't that help with e.g. syncing of tags etc?

I was not planning on making any tags on the bcbi/compat-helper-action repo.
The Pkg.add step in that action simply adds the latest registered version of CompatHelper: https://github.com/bcbi/compat-helper-action/blob/master/src/main.ts
So I figured people would just use the action as bcbi/compat-helper-action@master, which would give them the latest stable (registered in the General registry) version of CompatHelper.
Then I don't need to make any tags on the bcbi/compat-helper-action repo.

If there will be more bots like this one, it might make sense define some kind of interface for Julia action bots so that the wrapper action could be generated automatically.

This is a great idea. I definitely don't have the bandwidth to write that bot. But I think it would be incredibly helpful to the Julia community. And I would use it if someone else wrote it.

So, the more I think about this, the more I think it’s a bad idea.
If we have this action repo, then we will have two ways to use CompatHelper - the regular way that people are already using, and the action repo.
This means that we will have to support two different ways for people to use the same functionality. Which makes things twice as complicated.
I really think it will be a lot easier for us in the long run if we just support a single way for people to use CompatHelper.
Also, I played around a little bit with the interactive workflow builder. I don’t really think it’s that much easier than the way we currently use. After all, I provide a full workflow YAML file in this repository. And I provide explicit instructions, which really just amount to copying that YAML file and pasting it verbatim into their own repository.


Broken links in code of conduct

Hi there! I was reviewing the code of conduct and found that the links for specific reporting guidelines for online and in-person events don't lead anywhere. I'm not sure where they are supposed to link to, either.
In case more context is needed, it's the links in the sentenceFor more details please see our Reporting Guidelines (for online and in-person contexts).

Good catch!
I guess that those could go to:
https://github.com/jupyter/governance/blob/master/conduct/reporting_events.md
and
https://github.com/jupyter/governance/blob/master/conduct/reporting_online.md
I also think that the CoC may be outdated since there were changes in https://github.com/jupyter/governance/tree/master/conduct (nad there two more files in there).
I wonder If this could be made more maintainable by fetching the contents from the other repo on deployment (e.g. using git submodules, or something else). I am not very experienced with the templating system in use in this repo though.

The reporting guidelines are at:

https://jupyter.org/governance/conduct/reporting_events
https://jupyter.org/governance/conduct/reporting_online

but indeed some links expect them to be at

https://jupyter.org/conduct/reporting_events
https://jupyter.org/conduct/reporting_online

To track all such broken links, use these queries:

https://github.com/search?q=org:jupyter+reporting_online
https://github.com/search?q=org:jupyter+reporting_events

The confusion between conduct/* and governance/conduct/*
should be fixed.


regression in conversions of solids to entities?

Expected Behavior
The following script should not fail.
Actual Behavior
Dies in rendering.
Steps to Reproduce the Problem

Drap and drop the script to JSCAD website

Specifications

Version: 2+
Platform: All
Environment: browser

const { path2, geom2, geom3 } = require('@jscad/modeling').geometries
const { square } = require('@jscad/modeling').primitives

const main = () => {
  let a = path2.create()
  let b = geom2.create()
  let c = geom3.create()
  let d = 'hello'
  let e = square()

  return [undefined, a, null, b, null, c, null, d, null, e, undefined]
}

module.exports = { main }


cpp-package: Expose partial shape inference

Description
Expose the ability to infer shapes partially via the cpp-package
Continuation of #16251
Checklist
Essentials

[x] Changes are complete (i.e. I finished coding on this PR)
[x] To the my best knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

Changes

[x] Add mxnet::cpp::Symbol::InferShapePartial

@MoritzMaxeiner thanks for the patch. We need to fix the lint first.

@mxnet-bot run ci [windows-gpu, website]

@szha Anything further needed from my side?


ThreadPool Thread-Safety

Cross ref this issue
Currently the thread pool assumes single producer and always launching(for barrier to work). The thread-pool itself is global, this will becomes a problem if we call the cpu function from different threads.

To keep things simple and safe, we need to change the thread-pool to be threadlocal, so more threads will get allocated if invoked from multiple threads

cc @yidawang @nhynes

How ThreadPool work with the graph runtime? Associated with the compiled operator? I'm wondering if we can implement graph runtime in Rust?

wondering if we can implement graph runtime in Rust?

This is a most excellent idea! Not only would Rust solve the data race problem, it would also improve integration with SGX via rust-sgx-sdk. I've also noticed that it's very easy to break the system allocator in very subtle ways by incorrectly memsetting the structs used by the runtime.
I anticipate several challenges, though. A primary concern is C++/Rust interoperability (particularly w.r.t. dmlc-core). The officially-supported bindgen utility doesn't handle C++ very well so everything would have to go through the C API, which might be unergonomic.

#1152

@lyqscmy, I have a need to implement the TVM runtime in Rust. Would you be interested in helping build this? I can try to have a first version ready for further development early next week.

@nhynes, thanks for your appreciation. I really would love to do this job with you, but I'm afraid my ability is not enough, because I just learn Rust a few weeks.

well, if you ever feel like testing your new skills, you're always welcome to submit a PR :)


JavaFuture <=> TwitterFuture bijection

This implements a bijection between JavaFutures and TwitterFutures.
It originally came from the storehaus-kafka module because the kafka api uses JavaFuture.
The idea is to make it available here since it'd fit nicely with the other bijection between ScalaFutures and TwitterFutures.
credit to @johnynek for the implementation

oops CompletableFuture is java8 onwards

The failing test doesn't concern this pr:

StringBijectionLaws:

round trips string -> Array[String] *** FAILED ***

Thank you!

Thanks a lot @johnynek @mosesn for your great help!


extra space

Probabilistic generator adds a blank space in two contexts:

Blank space appears in place of the optional element when optional element is skipped. The result is two consecutive blank spaces in the expanded grammar. Removing spaces between characters in grammar has no effect.

There is also an extra space before the "?".

Thanks for reporting this - I've gone ahead and fixed it in commit c7ae58a.


invalied specifier *

Hello, I fail to build a pex file because of the error "Invalid specifier: '>=3.6.*'" that refers to a dependency. Is there any way to work around this?

Can you provide more details? The more the better; preferably the full Pex command line including the contents of any files use (if you use something like -r requirements.txt in the command line).

of course! So I was using this command: pex -r requirements.txt -c uvicorn -o service.pex
I created my project with poetry and the only file I could find with '>=3.6.*' in it was the poetry.lock file with following line:
[[package]]
name = "boilerpy3"
version = "1.0.6"
description = "Python port of Boilerpipe, for HTML boilerplate removal and text extraction"
optional = false
python-versions = ">=3.6.*"
files = [
{file = "boilerpy3-1.0.6-py3-none-any.whl", hash = "sha256:0203dde43291cad959d4f47663bc47c34344c1377f4914a8291841e8721234a5"},
{file = "boilerpy3-1.0.6.tar.gz", hash = "sha256:c864c0041c3197ad8c118109b252c2c564133614e93068bf226eaf6d217304bb"},
]
this are my requirements:
accelerate==0.23.0
anyio==4.0.0
appdirs==1.4.4
attrs==23.1.0
Authlib==1.2.1
backoff==2.2.1
boilerpy3==1.0.6
build==0.10.0
CacheControl==0.12.14
cattrs==23.1.2
certifi==2023.7.22
cffi==1.16.0
charset-normalizer==3.3.0
cleo==2.0.1
click==8.1.7
cmake==3.27.7
colorama==0.4.6
crashtest==0.4.1
cryptography==41.0.4
distlib==0.3.7
docopt==0.6.2
dulwich==0.21.6
Events==0.5
farm-haystack==1.21.2
fastapi==0.100.0
filelock==3.12.4
fsspec==2023.9.2
grpcio==1.59.0
grpcio-tools==1.59.0
h11==0.14.0
h2==4.1.0
hpack==4.0.0
html5lib==1.1
httpcore==0.18.0
httpx==0.25.0
huggingface-hub==0.18.0
hyperframe==6.0.1
idna==3.4
importlib-metadata==6.8.0
inflect==7.0.0
iniconfig==2.0.0
installer==0.7.0
jaraco.classes==3.3.0
jeepney==0.8.0
Jinja2==3.1.2
joblib==1.3.2
jsonschema==4.19.1
jsonschema-specifications==2023.7.1
keyring==23.13.1
langdetect==1.0.9
lazy-imports==0.3.1
lit==17.0.3
lockfile==0.12.2
MarkupSafe==2.1.3
monotonic==1.6
more-itertools==10.1.0
mpmath==1.3.0
msgpack==1.0.7
networkx==3.2
nltk==3.8.1
num2words==0.5.13
numpy==1.25.2
nvidia-cublas-cu11==<IP_ADDRESS>
nvidia-cuda-cupti-cu11==11.7.101
nvidia-cuda-nvrtc-cu11==11.7.99
nvidia-cuda-runtime-cu11==11.7.99
nvidia-cudnn-cu11==<IP_ADDRESS>
nvidia-cufft-cu11==<IP_ADDRESS>
nvidia-curand-cu11==<IP_ADDRESS>
nvidia-cusolver-cu11==<IP_ADDRESS>
nvidia-cusparse-cu11==<IP_ADDRESS>
nvidia-nccl-cu11==2.14.3
nvidia-nvtx-cu11==11.7.91
packaging==23.2
pandas==2.1.1
pexpect==4.8.0
Pillow==10.1.0
pkginfo==1.9.6
platformdirs==3.11.0
pluggy==1.3.0
poetry==1.5.1
poetry-core==1.6.1
poetry-dotenv-plugin==0.2.0
poetry-plugin-export==1.5.0
portalocker==2.8.2
posthog==3.0.2
prompthub-py==4.0.0
protobuf==4.24.4
psutil==5.9.6
ptyprocess==0.7.0
pycparser==2.21
pydantic==1.10.13
pyproject_hooks==1.0.0
pytest==7.4.2
python-dateutil==2.8.2
python-dotenv==1.0.0
pytz==2023.3.post1
PyYAML==6.0.1
qdrant-client==1.6.3
qdrant-haystack==1.0.11
quantulum3==0.9.0
rank-bm25==0.2.2
rapidfuzz==2.15.2
referencing==0.30.2
regex==2023.10.3
requests==2.31.0
requests-cache==0.9.8
requests-toolbelt==1.0.0
rpds-py==0.10.6
safetensors==0.4.0
scikit-learn==1.3.1
scipy==1.9.3
SecretStorage==3.3.3
sentence-transformers==2.2.2
sentencepiece==0.1.99
shellingham==1.5.3
six==1.16.0
sniffio==1.3.0
sseclient-py==1.8.0
starlette==0.27.0
sympy==1.12
taskipy==1.12.0
tenacity==8.2.3
threadpoolctl==3.2.0
tiktoken==0.5.1
tokenizers==0.13.3
tomli==2.0.1
tomlkit==0.12.1
torch==2.0.0
torchvision==0.15.1
tqdm==4.66.1
transformers==4.32.1
triton==2.0.0
trove-classifiers==2023.10.18
typing_extensions==4.8.0
tzdata==2023.3
url-normalize==1.4.3
urllib3==1.26.18
uvicorn==0.23.2
validators==0.22.0
virtualenv==20.24.5
weaviate-client==3.24.2
webencodings==0.5.1
zipp==3.17.0

@hollandmdwx the issue is that the published wheel for boilerpy3 is bogus. Observe:
$ unzip -qc boilerpy3-1.0.6-py3-none-any.whl boilerpy3-1.0.6.dist-info/METADATA | grep Requires
Requires-Python: >=3.6.*

If you read the PEP-440 spec, you'll see * is only for equality; not for ordered comparisons (<, <=, >, >=): https://peps.python.org/pep-0440/#version-matching
What boilerpy3 means to say is simply >=3.6.
I noticed in your Poetry lock you have special local file versions for boilerpy3, is that a workaround of some sort?

Ah, those aren't local files, that's just the Poetry lock syntax.

Exactly, it is only a matter of the lock file. Unfortunately, I can't change the dependency wording >=3.6.* because the library was installed via another dependency. Should I reach out to boilerpy3, or is there another way to fix the problem?

Of course you should always reach out. In this case you can get two for one by forking, fixing, sending that fix off in a PR, and consuming the fix with an explicit VCS requirement (boilerpy3 @ git+https://github.com/...@<this sha>). It's true that you don't directly depend on boilerpy3; so adding a direct dep as a workaround is not awesome, but it buys the owners time to accept your patch.

Expanding on the suggestion above: https://github.com/jmriebold/BoilerPy3/pull/10
And using that looks like so in requirements.txt:
diff -u requirements.txt.orig requirements.txt
--- requirements.txt.orig       2023-11-01 13:26:10.967405214 -0700
+++ requirements.txt    2023-11-01 13:26:32.147399804 -0700
@@ -4,7 +4,10 @@
 attrs==23.1.0
 Authlib==1.2.1
 backoff==2.2.1
-boilerpy3==1.0.6
+
+#boilerpy3==1.0.6
+boilerpy3 @ git+https://github.com/jsirois/BoilerPy3@5a99a35aa925ac4fee50be5c08d251fd028df905
+
 build==0.10.0
 CacheControl==0.12.14
 cattrs==23.1.2

And that results in:
$ pex --python python3.11 -r requirements.txt -c uvicorn -o service.pex
/home/jsirois/bin/pex.venv/lib/python3.12/site-packages/pex/pex_builder.py:114: PEXWarning: The PEX zip at service.pex~ is not a valid zipapp: Could not find the `__main__` module.
This is likely due to the zip requiring ZIP64 extensions due to size or the
number of file entries or both. You can work around this limitation in Python's
`zipimport` module by re-building the PEX with `--layout packed` or
`--layout loose`.
  pex_warnings.warn(message)
$ zipinfo service.pex | tail -1
30652 files,<PHONE_NUMBER> bytes uncompressed,<PHONE_NUMBER> bytes compressed:  49.4%

So the PEX is too big a zip file (>32 bits (~4GB) size uncompressed). That is fixed by using the suggestion in the warning:
$ pex --python python3.11 -r requirements.txt -c uvicorn -o service.pex --layout packed
$ ./service.pex/__main__.py --version
Running uvicorn 0.23.2 with CPython 3.11.6 on Linux

@hollandmdwx I'm going to close this issue as an answered question, but please speak up if you find anything unresolved still.


GitHub integration

The way I think this would work is that you attach a repo to a tag. Then, when a task contains "#12", the text "#12" would link to "https://github.com/REPO_FROM_TAG/issues/12", which would work for both issues and pull-requests, because GitHub.

Serious GitHub integration would probably include creating a task for all the issues/PRs in a repo, once it was attached to a tag, and then closing issues/PRs if the task is archived. I think that can wait just a little.


GetTaxResult properties json encode

When you execute  json_encode(GetTaxResult)you get a json similar to:
{
    "DocCode": "DOCCODE01",
    "DocDate": "2016-02-11",
    "Timestamp": "2016-02-11T15:52:58.2634494Z",
    "TotalAmount": "143.5",
    "TotalDiscount": "0",
    "TotalExemption": "0",
    "TotalTaxable": "143.5",
    "TotalTax": "30.14",
    "TotalTaxCalculated": "30.14",
    "TaxDate": "2016-02-11",
    "TaxLines": [
        [],
        []
    ],
    "TaxSummary": [],
    "TaxAddresses": {
        "AddressCode": null,
        "Line1": null,
        "Line2": null,
        "Line3": null,
        "City": null,
        "Region": null,
        "PostalCode": null,
        "Country": null,
        "TaxRegionId": null,
        "Latitude": null,
        "Longitude": null
    },
    "ResultCode": "Success",
    "Messages": []
}

As you can notice, neither TaxLines (with their TaxDetails) nor Messages are correctly serialized.
Applying this change we could get a more complete serialization, something similar to:
{
    "DocCode": "DOCCODE01",
    "DocDate": "2016-02-11",
    "Timestamp": "2016-02-15T09:55:45.5684464Z",
    "TotalAmount": "143.5",
    "TotalDiscount": "0",
    "TotalExemption": "0",
    "TotalTaxable": "143.5",
    "TotalTax": "30.14",
    "TotalTaxCalculated": "30.14",
    "TaxDate": "2016-02-11",
    "TaxLines": [
        {
            "TaxDetails": [
                {
                    "JurisType": "Country",
                    "Taxable":<PHONE_NUMBER>2381,
                    "Rate": "0.210000",
                    "Tax": "26.78",
                    "JurisName": "SPAIN",
                    "TaxName": "Standard Rate",
                    "Country": "ES",
                    "Region": "ES"
                }
            ],
            "LineNo": "1",
            "TaxCode": "P0000000",
            "Taxability": "true",
            "BoundaryLevel": "Zip5",
            "Exemption": "0",
            "Discount": "0",
            "Taxable": "127.5",
            "Rate": "0.210000",
            "Tax": "26.78",
            "TaxCalculated": "26.78"
        },
        {
            "TaxDetails": [
                {
                    "JurisType": "Country",
                    "Taxable": 16,
                    "Rate": "0.210000",
                    "Tax": "3.36",
                    "JurisName": "SPAIN",
                    "TaxName": "Standard Rate",
                    "Country": "ES",
                    "Region": "ES"
                }
            ],
            "LineNo": "2",
            "TaxCode": "P0000000",
            "Taxability": "true",
            "BoundaryLevel": "Zip5",
            "Exemption": "0",
            "Discount": "0",
            "Taxable": "16",
            "Rate": "0.210000",
            "Tax": "3.36",
            "TaxCalculated": "3.36"
        }
    ],
    "TaxSummary": [],
    "TaxAddresses": {
        "AddressCode": null,
        "Line1": null,
        "Line2": null,
        "Line3": null,
        "City": null,
        "Region": null,
        "PostalCode": null,
        "Country": null,
        "TaxRegionId": null,
        "Latitude": null,
        "Longitude": null
    },
    "ResultCode": "Success",
    "Messages": []
}

:+1:

@estevejm Minor fix:
'TaxSummary' =>  $this->jsonSerializeArray($this->getTaxSummary()),

We pulled this in to our fork and are using the Summary document type and noticed it was otherwise empty. Thanks!

@lukestokes you're right, I included the fix in this PR. Thanks!


[entropy_src/dv] Adding entropy_src_rng_test

Signed-off-by: Steve Nelson<EMAIL_ADDRESS>

since CI is passing, let me merge it. Perhaps you can address those nits in your next PR to save some turnaround time.


Loading a HF Model in Multiple GPUs and Run Inferences Using deepspeed.init_inference() on those GPUs

Hi,
I loaded this model from HF using the below code on  2xA100s:
tokenizer = AutoTokenizer.from_pretrained("meta-llama/Llama-2-7b-chat-hf", use_fast=True)
model = AutoModelForCausalLM.from_pretrained("meta-llama/Llama-2-7b-chat-hf", torch_dtype=torch.float16, device_map='balanced')

Then I loaded it using deepspeed.init_inference() as:
ds_model = deepspeed.init_inference(
    model=model,
    mp_size=2,
    dtype=torch.float16,
    replace_method="auto",
    replace_with_kernel_inject=True)

and then for inferences I used:
import time
start = time.time()
prompt = 'What is the Capital of France? '
inputs = tokenizer.encode("<human>: prompt \n<bot>:", return_tensors='pt').to(model.device)
outputs = ds_model.generate(inputs, max_new_tokens=500)
output_str = tokenizer.decode(outputs[0])
print(output_str)
end = time.time()
print('Inference Time is:', end - start)

Unfortunately, I got this error:
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.10/dist-packages/deepspeed/__init__.py", line 342, in init_inference
    engine = InferenceEngine(model, config=ds_inference_config)
  File "/usr/local/lib/python3.10/dist-packages/deepspeed/inference/engine.py", line 116, in __init__
    self._create_model_parallel_group(config)
  File "/usr/local/lib/python3.10/dist-packages/deepspeed/inference/engine.py", line 222, in _create_model_parallel_group
    self.mp_group = dist.new_group(ranks)
  File "/usr/local/lib/python3.10/dist-packages/deepspeed/comm/comm.py", line 185, in new_group
    return cdb.new_group(ranks)
  File "/usr/local/lib/python3.10/dist-packages/deepspeed/comm/torch.py", line 325, in new_group
    return torch.distributed.new_group(ranks)
  File "/usr/local/lib/python3.10/dist-packages/torch/distributed/distributed_c10d.py", line 3313, in new_group
    raise RuntimeError(
RuntimeError: the new group's world size should be less or equal to the world size set by init_process_group

I tried the mp_size as 1 too, but in vain.
Any guidance/help would be highly appreciated, thanks in anticipation!

try setting this up
os.getenv('WORLD_SIZE', '1')

try setting this up os.getenv('WORLD_SIZE', '1')

Hi, I used it something like this:
import os
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
import deepspeed

world_size = os.getenv('WORLD_SIZE', '2')
tokenizer = AutoTokenizer.from_pretrained("asifhugs/open_llama_7b", use_fast=True)
model = AutoModelForCausalLM.from_pretrained("asifhugs/open_llama_7b", torch_dtype=torch.float16, low_cpu_mem_usage=True,device_map='balanced')

ds_model = deepspeed.init_inference(
            model=model,
                mp_size=world_size,
                    dtype=torch.float16,
                        replace_method="auto",
                            replace_with_kernel_inject=True)

import time
start = time.time()
prompt = 'What is the Capital of France? '
inputs = tokenizer.encode("<human>: prompt \n<bot>:", return_tensors='pt').to(model.device)
outputs = ds_model.generate(inputs, max_new_tokens=256)
output_str = tokenizer.decode(outputs[0])
print(output_str)
end = time.time()
print('Inference Time is:', end - start)

I put the code in model.py and ran it using deepspeed --num_gpus 2 model.py but got this error:
RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cuda:1 and cuda:0! (when chec
king argument for argument index in method wrapper_CUDA__index_select)
[2023-08-15 09:03:03,284] [INFO] [launch.py:315:sigkill_handler] Killing subprocess 3411
[2023-08-15 09:03:03,581] [INFO] [launch.py:315:sigkill_handler] Killing subprocess 3412
[2023-08-15 09:03:03,582] [ERROR] [launch.py:321:sigkill_handler] ['/usr/bin/python', '-u', 'model.py', '--local_rank=1']
exits with return code = 1

Used setting world_size = os.getenv('WORLD_SIZE', '1') too but got the same above error.

try setting this up os.getenv('WORLD_SIZE', '1')

Okay, so it works now for this script:
import os
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
import deepspeed
import time

local_rank = int(os.getenv('LOCAL_RANK', '0'))
world_size = int(os.getenv('WORLD_SIZE', '1'))

tokenizer = AutoTokenizer.from_pretrained("meta-llama/Llama-2-7b-chat-hf", use_fast=True)
model = AutoModelForCausalLM.from_pretrained("meta-llama/Llama-2-7b-chat-hf", torch_dtype=torch.float16, low_cpu_mem_usage=True,device_map=local_rank)

ds_model = deepspeed.init_inference(
         model=model, mp_size=world_size, dtype=torch.float16, replace_method="auto", replace_with_kernel_inject=True)

start = time.time()
prompt = 'Write a detailed note on AI'
inputs = tokenizer.encode(f"<human>: {prompt} \n<bot>:", return_tensors='pt').to(model.device)
outputs = ds_model.generate(inputs, max_new_tokens=2000)
output_str = tokenizer.decode(outputs[0])
print(output_str)
end = time.time()
print('Inference Time is:', end - start)

The only problem now I see is, it is giving me two responses instead of one.

Hello again came from discuss.huggingface :)
How can I modify this code to this solution ? Which part should I change to run on 2 gpu?
from huggingface_hub import hf_hub_download import torch import os from open_flamingo import create_model_and_transforms from accelerate import Accelerator from einops import repeat from PIL import Image import sys sys.path.append('..') from src.utils import FlamingoProcessor from demo_utils import image_paths, clean_generation
def main(): accelerator = Accelerator() #when using cpu: cpu=True
device = accelerator.device

print('Loading model..')

# >>> add your local path to Llama-7B (v1) model here:
llama_path = '../models/llama-7b-hf'
if not os.path.exists(llama_path):
    raise ValueError('Llama model not yet set up, please check README for instructions!')

model, image_processor, tokenizer = create_model_and_transforms(
    clip_vision_encoder_path="ViT-L-14",
    clip_vision_encoder_pretrained="openai",
    lang_encoder_path=llama_path,
    tokenizer_path=llama_path,
    cross_attn_every_n_layers=4
)
# load med-flamingo checkpoint:
checkpoint_path = hf_hub_download("med-flamingo/med-flamingo", "model.pt")
print(f'Downloaded Med-Flamingo checkpoint to {checkpoint_path}')
model.load_state_dict(torch.load(checkpoint_path, map_location=device), strict=False)
processor = FlamingoProcessor(tokenizer, image_processor)

# go into eval model and prepare:
model = accelerator.prepare(model)
is_main_process = accelerator.is_main_process
model.eval()

"""
Step 1: Load images
"""
demo_images = [Image.open(path) for path in image_paths]

"""
Step 2: Define multimodal few-shot prompt
"""

# example few-shot prompt:
prompt = "You are a helpful medical assistant.  Follow the examples and answer the last question. <image>Question: What is/are the structure near/in the middle of the brain? Answer: pons.<|endofchunk|><image>Question: Is there evidence of a right apical pneumothorax on this chest x-ray? Answer: yes.<|endofchunk|><image>Question: Is/Are there air in the patient's peritoneal cavity? Answer: no.<|endofchunk|><image>Question: Does the heart appear enlarged? Answer: yes.<|endofchunk|><image>Question: What side are the infarcts located? Answer: bilateral.<|endofchunk|><image>Question: Which image modality is this? Answer: mr flair.<|endofchunk|><image>Question: Where is the largest mass located in the cerebellum? Answer:"

"""
Step 3: Preprocess data
"""
print('Preprocess data')
pixels = processor.preprocess_images(demo_images)
pixels = repeat(pixels, 'N c h w -> b N T c h w', b=1, T=1)
tokenized_data = processor.encode_text(prompt)

"""
Step 4: Generate response
"""

# actually run few-shot prompt through model:
print('Generate from multimodal few-shot prompt')
generated_text = model.generate(
vision_x=pixels.to(device),
lang_x=tokenized_data["input_ids"].to(device),
attention_mask=tokenized_data["attention_mask"].to(device),
max_new_tokens=10,
)
response = processor.tokenizer.decode(generated_text[0])
response = clean_generation(response)

print(f'{response=}')

if name == "main":
main()

Hi, can you write your code again in the proper format?

Hi, can you write your code again in the proper format?

Hello, I've just edited my comment to write code in the proper format.

Hi, I meet your same proplem, this my code:
`from transformers import FuyuForCausalLM, AutoTokenizer, FuyuProcessor, FuyuImageProcessor
from PIL import Image
import os
from accelerate import Accelerator
import deepspeed
import time
pretrained_path = "./fuyu-8b"
accelerator = Accelerator()
device = accelerator.device
tokenizer = AutoTokenizer.from_pretrained(pretrained_path,use_fast=True,device_map="cuda")
image_processor = FuyuImageProcessor()
processor = FuyuProcessor(image_processor=image_processor, tokenizer=tokenizer)
model = FuyuForCausalLM.from_pretrained(pretrained_path)
model = accelerator.prepare(model)
is_main_process = accelerator.is_local_main_process
model.eval()
ds_model = deepspeed.init_inference(model= model, mp_size=world_size, replace_metho='auto', replace_with_kernel_inject=True)
test inference
text_prompt = "Generate a coco-style caption.\n"
image_path = "./1163433113_img.jpg"  # https://huggingface.co/adept-hf-collab/fuyu-8b/blob/main/bus.png
image_pil = Image.open(image_path)
model_inputs = processor(text=text_prompt, images=[image_pil], device=device)
for k, v in model_inputs.items():
model_inputs[k] = v.to(device)
generation_output = model.generate(**model_inputs, max_new_tokens=7)
generation_text = processor.batch_decode(generation_output[:, -7:], skip_special_tokens=True)`
my machine contain 4 gpus（A10);  I still got this error

please, help me.

try setting this up os.getenv('WORLD_SIZE', '1')

actually, i have 4 gpus on the machine, why I can only use one?


Move function context parameter to beginning of signature rather than the end

This will make it much easier to perform translation for certain compile targets.

Done


Between dates doesn't work

The query builder js script sends between dates value as an array but, the castle accepts the string value which fail to parse into the FilterRule model and between dates doesn't work.
JS Sent
{"id":"created_at","field":"created_at","type":"date","input":"date","operator":"between","value":["6/01/2018","6/10/2018"]}
[HttpPost]
public async Task<IHttpActionResult> Get(FilterRule filter)
{
   // Filter is null because Value is a string and not a List, so parse fails
   // public string Value { get; set; }
}

Acorrding to this solution, I am using your library with jquery-querybuilder and for integer ranges in C# side, I got a filter, valued as "15,25" string. But this gives exception when I use any integer property in the queried type:
InvalidOperationException: No coercion operator is defined between types 'System.Int32' and 'System.String'.
Here is a sample query object:

{
	"condition": "OR",
	"rules": [{
			"id": "City",
			"field": "City",
			"type": "integer",
			"input": "select",
			"operator": "equal",
			"value": 2
		}, {
			"condition": "AND",
			"rules": [{
					"id": "City",
					"field": "City",
					"type": "integer",
					"input": "select",
					"operator": "equal",
					"value": 2
				}, {
					"id": "AgeRange",
					"field": "AgeRange",
					"type": "integer",
					"input": "number",
					"operator": "between",
					"value": [25, 53]
				}, {
					"id": "DateRange",
					"field": "DateRange",
					"type": "date",
					"input": "text",
					"operator": "between",
					"value": ["2019/02/18", "2019/02/28"]
				}
			]
		}
	],
	"valid": true
}

How should I send these values from javascript or parse them in server side?

In your case, the problem lies with the AgeRange filter AND the DateRange filter.
The solution referenced above will cause the rules to be rewritten in JS to be compatible as a comma delimited string instead of an array.  The next release of this library will correct the need for this "hack" and implement a proper solution.  That should be ready in a few weeks.
In the meantime, the JS solution provided works.
See: https://github.com/castle-it/dynamic-linq-query-builder/blob/48f3051d6c4cae899968783cfade99d4b8b22319/Castle.DynamicLinqQueryBuilder.Samples/Views/Home/Index.cshtml#L33-L57

Hello, thanks for your help initially. But I got one question about the stored data;
When I provide this data:
{
	"condition": "OR",
	"field": null,
	"id": null,
	"input": null,
	"operator": null,
	"rules": [{
			"condition": null,
			"field": "AgeRange",
			"id": "AgeRange",
			"input": "number",
			"operator": "equal",
			"rules": null,
			"type": "integer",
			"value": "29"
		}, {
			"condition": null,
			"field": "AgeRange",
			"id": "AgeRange",
			"input": "number",
			"operator": "between",
			"rules": null,
			"type": "integer",
			"value": "41, 55"
		}
	],
	"type": null,
	"value": null
}

I got this error: Uncaught UndefinedConditionError: Invalid condition "null"
I suspect that condition areas of leaf nodes are null which is not allowed. Although I store this json to database using your function:
        $('#filter-builder').closest('form').on('submit', function (event) {
            if ($('#filter-builder').data('queryBuilder').validate() == false) {
                event.preventDefault();
                return false;
            }
            var jsonFilters = $('#filter-builder').queryBuilder('getRules');
            debugger;
            convertArraysToCommaDelimited(jsonFilters);
            $('#filter-builder').siblings(':hidden:input').val(JSON.stringify(jsonFilters));
        });

How should I move on? Could you help me please? Should I recursively track all leaf nodes and set all null-valued condition properties as "OR"?

@tghamm hey there, would you be able to fix this issue too in a couple of weeks? I am going to leave my current job and i want to leave this ticket as solved in our side.

@oguzhankahyaoglu this isn't really a problem with this library, per se.  It has to do with the incongruencies in serialization/deserialization across the wire.  If your goal is to re-populate the querybuilder, I wouldn't use the modified jsObject, I'd just stringify the call from getrules before modification and store that as a string so you can recall it later.  All other solutions are dependent on what libraries you use for serialization, etc.  The cleaner approach is just to store the rules as they are created, and only use the client-side modification to send to this library server-side.

@oguzhankahyaoglu to add to that, the proposed solutions in issue #40 will likely have these same issues unless you're using JSON .Net for all serialization and deserialization, there's just no way around it cleanly without making a clean copy to store and recall, which is what I do in my own apps.


Swagger integration into Spring Boot + Spring Security OAuth2 Application.  Viable?

Has anyone integrated Swagger successfully into a Spring Boot Application that employs Spring Security OAuth2, such that all api endpoints + oauth endpoints are documented and able to be explored as a whole?
For OAuth2, we are implementing the Authorization Code flow, with a separate server for Authorization and Resource delivery.
I have been attempting to do so with SpringFox, without making much progress.  I wonder if someone can point to sample code/documentation that does implement: Spring Boot + Spring Security OAuth2 + Swagger (SpringFox).
Many thanks for any suggestions.

Hi @mohan-gliimpse, Did you solve your problem? I have the same here.

Closing this as questions are better suited on Stack Overflow. We prefer to use GitHub issues for bugs and enhancements.


Bug: Handle multiple standings response in League standings

Description
Case where there are multiple groups in standings is currently not handled. This needs to be fixed.
Versions

NodeJS version (if applicable): NA
Football CLI version: 0.14.0

Error
/Users/manrajsingh/Github/football-cli/helpers.js:222
      for (let team of group) {
                       ^

TypeError: group is not iterable
    at standings (/Users/manrajsingh/Github/football-cli/helpers.js:222:24)
    at Request.request [as _callback] (/Users/manrajsingh/Github/football-cli/cli.js:197:9)
    at Request.self.callback (/Users/manrajsingh/Github/football-cli/node_modules/request/request.js:187:22)
    at Request.emit (events.js:159:13)
    at Request.<anonymous> (/Users/manrajsingh/Github/football-cli/node_modules/request/request.js:1048:10)
    at Request.emit (events.js:159:13)
    at IncomingMessage.<anonymous> (/Users/manrajsingh/Github/football-cli/node_modules/request/request.js:969:12)
    at IncomingMessage.emit (events.js:164:20)
    at endReadableNT (_stream_readable.js:1054:12)
    at _combinedTickCallback (internal/process/next_tick.js:138:11)

Expected behaviour
League standings should be shown
Steps to recreate
$ football standings -l CL

People to notify
@Manrajgrover

Fixed in e1a0353d02c90552c3243e03372ca4000487667c


Request for Ansible AWX to charts (fix PR #6106)

This PR fixes one the last missing points of https://github.com/helm/charts/pull/6106, namely, the use of non-stable image versions.

I'm not sure how to add just 1 commit to an existing PR.
I just found out that doing it this way requires me to DCO all commits from @Najeongho.
Suggestions on how to unblock the previous PR are welcomed


Keep PipelineResource.status field for backward compatibility 👾

Changes
They are not used, and shouldn't be there, but client that have
previous version of this struct would fail targeting the API.
This is a partial revert of #1640, as it doesn't reintroduce the
UpdateStatus generation.
Follow-up on #1762 for PipelineResource :angel:
/cc @dibyom @bobcatfish
Signed-off-by: Vincent Demeester<EMAIL_ADDRESS>Submitter Checklist
These are the criteria that every PR should meet, please check them off as you
review them:

[ ] Includes tests (if functionality changed/added)
[ ] Includes docs (if user facing)
[x] Commit messages follow commit message best practices

See the contribution guide for more details.
Double check this list of stuff that's easy to miss:

If you are adding a new binary/image to the cmd dir, please update
the release Task to build and release this image.

Reviewer Notes
If API changes are included, additive changes must be approved by at least two OWNERS and backwards incompatible changes must be approved by more than 50% of the OWNERS, and they must first be added in a backwards compatible way.

/test pull-tekton-pipeline-integration-tests

/lgtm
/approve
Thanks for taking care of this @vdemeester !!
Do we have a follow up issue to remove this in v1alpha2?

@bobcatfish well, I didn't migrate Pipeline yet so… I don't really need to do it for v1alpha2 :stuck_out_tongue_closed_eyes:

@bobcatfish well, I didn't migrate Pipeline yet so… I don't really need to do it for v1alpha2 :stuck_out_tongue_closed_eyes:

hmm I'm not sure what you mean? Maybe I'm not making sense, what I'm trying to say is that we're readding this and #1762 b/c it's a backwards incompatible change but we do want to remove these fields eventually, right? So I just want to make sure we don't forget.

@bobcatfish well, I didn't migrate Pipeline yet so… I don't really need to do it for v1alpha2 stuck_out_tongue_closed_eyes

hmm I'm not sure what you mean? Maybe I'm not making sense, what I'm trying to say is that we're readding this and #1762 b/c it's a backwards incompatible change but we do want to remove these fields eventually, right? So I just want to make sure we don't forget.

Yeah, we do want to remove them, in v1alpha2/v1beta1 ; but as I did not yet port those, I don't have anything to remove yet, I just need to remember removing that. You totally make sense :angel:


It constantly pauses

Undiscord Version
5.2.3
Browser
Opera GX
Extension
Tamper Monkey
Reproduction steps
I just started deleting messages with it.
Actual results
It would just pause without telling me why. No rate limit or anything.
Expected results
Keep deleting until there's no messages left.
Bug affects

[X] DMs
[ ] DMs (group)
[ ] Channels
[ ] Channel (NSFW)

Additional information & file uploads
Nothing else to really say besides that.

I forgot to add my mistake. It says this when it ends. "Ended because API returned an empty page.
[End state]	{"running":true,"delCount":30,"failCount":0,"grandTotal":81870,"offset":0,"iterations":3,"_seachResponse":{"analytics_id":"66b6bd604629d62d7940e932c806827a","doing_deep_historical_index":false,"total_results":81865,"channels":[{"id":"975552097611300936","type":1,"last_message_id":"1304969317888163951","flags":0,"last_pin_timestamp":"2024-11-02T01:43:14+00:00","recipients":[{"id":"915362435744022598","username":"joyfuloreos","global_name":"ari ⊹₊ ⋆","avatar":"b6fffac1ac13ae39736f703484157497","avatar_decoration_data":null,"discriminator":"0","public_flags":0,"clan":null}]}],"messages":[]},"_messagesToDelete":[],"_skippedMessages":[]}
Waiting 15.30s before next page..."


Convert SVG to WMF on Linux/mono.

Description
Some time ago I found code snippet (using this library) convert SVG to WMF:
using (var memoryStream = new MemoryStream())
using (var image = new Bitmap(100,100))
using (var bufferGraphics = Graphics.FromImage(image))
using (var metafile = new Metafile(memoryStream, bufferGraphics.GetHdc()))
{
    using (var graphics = Graphics.FromImage(metafile))
    {
        svgDocument.Draw(graphics);
    }
    return (memoryStream.ToArray(), metafile.Width, metafile.Height);
}

I'm not exactly sure how this code works, but works and produces correct WMF :)
Now, I migrate from Windows environment to Linux/MONO and when I use version 2.4.3 I get an exception:
System.TypeInitializationException : The type initializer for 'Svg.SvgDocument' threw an exception.
  ----> System.EntryPointNotFoundException : GetDC

I understand in this case version 2.4.3 is strictly related with Windows GDI library and it's not possible to work with mono.
But when I use prerelease version (3.0.20-g594db9696a) there is no exception, but produced WMF is empty (0 bytes length).
There is any possibility to produce correct WMF file on mono with this library?
Example
sample_svg.txt
Used Versions

version 2.4.3
3.0.20-g594db9696a

Can you check what happens if you try to create a PNG on you system? I am wondering whether the problem is that mono is not able to process any image or only refuses to render WMF (since I would assume that is a very specific Windows thingy).
I am also a bit puzzled by the fact that you are writing a bitmap to a vector image (WMF is a vector image), not that it's really any of my business, but I am very curious why you want to do that. Perhaps you don't need to go the WMF route :)

I am also a bit puzzled by the fact that you are writing a bitmap to a vector image (WMF is a vector image), not that it's really any of my business, but I am very curious why you want to do that. Perhaps you don't need to go the WMF route :)

My code based on this piece of code:
https://github.com/vvvv/SVG/blob/54ef89bb8f63c2d47c4069e3303cb01f81cad31d/Tests/Svg.UnitTests/MetafileRenderingTest.cs#L29
And it works - I get vector WMF image (which I can ungroup, change colors and so on).

Can you check what happens if you try to create a PNG on you system? I am wondering whether the problem is that mono is not able to process any image or only refuses to render WMF (since I would assume that is a very specific Windows thingy)

I will check ;)

My code based on this piece of code:
https://github.com/vvvv/SVG/blob/54ef89bb8f63c2d47c4069e3303cb01f81cad31d/Tests/Svg.UnitTests/MetafileRenderingTest.cs#L29

Can you check if the UnitTest runs correctly on your configuration? If the UnitTest works well, the problem might be in your code or in the SVG that is being drawn. If the UnitTest fails, the problem would most likely be in the library itself.
A small run of the code in the test learned me that MacOs is also not playing nice with this specific code/unittest (it will complain that the object is in use when trying to release the handle). The code seems to work with handles and I can image these might cause issues in the GDI+ wrappers/substitutions we use for Mac and Linux. I guess working with handles and a replacement of the GDI+ wrapper don't play along very nicely.
Mono states that the Handle function in their libgdipus are not (fully) implemented (https://github.com/mono/libgdiplus/blob/master/TODO). And since the exception states that GetDC has no entry point, I guess the call will have something to do with the GetHdc function in the bitmap, which uses handles.
So for a non Windows implementation, I think this code construct might not work (yet) and you might consider changing it to a different format or an implementation that is not using handles.

I will check and let you know.
Great, thanks.

@mustelan , did you get around testing/playing some more with this?

Few days ago I updated:
this library to the newset version,
System.Drawing.Common to 4.6
And still there is same issue - WMF has been generated with 0 bytes length.

Can you check what happens if you try to create a PNG on you system

PNG was generated correctly.
So I supposed the main problem is what you mentioned:

Mono states that the Handle function in their libgdipus are not (fully) implemented [...]


[Bug] Received FCM notification for call with connected socket (socket did not receive the information).

Bug Category

[x] Credential Login
[ ] Token Login
[ ] Local Audio Issue
[ ] Remote Audio Issue
[ ] Audio Device Switching
[ ] Mute / Unmute
[ ] Hold / Unhold
[ ] Performance issues
[ ] Other

SDK Version
implementation 'com.github.team-telnyx:telnyx-webrtc-android:v1.2.21-alpha'
Describe the bug
App is started and connected to socket. Incoming call is send using FCM instead into the socket directly.
Expected behaviour
Socket receives the call and no FCM notification is posted.
To Reproduce
Not really sure how I got into this state actually.
I believe my app crashed because it was not able to send Bye to socket.
Then I tried calling to the app (to receive FCM notification) which did not arrive at the time.
Incoming call then auto closed.
Then I started the app and it received the call notification (for call that does not exists anymore).
I tried to cancel the call but I was not able to since it does not exist anymore.
And then I tried calling again to the app in the foreground and this happened.
Android Device (please complete the following information):

Emulator: true

Logs
Please provide any logs available to you, remember to enable verbose logging within the SDK. It is generally helpful to filter by either TxSocket (Socket messages) or TelnyxClient (Client messages) or both depending on the situation.
Connected socket in the app:
2023-07-07 13:34:52.497 14433-14522 VERTO                   com.second.phone.number.staging      D  [TxSocket] Receiving [{"jsonrpc":"2.0","id":29348,"method":"telnyx_rtc.ping","params":{"serno":1688729693}}]
2023-07-07 13:34:52.499 14433-14522 VERTO                   com.second.phone.number.staging      D  [TxSocket] Received Method [telnyx_rtc.ping]
2023-07-07 13:34:52.501 14433-14522 TelnyxClient            com.second.phone.number.staging      D  [TelnyxClient] :: pingPong
2023-07-07 13:34:52.542 14433-14522 VERTO                   com.second.phone.number.staging      D  [TxSocket] Receiving [{"jsonrpc":"2.0","id":29348,"result":{"message":"PONG","sessid":"6b9e87c1-8f38-4a84-9be7-e28f75aa75d9"}}]
2023-07-07 13:35:03.348 14433-14522 VERTO                   com.second.phone.number.staging      D  [TxSocket] Receiving [{"jsonrpc":"2.0","id":29417,"method":"telnyx_rtc.gatewayState","params":{"state":"TRYING"}}]
2023-07-07 13:35:03.349 14433-14522 VERTO                   com.second.phone.number.staging      D  [TxSocket] Receiving [{"jsonrpc":"2.0","id":29419,"method":"telnyx_rtc.gatewayState","params":{"state":"REGISTER"}}]
2023-07-07 13:35:04.269 14433-14522 VERTO                   com.second.phone.number.staging      D  [TxSocket] Receiving [{"jsonrpc":"2.0","id":29423,"method":"telnyx_rtc.gatewayState","params":{"state":"REGED"}}]
2023-07-07 13:35:04.269 14433-14522 TelnyxClient            com.second.phone.number.staging      D  [TelnyxClient] :: onLoginSuccessful :: [6b9e87c1-8f38-4a84-9be7-e28f75aa75d9] :: Ready to make calls

But notification is received instead of directly updating socket:
2023-07-07 13:35:06.959 14433-15165 SpnFirebas...ingService com.second.phone.number.staging      D  SpnFirebaseMessagingService.onMessageReceived(com.google.firebase.messaging.RemoteMessage@b55637e)
2023-07-07 13:35:06.960 14433-15165 SpnFirebas...ingService com.second.phone.number.staging      D  handleDataMessage({metadata={"caller_name":"420732652757","caller_number":"420732652757","call_id":"b7893ab5-616d-4943-a77b-484fb850e75c"}, message=Incoming call!})

It worked properly for the second call.

Hello @Del-S can you confirm is this issue is fixed in
https://github.com/team-telnyx/telnyx-webrtc-android/releases/tag/1.2.6

Can you please deploy the SDK? It was here https://jitpack.io/#team-telnyx/telnyx-webrtc-android but last version is still 1.2.22-alpha. Or did you start deploying somewhere else?

This is because 1.2.22-alpha is an alpha version. Kindly take a look at https://github.com/team-telnyx/telnyx-webrtc-android/releases/tag/1.2.8
implementation 'com.github.team-telnyx:telnyx-webrtc-android:1.2.8' Android studio would suggest 1.2.8 as the latest.
This would be fixed in our next release on Jitpack as well. Thanks

Ah you stripped the v from the version name. That is why it did not work for me. Also it is pretty weird to see 1.2.22-alpha at the top of the https://jitpack.io/#team-telnyx/telnyx-webrtc-android.

Yes the v was deprecated. Most gradle libraries do not not have the v any longer.  Yes 1.2.22-alpha should not be at the top. It will be resolved in the next release

So I cannot test this since I am not receiving FCM notifications.  :/

This is because the callee (+17162689591) does not have push notification enabled. can you confirm this from the backend side ? Yes it is related

Yep it seems to be configuration issue. I do not have permissions to fix it so I gonna have to contact someone that can. Gonna keep you posted. Thanks.

Ok so I tried the changes. I received this notification:
{metadata={"caller_name":"420732652757","voice_sdk_id":"VSDK1Ch8iUDpaSNgZUzziQ2unwF-nADL3Ig","dialogParams":{"custom_headers":[]},"rtc_port":14938,"rtc_ip":"<IP_ADDRESS>","caller_number":"420732652757","call_id":"433b4879-0cd9-447e-bd73-de9e0fc379b4"}, message=Incoming call!}

I used the voice_sdk_id: VSDK1Ch8iUDpaSNgZUzziQ2unwF-nADL3Ig and tried to connect with it using something like this: TelnyxClient(context).connect(txPushMetaData = "VSDK1Ch8iUDpaSNgZUzziQ2unwF-nADL3Ig"). And it unfortunatelly crashes on me during json parsing:
FATAL EXCEPTION: DefaultDispatcher-worker-3
  Process: com.second.phone.number.dev, PID: 10441
  com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
   at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:226)
   at com.google.gson.Gson.fromJson(Gson.java:963)
   at com.google.gson.Gson.fromJson(Gson.java:928)
   at com.google.gson.Gson.fromJson(Gson.java:877)
   at com.google.gson.Gson.fromJson(Gson.java:848)
   at com.telnyx.webrtc.sdk.TelnyxClient.connect(TelnyxClient.kt:249)
   at com.telnyx.webrtc.sdk.TelnyxClient.connect$default(TelnyxClient.kt:243)

Unfortunatelly it did not log the body that it is trying to convert. So I got two questions:

Am I doing this correctly? Taking the SDK ID and putting it as metadata to connection.
Why is it crashing?

Thank you for your help.

Ok this seems fine now.


Fix status bar size issue when Toast disapearing on iPhones 6+ and 6s+

Tested with iPhone 6+ and iPhone 5s

What issue with 6+/6s+ is this resolving? I tried to find an issue but couldn't find one. Then again my github search-foo is mediocre at best 😄
Also it looks like underStatusBar is being ignored with this change? Is that the case? Also, (this may be an existing and separate issue) will this work under iPad multitasking?

I will record gif for you at monday

Which iOS SDK were you building this with? Not seeing it with the iOS 10 SDK


Map StartupParameter

This PR map some method of StartupParameter class for Game Test.

It's good for me for review.

Most of these is already mapped by #2248, which maps more stuff and include parameters. However, you mapped method_35966 makeEntityDrown which that pr doesn't include


Pico yaml config file for current version

Hello,
This is an easy "yaml config file" solution while Pico2.0 development will be completed.

Thank you for your contribution! :+1: Since we've finally released Pico 2.0 (see https://github.com/picocms/Pico/issues/401#issuecomment-401617414), I think this is obsolete now. Sorry for the late response.
We would be happy if you give Pico 2.0 a try (including Pico's new official YAML-based config). Please refer to Pico's new upgrade docs to find out what has changed and how to upgrade your Pico 1.0 installation to Pico 2.0. If you have any question, please don't hestitate to ask.


Refactorings for BSP support (checking if the CI passes)

I'll motivate in more detail or remove some of these changes once the CI passes. These are a basis for BSP support in Ammonite for https://github.com/scalameta/metals-feature-requests/issues/80, that I'll either push on top of this or open a separate PR for.
In isolation, most of the commits here are inocuous refactorings - there's quite a few of them though…

Travis CI is green too.

Will submit these changes in several more atomic PRs.


rustracer: 1.2.10 -> 1.2.10-master-160831

Motivation for this change
update rust racer so that rustdt works
Things done

[ ] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] OS X
[x] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Fits CONTRIBUTING.md.

Please take a look at the naming conventions regarding git revisions: https://nixos.org/nixpkgs/manual/#sec-package-naming
Also, if rustdt needs a specific (unreleased) version we should add it independently of the "normal" racer and update it independently. Nixpkgs should not contain raondom unstable (git) revisions.

asked for  a new release of the source

Perfect, thanks! :)
Peter Pickford<EMAIL_ADDRESS>writes:

asked for  a new release of the source
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/NixOS/nixpkgs/pull/18423#issuecomment-245767894

--