Be more permissive when detecting frozen objects

Rather than rely on an object's #frozen? method, always attempt to
proxy a method when requested. Catch the errors resulting from failed
attempts to proxy and reraise (or log) them with helpful messages.
One notable use case for this is rails' activerecord's Model objects
becoming frozen after be deleted. In reality, only the underlying hash
of attributes is frozen and it should still be possible to write
proxies for these objects.

Hey there! Any reason this isn't being merged? I'm hitting this during a Rails update and could really use the fix.

As the original source of this bug is Rails not implementing frozen? correctly, it might also be worth raising this with them. Only properly frozen objects should return true for frozen?

Do I need to address the failures in the "legacy" tests? I've having some trouble getting rvm to install rubh-1.8.7...

I think this is ready for another look. I manged to get 1.8.7 running and the tests passing there. Also rearranged and added more tests, the diff for those looks worse than it really is though.

for real this time, set up the actions on my fork  and the only failure was some ffi compilation issue on one windows run...

manged to get 1.8.7 running

Locally? Thanks for this effort, I know it is not easy.
Please accept my apologies for the delayed response and our CI build gate. I've triggered the build.

manged to get 1.8.7 running

Locally? Thanks for this effort, I know it is not easy.

yeah, this took me a little while, but doing it with docker ended up not being too bad. Likely not perfect, but here's a gist for it if anyone else needs it. Then you just have to find working docker images, here's what I used:
docker build --build-arg ruby=ruby:2.1.9 -t rspec-mocks .
docker build --build-arg ruby=okyada/ruby:1.8.7 -t rspec-mocks .

This one is biting me too with Rails - happy to help get it across the finish line if I can.

@cknoxrun You're welcome to.

I'm still watching this, was just waiting @JonRowe to say how he wanted it, but I guess I'll just take another shot

Any updates on this? We are still encountering this as a blocker

Merged in 727ba92


CloudFront price class

Describe the feature you'd like
opportunity to choose CloudFront price class to reduce cost. Currently CloudFormation template has
"PriceClass": "PriceClass_All"

@intelligentops Thanks for your feedback, and the reason to use PriceClass_All is to make the CloudFront available in anywhere with the lowest latency, but we'll put this one into our backlog item to revisit.

@intelligentops we have updated our solution to version v6.0.0, and added CloudFront PriceClass parameter to the template, please refer to https://docs.aws.amazon.com/solutions/latest/serverless-image-handler/deployment.html
You can refer to the recent changes here.


[r19.09] qt512.qtbase: add patch for CVE-2019-18281

Motivation for this change
#73680
Things done

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

[x] 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.

Notify maintainers
cc @qknight @ttuegel @periklis @bkchr

LGTM. But would it maybe make sense to bump the version to 5.12.5 instead? The patch releases should be quite compatible and might fix some other minor issues (we already have that on master b3594de31f61aac9c949e764cb9d3b59613050dd) and for 5.11 this was addresses via bumping the version too (2f5d37b77bf39ee22658e65cb748c786a1b6ee2b).

Maybe. I have no idea how to bump the version however.

Poke @globin @ckauhaus


Update readme

Closes #80

Codecov Report

Merging #97 (98e6ac3) into main (83ab10d) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #97   +/-   ##
=======================================
  Coverage   47.79%   47.79%
=======================================
  Files          83       83
  Lines        7147     7147
=======================================
  Hits         3416     3416
  Misses       3585     3585
  Partials      146      146


Stage

added PBS overview and consolidated some of the PBS bidder info.

Closing this pull request, there are too many conflicts.


Interaction with Sidero

Hi, thanks for this project, it looks like it might be a great fit for our use case (also running Kubernetes clusters on a Proxmox cluster).
As background, we’ve just gotten a CAPI management cluster up and running via the Talos bootstrap, control plane, and infrastructure CAPI providers (the latter via Sidero). To create a new cluster, we currently need to:

Manually create 1 VM for each node in the new cluster, spreading them around the various Proxmox nodes for HA.
Generate a new cluster using clusterctl via the Sidero provider.
Boot each node and let Sidero do its thing.

This works well enough, but it sounds like this CCM, combined with https://github.com/CRASH-Tech/proxmox-operator to create the QEMU VMs via a manifest, could eliminate at least step 1 above.
We would like for the new cluster procedure to be something like:

Provision VMs in the Proxmox cluster for new Kubernetes nodes using Qemu CRDs via proxmox-operator.
Generate a new cluster using clusterctl via the Sidero provider.
Boot each node and let Sidero do its thing.
Use the node labels generated by the Proxmox CCM, combined with your Proxmox CSI, to create node-locked PVCs for the services running on the new cluster.

Sorry for the dumb question, as I’m just figuring this stuff out, but as I understand it both Sidero and this CCM will be Node providers, so it’s not clear whether this will work. Will Sidero and this CCM both be able to label the nodes?

Hello, i did not try Sidero, i cannot say how it works. But i see here two ways to solve this idea.

use Proxmox CCM in cloud-node-lifecycle mode only. It will delete the kubernetes node resource if VM was deleted. Sidero will promote and labels the nodes (providerID also required), Proxmox CSI is required topology.kubernetes.io/zone == $ProxmoxNodeName
disable in Sidero to label the nodes, and use TalosCCM+ProxmoxCCM+ProxmoxCSI. TalosCCM in cloud-node (default mode), ProxmoxCCM in cloud-node-lifecycle mode.

If you familiar with terraform, there are two examples exist https://github.com/kubebn/talos-proxmox-kaas (good documented) and https://github.com/sergelogvinov/terraform-talos/tree/main/proxmox


feat: Add builds for iOS Silicon Simulator

On iOS The current build system only builds for one architecture for iPhone (arm64) and one for iPhone Simulator (x86-64). This worked before the new Apple Silicon Macs arrived - since Xcode/iOS Simulator now supports both x86-64 and arm64 architectures which is not directly supported by the current build setup in Google/Filament.
Multiple iOS simulator architectures makes it a bit harder to package on iOS, since we can no longer just create fat binaries with the two architectures - we now have three that we somehow need to fit into the build:
The old list of library architectures and platforms were:
iPhone - arm64
iOS Simulator - x86-64
The new list on iOS will now be:
iPhone - arm64
iOS Simulator - x86-64
iOS Simulator - arm64
To accomplish distributing the above binaries we need to change from distributing our libraries as .a files in universal format (containing multiple architectures in one .a file), and move over to XC Frameworks. An XC Framework is a way for Xcode to consume multiple architectures and multiple platforms (where a platform would typically be iPhone or iPhoneSimulator which both have different SDKs).
This pull request fixes this by introducing platform as a directory element so that we can build multiple outputs configured for the same architecture, and also changes the build so the final iOS build step is to create the XC framework-files. The Cocoapods spec file is also updated so that it now references the XC frameworks instead of the library files directly.
This PR fixes #6714

Wow!! 🥳

Thank you for your contribution! I took a quick look -- so far everything is on the right path. The samples in ios/samples do need to be updated to reflect the build directory renaming.
I think this build.sh help message should be updated to reflect that "universal" libraries now means XC Frameworks and will contain 3 different platform/arch combinations.
Finally, do we need to keep the create-universal-libs.sh script? Could we run your new create-xc-frameworks.sh script like:
build/ios/create-xc-frameworks.sh \
    -o out/ios-debug/filament/lib \
    out/ios-debug/filament/lib/arm64-iphoneos \
    out/ios-debug/filament/lib/arm64-iphonesimulator \
    out/ios-debug/filament/lib/x86_64-iphonesimulator

Thanks again!

Np! Super fun task to work on :)
The reason we still have to use the create-universal-libs.sh script is that an XC Framework cannot contain two library files built for the same platform (simulator) - these two needs to be distributed as a universal library - built with create-universal-libs.sh.
Reagarding the ios/samples/app-template.yml file and building the samples - I'll take a quick look at this now.

I've updated release_notes and updated example projects on iOS - hope it is in line with how you expect this. It seems to build correctly locally - excited to see how the tests are working.
Btw, I was not sure if the generated project files in iOS should be committed - so I left them out.

Sorry for the delayed feedback here - been having a few days of during easter.
I can look into fixing moving release/debug paths into settings.config files - but we need to discuss the build process now that we make XCFrameworks.
Either we switch to always building all platforms, or we only build those defined by the input parameters and then add some logic to the build scripts to include the libraries that was actually built into XCFramework files.
What do you think?

Either we switch to always building all platforms

We definitely don't want to do that. It's common for us while developing to just build debug, i.e. run build.sh -i -p ios debug. The extra cost of building all platforms would be too high.

add some logic to the build scripts to include the libraries that was actually built into XCFramework files

I think this is the best solution. How does that sound?

@bejado  The last commit I pushed will now make sure we always build XCFrameworks in Release mode - making the builds to (hopefully) pass even though simulator builds was not requested!
It was not possible from my research to change the build scripts on iOS (project.yml etc) to support XCFrameworks in debug/release version - so they are now linked against the release versions.
Hope this is sufficient :)

It was not possible from my research to change the build scripts on iOS (project.yml etc) to support XCFrameworks in debug/release version

Do you know if this is a limitation of Xcode itself, or of XcodeGen (the Xcode project generator tool we use)?

so they are now linked against the release versions.

I think we're close to a solution, but unfortunately building and running our samples against a Debug build of Filament is important for us. Maybe we need to do a symlink or something.
Thanks for all your work on this, I'm happy to take a look myself when I get a chance.

Do you know if this is a limitation of Xcode itself, or of XcodeGen (the Xcode project generator tool we use)?

To my knowledge this is an issue with how Xcode embeds XC Frameworks - not XCodeGen.

so they are now linked against the release versions.

I think we're close to a solution, but unfortunately building and running our samples against a Debug build of Filament is important for us. Maybe we need to do a symlink or something.

Yeah, let me think a bit on this one, I understand your use case - let me see if I can come up with something, maybe change the script that builds the samples or something.

Thanks for all your work on this, I'm happy to take a look myself when I get a chance.

It is super fun to be able to help :)

Just adding my 2 cents of support for this PR to get approved and merged.  We want to integrate ARM64 simulator testing into our development cycle.  Is this feature still alive?


How to limited GPU memory?

Hi, I update your docker image tobegit3hub/simple_tensorflow_serving:latest-gpu  and test it.
I found some problems:

your docker default run simple_tensorflow_serving --model_config_file="./examples/model_config_file.json" but  do not install ONNX, it is a small problem!

tf-serving -gpu  default is allocation ALL GPU Memory it was so terrible!!! look here  , and luckly some have fixed it fixed code,
Can you add  these config and re-compile the TF-Serving.
By the way , the method is per_process_gpu_memory_fraction but I think  allow_growth=True but I do not know how to do it.
I think the usage of gpu depend on model mybe right?

For the first question, we don't need the onnx python package because we use onnx_python which is already merged in mxnet python package. I think you can run all the ONNX without any other problem.
We can add the parameters such as per_process_gpu_memory_fraction to control the GPU devices soon.

@tobegit3hub  Oh, Mybe I have something wrong, I will check it. I will look forward to new version with parameters of Controling the GPU device

It is supported now and you can use it with pip install -U simple_tensorflow_serving>=0.6.4.
More usage refers to https://github.com/tobegit3hub/simple_tensorflow_serving#gpu-acceleration .


Duplicate main symbol for swift test on Windows

Description
I have a package with an executable target, and a test target. The tests in the test target do a @testable import of the executable target. The main target has a @main struct ....
Running swift test works on macOS and Linux.
Running swift test on Windows fails.
Expected behavior
When running swift test on Windows, the tests run.
Actual behavior
When running swift test on windows, it fails with an error at link time:
lld-link: error: duplicate symbol: main
>>> defined at C:\\...\\MyPackageTests.build\\runner.swift.o
>>> defined at C:\\...\\MyPackage\\MyMainStruct.swift.o

Steps to reproduce
No response
Swift Package Manager version/commit hash
version included in the official Swift download for Windows
Swift & OS version (output of swift --version && uname -a)
Swift: 5.8
OS: Microsoft Windows Server 2022
(also happens on other versions of swift and OS).

Sounds as if -entry-point-function-name is maybe not working correctly on Windows? We could disable the feature via BuildParameters.canRenameEntrypointFunctionName if it doesn't work there.
cc @compnerd

@neonichu that definitely works: https://github.com/compnerd/swift-win32-application/blob/main/Package.swift even has an example.  The problem is that you cannot alias functions using the linker on Windows and this needs to be done in SPM.

https://github.com/apple/swift-package-manager/blob/main/Sources/Build/BuildPlan.swift#L138-L151

I think that I have a solution to this that is cross-platform as long as we are reliant on LLVM!  The symbol rewriter should do this properly on all file formats!

Oof; I should have searched for this before creating the minimal reproducer.  But there it is in case it helps!

@MaxDesiatov Do you think this issue would be resolved now with your cross-compilation macros work?

I'm still seeing it recently with swift-foundation at least.


AttributeError: module 'hashlib' has no attribute 'scrypt'

derived_key = hashlib.scrypt(

AttributeError: module 'hashlib' has no attribute 'scrypt'

@fabioselau077 interesting. Check https://docs.python.org/3/library/hashlib.html#hashlib.scrypt, could you possibly be running the code with older Python than 3.6?


Set up Ingress on Minikube with the NGINX Ingress Controller

Why is this failing?
Failed: curl --resolve "hello-world.info:80:$( minikube ip )" -i http://hello-world.info
curl: (28) Failed to connect to hello-world.info port 80 after 75002 ms: Couldn't connect to server
Worked (after running minikube tunnel):
url -v --resolve "hello-world.info:80:<IP_ADDRESS>" -i http://hello-world.info:80

Added hello-world.info:80:<IP_ADDRESS> to DNS cache
Hostname hello-world.info was found in DNS cache
Trying <IP_ADDRESS>:80...
Connected to hello-world.info (<IP_ADDRESS>) port 80 (#0)

GET / HTTP/1.1
Host: hello-world.info
User-Agent: curl/8.1.2
Accept: /

< HTTP/1.1 200 OK
HTTP/1.1 200 OK
< Date: Fri, 15 Sep 2023 10:29:34 GMT
Date: Fri, 15 Sep 2023 10:29:34 GMT
< Content-Type: text/plain; charset=utf-8
Content-Type: text/plain; charset=utf-8
< Content-Length: 60
Content-Length: 60
< Connection: keep-alive
Connection: keep-alive
MacOS Ventura
on a company laptop so maybe something I don't know is blocking the connection?

Page related to the issue: https://kubernetes.io/docs/tasks/access-application-cluster/ingress-minikube/
/language en

K8s Slack is better place for resolving these type of issues @Adrianjewell91

/kind support

If you're looking for help, you can also ask on Server Fault or the Discuss Kubernetes forum.

/close
Not a docs issue to fix.


[TRANSLATION] Add Turkish translation

If i missed something, please let me know.

I've disabled a Weblate localization for a reason – as I plan to rewrite the client and release it under new detached branch/repository, I discourage the users to localize my client anymore – their work will be archived sooner or later anyway. But now thinking of it, I might actually open Weblate, yet place a warning that WebCord is somewhat at going to be deprecated soon state and it is still alive as there's no alternative to it made by me.

You can use the translations as is in the new client.

You can use the translations as is in the new client.

The code structure will drastically change – it will be split into subprojects and each will have its own localization files. There will be also new concepts about translation inspired on Java/Android software design – like plurals.
This is why I most likely won't keep localization files as they are.

@demirdegerli As I'm slowly defrosting WebCord anyway, I might still consider accepting PRs and actually merge this PR after I deal with the mess left in Weblate (e.g. merge conflicts, proper warning that someone's work might be archived after I'll fully work on another client).
I'll reopen this and merge, unless you feel like against doing it.

ok


Curl server denied you to change to the given directory

Attempting to download a reference transcriptome:
curl ftp://ftp.ensemblgenomes.org/pub/plants/release-28/fasta/saccharomyces_cerevisiae/cdna/Saccharomyces_cerevisiae.R64-1-1.cdna.all.fa.gz -o Scerevisiae.fa.g
Result is:
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
0     0    0     0    0     0      0      0 --:--:--  0:00:02 --:--:--     0
curl: (9) Server denied you to change to the given directory
Currently working around with downloading to own machine and using Upload button from within RStudio.

Hi @tylermcinnes , does that curl command work for you on your local machine? If I copy that command and run it on my laptop it also fails with exactly the same error. I think the error is coming from the remote FTP server - is it possible that authentication is required and you have that cached on your local machine (assuming it works there) somehow?

@tylermcinnes

This file is already included in the training environment RNA_seq directory (https://github.com/nesi/training-environment-rstudio-rnaseq-app/tree/main/docker/RNA_seq/Transcriptome)
In case you want to download your own copy, it requires htts://. Following works

curl https://ftp.ensembl.org/pub/release-112/fasta/saccharomyces_cerevisiae/cdna/Saccharomyces_cerevisiae.R64-1-1.cdna.all.fa.gz -o Saccharomyces_cerevisiae.R64-1-1.cdna.all.fa.gz

Thanks both!


[ios] Should toolbar get some fix?

The height of toolbar in ios includes the top status bar, so things like the title of the toolbar looks bad in ios. I wonder if there should be some compensate height and margin adjustment of title in ios? I've tried adding 10 units of height and 16 units of margin-top of centerElementContainer, but am not sure if it's a good enough solution.
Code of the style is like:
container: {
  flexShrink: 0,
  flexGrow: 0,
  flexBasis: uiTheme.appBar.height + (Platform.OS === 'ios' ? 10 : 0),
  backgroundColor: uiTheme.appBar.backgroundColor,
},
centerElementContainer: {
  marginTop: Platform.OS === 'ios' ? 16 : 0,
},

I am not sure if we should deal with it because it's a React Native issue, see: https://stackoverflow.com/questions/42599850/how-to-prevent-layout-from-overlapping-with-ios-status-bar
Anyway, I would prefer setting Toolbar container's paddingTop to: Platform.OS === 'ios' ? (isIphoneX ? 39 : 15) : 0 . We do that very similarly in our application. But it would be a big breaking change.
@xotahal What do you think?

Can this not be resolved by making the parent a SafeAreaView?


Add docker-compose.yml , 方便玩家初次食用。

Add docker-compose.yml , 方便玩家初次食用。
食用方法：
git clone https://github.com/microsoft/garnet.git
cd garnet
docker compose -f docker-compose.yml up -d --build

@XiaoHeitu please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
@microsoft-github-policy-service agree [company="{your company}"]

Options:

(default - no company specified) I have sole ownership of intellectual property rights to my Submissions and I am not making Submissions in the course of work for my employer.

@microsoft-github-policy-service agree

(when company given) I am making Submissions in the course of work for my employer (or my employer has intellectual property rights in my Submissions by contract or applicable law). I have permission from my employer to make Submissions and enter into this Agreement on behalf of my employer. By signing below, the defined term “You” includes me and my employer.

@microsoft-github-policy-service agree company="Microsoft"

Contributor License Agreement

@microsoft-github-policy-service agree

haha, “初次食用”, It's a Chinese homophonic pun，Is this intentional or accidental

haha, “初次食用”, It's a Chinese homophonic pun，Is this intentional or accidental

Yes, I did it on purpose. Because we all love homophonic puns.


Make it easier for a user to run assignment's tests

This pull request includes Node.js dependencies file (package.json) and a Gulp file (gulpfile.js) that allows the user to run assignment tests with just one command (once all dependencies are installed):
$ gulp test

These files are included in the only existing assignment directory (palindrome-products). Each assignment should have the same files so that there is a common way to run tests for all assignments.
The pull request also includes content for the SETUP.md file explaining how to install dependencies and how to run tests. Finally, it modifies .gitignore to ignore transpiled JavaScript files (from ES6 to ES5) and tools installed for each assignment.

This looks good, aside from the one tiny comment.
Would you mind squashing the commits?

Ok, I'll try to squash commits, but I'm not very good at git.
I'll also remove some lines in SETUP.md, because some content is already in the Getting started with ECMAScript page.

Squash done! The pull request only contains one commit.
Just to know: are pull requests with one commit preferred to ones with multiple commits? I have no problem, but I like multiple small commits than one large commit. Maybe, it's easier to merge one single commit than multiple ones. I'm just asking.

I don't necessarily have a rule/preference around one commit per PR, but one change per commit. In general, if there were a bunch of little commits that kind of mean "oops, I forgot this one bit" or "darn, that didn't work the way I expected" (things that I do all the time!) then I squash my commits into a single one.
If, while doing a PR I come across a kind-of related thing that I think needs fixing, then I generally create a separate branch, separate commit, and separate PR. This makes it much easier to review the pull requests, and to reason about the changes.
Often when making a change, it will really be two changes: first, refactor the code to make it easier to make the change, then make the change. Then I will have two commits in the same PR. Or, sometimes the refactoring really is several distinct refactorings that are related, but not the same. Then I will put each one into its own commit.
Does this make sense?

Yeah! Absolutely. And I agree. But I think I splitted one change (make it easier to run tests) into much smaller tasks (add Node.js dependencies file, add Gulp script,...). And those tasks where too narrow to be in the PR scope.
Thanks to share your thoughts.

"add node js dependencies" isn't really an atomic change in terms of the project. I think it could make sense as "add dependencies to make it possible to run the tests" as one thing, and "change the problem to use new dependencies" as another.

Yep. Those are much better names for the tasks. I see now that I was too focused on the technical side of the task.
Very useful feedback, thanks.

My pleasure. Thanks again for the contribution.


Accuracy values higher than expected on successful adversarial attacks?

Thank you for putting together this excellent resource for text adversarial attacks.
I've been exploring the dataset and models, and I've noticed that I get higher accuracy than expected when using the given models to classify the successful adversarial attacks in the validation dataset for SST and climate-change_waterloo.  I expected the values should be close to 0, with some variation resulting from minor environmental variations (which is what I see on the wikipedia and civil-comments data).  However, for SST and climate-change_waterloo, we have results that are quite a bit higher than this.

bert
roberta

sst
wikipedia
civil-comments
climate-change
sst
wikipedia
civil-comments
climate-change

deepwordbug
0.086
0.021
0.000
0.671
0.065
0.012
0.001
0.444

textfooler
0.359
0.019
0.001
0.624
0.316
0.012
0.001
0.480

genetic
0.474
0.061
0.041
0.582
0.486
0.057
0.018
0.270

hotflip
0.481
0.064
0.052
0.541
0.486
0.073
0.023
0.306

Have you tried downloading the models provided on Google Drive and running them against the adversarial attacks in the dataset to confirm that these attacks work against the models provided?
The dataset is still very useful, even if not every attack is successful, but I'm trying to figure out what's going on here.  Thanks!

Realizing now that the framing of the dataset is that the result is perturbed from the original output, even if that original output was wrong (i.e., there are some attacks that correct the model's bad outputs).  Closing the issue!


Why it doesn't work for "tinymce"?

Installing "tinymce/tinymce" it simply ignores "extra" section.

hello @ivangusev
Basically, my plugin is sticking to the default composer package types which are listed here https://getcomposer.org/doc/04-schema.md#type except for the type project but the tinymc has set the type to be component
but may be i can look into this later, but i just wanted to explain the issue briefly

hi, @mnsami
Thanks for reply! I really need to install tinymce in different vendor folder, because it is supposed to be requested from public. Would be awesome if i can do it with your plugin. Or may be you can suggest me other solution/plugin?

@ivangusev I'll check and get back to you :)

hello @ivangusev can you try to require this version of my plugin
composer require mnsami/composer-custom-directory-installer:dev-allow-custom-packages-types
and see if tinymce works well afterwards
Let me know of the results

hi, @mnsami
It works like a charm! Thanks a lot, great work!

i think this library will work better and server your purpose better than this
https://packagist.org/packages/robloach/component-installer
it is more focused on js components
I would recommend checking it out @ivangusev

@ivangusev can you check the package I mentioned, it makes more sense to use the component-install package rather than mine

@mnsami i just remember before i found your package i tried the one you mentioned. It was some issue there. I can try again, in next few days when i get a chance. Okay?

Hi @mnsami, component-install package has been deprecated. Anyway i tried and it worksm but it installs "require.js" thing which i don't want. Do you know how to disable this "require.js" install?
I also tried oomphinc/composer-installers-extender, but it doesn't use an installer-paths whatever i write in "extra" section.

Hi @mnsami , feature from allow-custom-packages-types branch works perfectly. Please, can you release new version with with feature? It will help me a lot, because lot of javascript packages use type component. Thanks.


Missing information regarding reboot

PROBLEM
When "chkdsk /f" is invoked on volumes in use, the user is told, "Cannot lock current drive. Chkdsk cannot run because the volume is in use by another process. Would you like to schedule this volume to be checked the next time the system restarts? (y/n)." The docuemntation for Repair-Volume says, "OfflineScanAndFix: Takes the volume offline to scan the volume and fix any errors found (equivalent to chkdsk /f)," but does not specify how a reboot is handled. For example, will the Repair-Volume cmdlet reboot the machine right then and there? Or will it run on next reboot, whenever that is? If the latter, it does not say this. Rather it just outputs "NoErrorsFound." That is, it neither fails with an exception (that could be caught, interpreted, and handled), nor does it prompt how the user wishes to handle the s ituation.
SOLUTION
The documentation for Repair-Volume needs to at least specify how a reboot is handled when a volume is locked. That is, is the endpoint rebooted right then and there, or is the action just scheduled the next time the endpoint reboots.

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

ID: b6dc697b-ee07-31ec-90f1-9ce1fefe7f34
Version Independent ID: e691576d-fcfb-2200-775b-504da087c6f8
Content: Repair-Volume (Storage)
Content Source: docset/winserver2012-ps/storage/Repair-Volume.md
Product: w10
Technology: windows
GitHub Login: @JasonGerend
Microsoft Alias: jgerend

To make it easier for you to submit feedback on articles on learn.microsoft.com, we're transitioning our feedback system from GitHub Issues to a new experience.
As part of the transition, this GitHub Issue will be moved to a private repository. We're moving Issues to another repository so we can continue working on Issues that were open at the time of the transition. When this Issue is moved, you'll no longer be able to access it.
If you want to provide additional information before this Issue is moved, please update this Issue before December 15th, 2023.
With the new experience, you no longer need to sign in to GitHub to enter and submit your feedback. Instead, you can choose directly on each article's page whether the article was helpful. Then you can then choose one or more reasons for your feedback and optionally provide additional context before you select Submit.
Here's what the new experience looks like.
Note: The new experience is being rolled out across learn.microsoft.com in phases. If you don't see the new experience on an article, please check back later.
First, select whether the article was helpful:

Then, choose at least one reason for your feedback and optionally provide additional details about your feedback:

Article was helpful
Article was unhelpful

Finally, select Submit and you're done!


[Unit2] params not defined

When executing
Flux.train!(loss, params(ann), [(inputs', targets')], ADAM(learningRate))
the following error occurs:
UndefVarError: params not defined
It can be solved by just importing params from the Flux library:
using Flux: params
but this command is not provided in the notebook, so I think it would be better to update it.

Yes, it is true that we have mislead the library in this case, however instead of importing permantly the function as you do, it is better to called it through the Library in a single line. It is better, in this case, due to the single use that we will be doing.
In any case, it is already modified. Thank you again for the feedback


[incubator/elastic-stack] Add fluentd-elasticsearch and elasticsearch-exporter to elastic-stack

Update repository for elasticseach and elasticsearch-curator
Signed-off-by: Pete Brown<EMAIL_ADDRESS>
What this PR does / why we need it:
Which issue this PR fixes
(optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged)

fixes #

Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[ ] DCO signed
[ ] Chart Version bumped
[ ] Variables are documented in the README.md

That would be a limitation of the exporter chart.
Let's fix it there.

/lgtm


Confirm view: Add error or informative message when "Confirmar Recepcion" button fails

Explication
In confirm view (https://dev--azordev-dasher-user.netlify.app/confirm/902b7f07-da34-4ab5-9a8c-d9db03ba55b5) when user clicks confirm button and the package is already confirmed before, any action occurs, please add one message error or informative to say this to the user
Screenshots

Checklist
This issue can be closed when the following tasks are complete:

[ ] When package can't be confirmed, please show a message explaining what is the problem

What's de name, RUT and phone number that i need for confirm?

What's the name, RUT, and phone number that I need to confirm?

Its extra info the client knows, but in fact we only check RUT

Confirm with @angelik0828 about the style for errors

@Israel-Laguan I think that the question is what is the information that we need put in the form to confirm that we have receive the package.
I remember that the test package have your data:
Nombre: Israel Laguan
RUT: ???
Celular: ???
Can you provide this information to @e-azocar can see the problem of this issue in local ?

Can you provide this information to @e-azocar can see the problem of this issue in local ?

I can sync up with @e-azocar on this next meeting

Rut = unique identity document in Chile, for companies and individuals, refers to a unique tax role.

When the user fills out the form, it is better to perform the validation before sending the data so we reduce errors, we can add a validator in each text field or a check and we use the pop-up window for the correct delivery validation. What do you think?
https://www.figma.com/file/tbhMgDT10bbVjB9GazF97y/Untitled?node-id=0%3A1

Other error to validate is when the package doesn't exists on the database. I notice that at the URL you can pass 'cualquier cosa'

and doesn't exists previous validation

we can add a validator in each text field or a check

Yes, what would an error message look like?

Updated bugs in figma link including the BD, tell me please.

I left a question on the design @angelik0828, please check


Push the binaries to a better hosted endpoint than GitHub

Allows for CDN, better reliability, etc than hosting on GitHub

more suggestions here https://github.com/bacalhau-project/expanso-planning/issues/670


Can't find variable Zepto, when minifying

I'm using Intercooler in a project that uses Grunt to concat and minify all JS, and it seems to be transforming the line of code you added recently from something that doesn't throw any errors to something that does.
Your original code:
// work around zepto build issue TODO - fix me
  if((typeof Zepto) && ($ == null)) {
    $ = Zepto
  }

The minified code:
Zepto,null==$&&($=Zepto);

I think what's throwing it off is the fact that you're doing (typeof Zepto), which is always true no matter what the type of the variable, because it's a non-empty string. I think you meant to do (typeof Zepto === "undefined")?
Alternatively, using window["Zepto"] also takes care of it.

Sorry about that.  Mind putting a pull request against development together?
Cheers,
Carson
On March 9, 2017 at 7:28:37 AM, Bruno De Barros<EMAIL_ADDRESS>wrote:
I'm using Intercooler in a project that uses Grunt to concat and minify all
JS, and it seems to be transforming the line of code you added recently
from something that doesn't throw any errors to something that does.
Your original code:
// work around zepto build issue TODO - fix me
if((typeof Zepto) && ($ == null)) {
$ = Zepto
}
The minified code:
Zepto,null==$&&($=Zepto);
I think what's throwing it off is the fact that you're doing (typeof Zepto),
which is always true no matter what the type of the variable, because it's
a non-empty string. I think you meant to do (typeof Zepto === "undefined")?
Alternatively, using window["Zepto"] also takes care of it.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/LeadDyno/intercooler-js/issues/180, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAcov-x-PbYvAJJR5pp4gCOVD-vPsLn8ks5rkBqigaJpZM4MYOtf
.

Done! Thanks so much for all your hard work. As I've said before, Intercooler is fantastic. 😄


Draw Straight Line

Hi, Thank you for the great library,
The documentation doesn't mention straight line , i need to draw a straight line as the footer just above the page number, How can i do that , exact image that i am looking for

Hi @sheneeb, it's great you are using the library!
For this you can use a table in the footer like this:
from random import randint

from pdfme import build_pdf

char = lambda: chr(randint(97, 122))
word = lambda low=2, high=10: ''.join(char() for _ in range(randint(low, high)))
text = lambda length, low=2, high=10: ' '.join(word(low, high) for _ in range(length))

document = {
    "style": {"text_align": "j"},
    "running_sections": {
        "footer": {
            "x": "left", "y": 800, "height": "bottom",
            "style": {"text_align": "c"},
            "content": [
                {
                    "style": {"border_width": 0, "cell_margin": 0},
                    "borders": [
                        {"pos": "h0;:", "width": 0.5}
                    ],
                    "table": [[
                        {".": ["Report Date: ", {".i": "31-Dec-21"}]},
                        {".": ["Page ", {"var": "$page"}]},
                        {".": ["Internal Audited by:"]}
                    ]]
                }
            ]
        }
    },
    "sections": [
        {
            "running_sections": ["footer"],
            "content": [{".": text(1000)}]
        }
    ]
}

with open('document.pdf', 'wb') as f:
    build_pdf(document, f)

In the table's dict I'm including a style key with a border_width of 0 to make all of the lines in the table desappear and cell_margin of 0 to reduce the margin of the cells, to make the text closer to the lines.
Later in table's borders list key I added a dict to make the top border different to the default one I set in border_width. For more information on how to override the default border and fill configuration set in table's style got to https://pdfme.readthedocs.io/en/latest/modules/table.html#pdfme.table.PDFTable .

Thank you for your quick response , your active support is greatly appreciated.


Improved Error Messages

Thanks to some excellent work from Erin my issue with form non-submission was tracked down to a field being required by Mailchimp but not present in my form.
The form was failing silently so it wasn't obvious this was the problem. Improved error messaging for this sort of issue would have saved time (mostly Erin's!) in this case.

already added some better logging.


react/hook-use-state false positive "not destructured into value" error

The following code is triggering this error:
react/hook-use-state: useState call is not destructured into value + setter pair

The code:
import {useState} from 'react';

export const MyComponent = () => {
	const [isModalOpen, setIsModelOpen] = useState(false);
	return null;
};

export default MyComponent;

I think this is a false positive trigger because the code follows all the rules described in the rule. I suspect there's something that's not right about the name of those variables but I can't figure out exactly what's wrong.
CC @duncanbeevers

🤦 I have a typo: "modal" vs "model". Nevermind.

@EvHaus You should also have been able to use the suggested fix. Did your IDE offer you the suggestion?


MINIFICPP-2494 windows event log: fix event message formatting, refactor

Changes:

change enum METADATA to enum class Metadata
rewrite getEventData and getEventMessage. They no longer try with a stack buffer first. That looks like a premature optimization, since there are allocations in the function either way, and a user reported issues with the call that may be resolved by this. The rewrite aims to follow modern C++ best practices, instead of the unsafe C-like code it used to be.
remove a few unused includes
make getComputerName thread-safe and simpler. The max computer name is reduced to 256, based on the MSDN example. I think the overwhelming majority of computer FQDNs will fit in that just fine. Also changed it to truncate when it's longer, instead of bailing out and returning "N/A"
other various drive-by refactors

Thank you for submitting a contribution to Apache NiFi - MiNiFi C++.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[x] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?

[x] Does your PR title start with MINIFICPP-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

[x] Has your PR been rebased against the latest commit within the target branch (typically main)?

[x] Is your initial contribution a single, squashed commit?

For code changes:

[x] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[x] If applicable, have you updated the LICENSE file?
[x] If applicable, have you updated the NOTICE file?

For documentation related changes:

[x] Have you ensured that format looks appropriate for the output in which it is rendered?

Note:
Please ensure that once the PR is submitted, you check GitHub Actions CI results for build issues and submit an update to your PR as soon as possible.

I wouldn't call this premature optimization, this rewrite had a measurable 20% throughput increase: https://github.com/apache/nifi-minifi-cpp/pull/928#issuecomment-712732711

my bad then. Back to draft, and I'll wait for confirmation to see if this fixes the crash.


[release/1.6] Fix CRI snapshotter root path when not under containerd root

Fixes https://github.com/containerd/containerd/issues/10095 in 1.6
Related to the release/1.7 backport #10096
This PR backports 4 changes:

https://github.com/containerd/containerd/pull/8417 - Allows proxy plugins to have platforms (not strictly necessary to fix the issue, but I thought it would be less weird to keep this than to take a newer change to ProxyPlugins without the older one)
https://github.com/containerd/containerd/pull/9253 - Allows proxy plugins to have exports (e.g. root)
https://github.com/containerd/containerd/pull/10073 - Exports root paths for a number of snapshotters that didn't already have them
https://github.com/containerd/containerd/pull/9216 - Uses exported root key for snapshotter root if present.

The result of this is that you can tell containerd about a remote snapshotter's root like:
[proxy_plugins.soci]
type = "snapshot"
address = "/run/soci-snapshotter-grpc/soci-snapshotter-grpc.sock"
[proxy_plugins.soci.exports]
root = "/var/lib/soci-snapshotter-grpc"

which will be correctly reported by CRI which unblocks the kubelet from enforcing ephemeral-storage limits and doing image garbage collection.

cc @dcantah

While I think this probably shouldn't cause any issues, for 1.6 (and same for 1.7, but given it's not LTS I think we're generally more lenient) we really only try to backport bug/security fixes. I'm assuming this is hurting someone in production on 1.6 is the reason

I think this falls under the category of bug fixes. Or do you mean you generally only backport bug fixes related to security issues?

@Kern-- It's a weird one as it's a bug fix enabled by new functionality as proxy plugins get two new fields to play around with. I'm okay with this though


Add files via upload

Pull Request fo Student Account JeBrains License

@barakamatoke sua.txt I am sorry, I have to close the request without merging, because you made a mistake in a request and did not specify any filepath. Please ensure that you are familiar with this repository rules located at the bottom of this page and make a new correct request. Thank you for your understanding!


Fixed the bug in message counter

Just a small change.
Earlier if the message count is 6969, then the counter showed 69 only but now the text size is adjusted accordingly.

The size if number of messages <100.

Reduced the text size for larger number of messages. Earlier it used to show first two digits only. This size is upto 9999 messages. (I don't think number of messages would cross that limit)


E2emessagebox

Please provide a link to the associated issue.
Closes SAP/fundamental-ngx#
Please provide a brief summary of this pull request.
Please check whether the PR fulfills the following requirements

[ ] the commit message follows the guideline:
https://github.com/SAP/fundamental-ngx/blob/main/CONTRIBUTING.md
[ ] tests for the changes that have been done
[ ] all items on the PR Review Checklist are addressed :
https://github.com/SAP/fundamental-ngx/wiki/PR-Review-Checklist
[ ] Run npm run build-pack-library and test in external application

Documentation checklist:

[ ] update README.md
[ ] Breaking Changes Wiki
[ ] Documentation Examples
[ ] Stackblitz works for all examples

please make all commit messages follow this pattern: type: (scope) description ie test: (e2e) add e2e tests for x component


Workspace - Create new workspace button does not response

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.4.36-0
Reproducible in staging?: y
Reproducible in production?: n
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
Action Performed:

Create new account
Click on settings icon from bottom on LHN
Click on green Create a new workspace button

Expected Result:
New workspace should be created
Actual Result:
Create new workspace button does not response
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence
https://github.com/Expensify/App/assets/93399543/c60756dc-8731-4d57-8954-e5f33d28bbf0
View all open jobs on GitHub

We think that this bug might be related to #wave8-collect-admins
CC @zanyrenney

Yup, thank you @ishpaul777. Closing this since its a dupe.


UI modifications.

I added a few UI modifications for my project, so I was wondering if you liked them so I could  make a PR for them. (I also added a dark theme):
Light theme:

Dark theme:

@mikebarlow

Yeah, sure. As long as it's a separate PR from the wire poll PR that would be awesome.

Closing this as I see there are the UI updates in the PR you have opened.


The feels-like-temperature CLI and associated bats tests.

Addresses #GitHubissuenum
Description
Testing:

[X] Ran tests and they passed OK
[X] Added new tests for the new feature(s)

@carolinejjones I have made those changes that you requested.

Thanks but I'm afraid the 01-help.bat will need to be updated too.

I've updates 01-help.bats with the updated descriptions now too.


better error msg

@markelliot

This change is

Review status: 0 of 1 files reviewed at latest revision, 1 unresolved discussion.

Comments from Reviewable

Reviewed 1 of 1 files at r1.
Review status: all files reviewed at latest revision, 1 unresolved discussion.

Comments from Reviewable


Remove some katacodas

Remove SQL playground Katacoda for older version (20.2 and 21.1). Keep playground for current stable and dev versions (21.2 and 22.1).

This change is


analysis.experimental.translateWindowsCfgCalls misses trivial calls

Version and Platform (required):

Binary Ninja Version: 3.5.4362-dev Personal, 4552a9c9
OS: windows
OS Version: 11
CPU Architecture: x86_64

Bug Description:
Even with analysis.experimental.translateWindowsCfgCalls enabled, call    qword [rel __guard_xfg_dispatch_icall_fptr] lines in the assembly still translate to _guard_xfg_dispatch_icall_nop() in HLIL after analysis. Manually editing an assembly line to call rax, as described in Vector35/binaryninja-api#1760, produces correct analysis.
Steps To Reproduce:
Analyze C:\Windows\System32\windows.storage.dll from Windows version 10.0.22621 Build 22621 with analysis.experimental.translateWindowsCfgCalls enabled and look at the ILs for CAutoDestListParser::_GetDestListStream. The HLIL should show multiple calls to _guard_xfg_dispatch_icall_nop().
Expected Behavior:
These Windows CFG calls should be translated to direct calls.
Screenshots:
HLIL:
Disassembly:
Additional Information:

Until this is resolved, here's a snippet you can run from the Python console that shouldn't break anything else:
with bv.undoable_transaction():
	xfg_dispatch_icall_sym = bv.get_symbols_by_name('__guard_xfg_dispatch_icall_fptr')[0]
	xfg_dispatch_icall_addr = xfg_dispatch_icall_sym.address
	print('xdg_dispatch_icall_addr', hex(xfg_dispatch_icall_addr))
	xfg_dispatch_icall_patch_call = bv.arch.assemble("call qword rax")
	xfg_dispatch_icall_patch_jmp = bv.arch.assemble("jmp qword rax")
	print('xfg_dispatch_icall_patch', xfg_dispatch_icall_patch)
	for ref in bv.get_code_refs(xfg_dispatch_icall_addr):
		print('ref', ref)
		ref_bv = ref.function.view
		ref_llil = ref.llil
		if isinstance(ref.llil, LowLevelILCall) and isinstance(ref_dest := ref_llil.dest, LowLevelILLoad) and isinstance(ref_dest.src, LowLevelILConstPtr) and ref_dest.src.constant == xfg_dispatch_icall_addr and (ref_disasm := next(bv.disassembly_tokens(ref_address := ref_llil.address))) is not None and len(xfg_dispatch_icall_patch_call) <= ref_bv.get_instruction_length(ref_address):
			ref_disasm = ref_disasm[0]
			if len(ref_disasm) == 7 and ref_disasm[0].text.strip() == 'call' and ref_disasm[1].text.strip() == '' and ref_disasm[2].text.strip() == 'qword' and ref_disasm[3].text.strip() == '[' and ref_disasm[4].text.strip() == 'rel' and ref_disasm[5].type == InstructionTextTokenType.CodeRelativeAddressToken and ref_disasm[6].text.strip() == ']':
				if ref_bv.convert_to_nop(ref_address):
					ref_bv.write(ref_address, xfg_dispatch_icall_patch_call)
					print('patched call', hex(ref_address))
		elif isinstance(ref.llil, LowLevelILTailcall) and isinstance(ref_dest := ref_llil.dest, LowLevelILLoad) and isinstance(ref_dest.src, LowLevelILConstPtr) and ref_dest.src.constant == xfg_dispatch_icall_addr and (ref_disasm := next(bv.disassembly_tokens(ref_address := ref_llil.address))) is not None and len(xfg_dispatch_icall_patch_jmp) <= ref_bv.get_instruction_length(ref_address):
			ref_disasm = ref_disasm[0]
			if len(ref_disasm) == 7 and ref_disasm[0].text.strip() == 'jmp' and ref_disasm[1].text.strip() == '' and ref_disasm[2].text.strip() == 'qword' and ref_disasm[3].text.strip() == '[' and ref_disasm[4].text.strip() == 'rel' and ref_disasm[5].type == InstructionTextTokenType.CodeRelativeAddressToken and ref_disasm[6].text.strip() == ']':
				if ref_bv.convert_to_nop(ref_address):
					ref_bv.write(ref_address, xfg_dispatch_icall_patch_jmp)
					print('patched jmp', hex(ref_address))
		else:
			continue


No auto complete from manual typing anymore :(

In a previous version I had created a manual typing in the folder tools>manual_typings>project, named it mytyping.d.ts and that was it, I could then reference it from any component without any problem like so: import {IMyInterface} from 'mytyping'; and I could even have empty braces, place the cursor in the middle and hit Ctrl+Space to get see a list of available objects/interfaces.
Now it still works, as I don't get any compile time error and my project works as expected, but my IDE (SublimeText) underlines 'mytyping' in red, saying Cannot fine module 'mytyping' and I don't have any suggestions anymore when hitting Ctrl+Space :(
Is there something else I should do now when creating manual typings?
Thanks!

I tried to fix this by adding a typings.d.ts in the src/ folder, looking like this:
/// <reference path="../typings/browser.d.ts" />
/// <reference path="../tools/manual_typings/project/custom-typings.d.ts" />

This approach works great for dev build, but fails on prod build:
dist\tmp\typings.d.ts(1,1): error TS6053: File 'C:/Projekte/sd4/frontend/dist/typings/browser.d.ts' not found.
dist\tmp\typings.d.ts(2,1): error TS6053: File 'C:/Projekte/sd4/frontend/dist/tools/manual_typings/project/custom-typings.d.ts' not found.

I would love to see a consistent solution. It looks like VS Code does not include the typings/ and tools/manual_typings folders in the build anymore since the second tsconfig.json was added to the src/ directory, and therefore has no access to typings during development.

Taking a run at this one now.

Add manual_typings.d.ts in client and add references to the manual typings. For instance:
/// <reference path="../../tools/manual_typings/seed/karma.d.ts"/>

I think the point was to be able to use the project's manual typings in the same way we can use the seed typings.
i.e.

/// <reference path="../../typings/browser.d.ts"/>
/// <reference path="../../tools/manual_typings/project/sample.package.d.ts"/>

Does this work on prod for you? See my comment above, the paths won't work in prod build and throw an error in my project.

You can override the build.js.prod task and this way include the manual typings in the production build.


Custom modules?

Hi, more of a question than an issue.. is there a blessed way to add custom modules for domain specific fake data? Or do we just FFaker.autoload(...)?

Hi!
Do you mean you need require some specific module of FFaker to some file?
Like this?
require 'ffaker/lorem'

Sorry, I wasn't clear. I can get specific... FFaker doesn't have a Number module that Faker has: https://github.com/faker-ruby/faker/blob/master/lib/faker/default/number.rb
Reading other issues, it seems that the maintainers of this gem isn't too keen on adding a Number module...which I get, kind of. We'd like to switch to FFaker, but we use Faker::Number.number(digits: 9) a lot. I get that you can do FFaker.numerify('#########') but the difference here is that Faker's implementation ensures a non-zero leading number, resulting in you always getting a 9-digit long integer (which is what Faker::Number returns).
I was going to port over some Faker::Number features in my codebase and was wondering what's the best way I can add more custom functionality to the existing FFaker library.

Hi, more of a question than an issue..

Hello. To be honest, Discussions is more proper place for questions on GitHub: https://github.com/ffaker/ffaker/discussions/categories/q-a

We'd like to switch to FFaker

If it's not a secret, why? Just curious.

but we use Faker::Number.number(digits: 9) a lot

For what kind of data? Is it a phone number, bank card number, ID/document number, or something more custom/specific? I mean, probably you should use more precise generator if it's available.

I get that you can do FFaker.numerify('#########') but the difference here is that Faker's implementation ensures a non-zero leading number, resulting in you always getting a 9-digit long integer (which is what Faker::Number returns).

Do you want to create a String of digits and then convert it to 9-digits Integer?… it sounds weird.
OK, the first work-around is adding a custom digit to generation, like FFaker.numerify("#{rand(1..9)}########").
The second, maybe for simpler for you, is just random from numbers themselves, like rand 100_000_000..999_999_999.
It's not an answer to your original question BTW. I guess yes, you can define modules and require them or even add the autoload, as you wish.
Oh, now I get "custom modules for domain specific fake data" — you talked about company/product/projects 's domain.

https://github.com/ffaker/ffaker/discussions/categories/q-a

Please let me know if you’d like to move the conversation there. Happy to do so 😃 It’s hard to tell if repos prefer that or not. It’s trending there it seems.

If it's not a secret, why? Just curious.

Faker is a massive ecosystem of random generators that any given project will only use a small percentage of. You can arguably say the same for FFaker. However, we’ve identified that Faker uses i18n and adds to the locales path. This is not great in the world of Rails since those locales can we reloaded at various times in development. It also adds a good amount of time to have everything be loaded on boot, especially for tests (even with Spring). I really like that FFaker autoloads/lazyloads everything. Hence we’re trying to make the switch.

For what kind of data?

I’m not certain to be honest. We have a very, very large monolith and deal with $ and people data. I think most of the time leading-0 is fine. The problem is we have hundreds of engineers and they’ve grown accustom to “give me a 6-digit number” and expect a Integer that is 6 digits long. Nothing does this right out of the box for FFaker without the tricks that you’ve mentioned above.

Do you want to create a String of digits and then convert it to 9-digits Integer?… it sounds weird.

I don’t disagree…but it’s hard to know why people need that in my environment 😅 . Maybe they want to write a test case that handles a 4-digit dollar amount, which makes leading 0’s not OK. So it comes down to: Faker::Number.number(digits: 4) is much easier to understand than Integer(FFaker.numerify("#{rand(1..9)}###")) (IMHO).
If FFaker doesn’t want to support this then we can easily extend it.

Please let me know if you’d like to move the conversation there. Happy to do so  It’s hard to tell if repos prefer that or not. It’s trending there it seems.

I see such button, but the issue still will be here, so I don't think it's advisable and I almost have no problems with discussion here.

Thank you for switching from Faker explanation.

So it comes down to: Faker::Number.number(digits: 4) is much easier to understand than Integer(FFaker.numerify("#{rand(1..9)}###")) (IMHO).

I can agree, but what about rand 1_000..9_999?

If FFaker doesn’t want to support this then we can easily extend it.

Yep, and as I understood, you had question about how to do it. Did you try some approach, starting from simple module definition, and faced with some troubles? Or just looking for "the best way"?

but what about rand 1_000..9_999?

Yea, I think that'll be fine. I'll report back if have any other cases to cover.

and faced with some troubles? Or just looking for "the best way"?

I haven't tried yet, but I don't imagine any troubles. This post was more of a "looking for the best way" 😄
Thank you for being so responsive!

and faced with some troubles? Or just looking for "the best way"?

I haven't tried yet, but I don't imagine any troubles. This post was more of a "looking for the best way"
Thank you for being so responsive!

OK. Sorry for not proper response, probably, I had switched to a project with Faker instead of FFaker, and had not working for a long time recently on the last one, but I guess there is an easiest way is a good way, also you can take a look into sources (are there some autoloads), also I'm ready to help you with problems.
But we all remember that for QA's there is a better place now. 😅 I'm not too familiar with some GitHub separations, but I guess it'd be better for all of us to stick with them.

I've re-raised the discussion and moved it here: https://github.com/ffaker/ffaker/discussions/503


Check if stdout at EOF before read

fixes #321

Awesome!! Will check tomorrow or later this week and get it merged. Don’t worry about the test failing, known issue with pyfakefs - I gotta pin that back to previous release for the short term.
thanks so much for all the work on this @forrejam !!

resolves #321


Why is there a comparison with naiveSolver needed?

Why not match the solved anagram with the list of words in wordset?

There's a possibility that, if not implemented correctly, the recursive solver won't find all solutions. Hence if it finds only a subset of valid solutions, checking against the wordset will result in a proper test case for a wrong implementation. For example, given the proper solution of "hello", "hell", "he" checking a solution of "hello", "hell" against the wordset will succeed, although incomplete. Comparing it against the (complete) solution of the naive solver will reveal that it's faulty.

Maybe you could explain how the naiveSolver is supposed to work? It seems like it is building a list of words directly from the dictionary. If thats the case... wouldnt this test take hours to complete?

The naiveSolver is an extension of the idea on how to solve anagrams with
a fixed length using a dictionary. It basically works by generating a key for
every word in the dictionary by sorting its letters. For example, "solver" has
the key "elorsv", and so does "lovers". Next, you put all words with the
same key in a list (("elorsv", ["solver","lovers"]) and transform it into
a hash table. Now, whenever you want to find the anagrams for a word (e.g.
"solver"), you just sort its letters for the key again and look it up in the
hash table, where the list of words are all valid anagrams. There's another
explanation on stackoverflow.
In order to find all sub-anagrams of a word (e.g. for "solver": ["leo","rose","love", ..]) you'll need to extend the idea above a bit. Instead of just looking up the sorted word, you now generate a list of all subsequences of that word (e.g. "solver": ["s","o","so","l","sl","ol", ..]). Data.List.subsequences can do this for you, but it's a bit slow, at least for long words. You'll also need to map sort and nub that list, to weed out all common occurrences. Now you have a list of all keys for sub-anagrams.
I hope it's clearer now, if not, just ask.
Anyhow, naiveSolver is not meant to be used anyway, I just implemented it to verify my implementation of the word graph solver.

I see, thank you for the explanation.
Where is the word graph actually generated. I see the function that is supposed to do it... I'm guessing the DAWG is constructed internally somewhere?

The DAWG is generated using the fromLang function from the dawg package. I did not implement the DAWG myself. However, as far as I understood it, the dawg package makes use of vectors for representing the edges.
If you want to understand how a DAWG works, I recommend starting with the Wikipedia article on DAWGss and Tries. In the case of the anagram solver, the DAWG is interchangeable with a Trie, but more space efficient. Theoretically at least, I didn't benchmark it.

Interesting. Thanks for shedding some light on this. This may be a bit off topic as far as this repo is concerned, but I'm curious as to how one would implement a Trie in Haskell. Can you point me in the right direction? A code sample would be great.
Thanks again.

There are several packages on hackage which implement Tries:
https://hackage.haskell.org/packages/search?terms=trie
They are probably a good starting point for studying source code.
You might also want to check out literature like Okasaki's Purely Functional Data Structures. I don't know if it covers Tries, but there are several PDFs available on the web which you might want to check out before getting a copy of the book.


[REP PR REVIEW]: make cell_index config item part of CellState object

Welcome!
If you're here to request review of a PR submitted to a diego sub-component repo, you're in the right place.

Simply provide a URL to the PR you'd like us to review, submit this review request, and we'll take a look!
https://github.com/cloudfoundry/rep/pull/30

Thanks @pommi - Since there's also a PR to diego-release which refers to all the other PR's required for this feature, I'm going to close this and manage the review through that PR: https://github.com/cloudfoundry/diego-release/pull/448


Updating part-time dates

New web-dev test drive dates: Saturday, January 4, 2020 - Saturday, February 8, 2020

I will take this one if no one has started on it.

I could be wrong @LinnJS but i think that is handled through the CMS

Nevermind, that part isn't in the CMS, which explains why it doesn't get updated correctly sometimes.

@lizthrilla I can certainly add support to change this via CMS in the future.


[9.x] Add view data assertions to TestView

assertViewHas()
assertViewHasAll()
assertViewMissing()

these methods are all available on the TestResponse, but not currently TestView.  These assertions can be more helpful to test the workings of the component, and not reliant on how the data actually gets displayed on the view side of things.

If this is a test view object, is it a bit redundant to say assertViewHas instead of just assertHas?

Tiny, tiny papercut, but if this is new code, I'd love to be able to check a piece of view data is explicitly null (as you can't in the current assertions since null is the default value and ignored).

this just got deployed today, so unfortunately can't change it now.
I'm trying to think how this would work, and AFAIK in PHP you can't tell if an argument is passed, or if it's using the default value.  I feel like we'd have to separate out a separate method for checking simply if the variable is passed, and one for if the variable has a specific value.

Yeah, no worries. Just something in the rare times I've actually passed in null as view data I thought could be improved.
I've seen other languages use a constant in this case. For example, Objective-C uses a NOT_FOUND constant when searching strings. Mimicing that, there could something like a TestView::IGNORE_VALUE which is the default - allowing null to be passed in separately.

very interesting.... I feel like this could be super beneficial in numerous places on the framework.
how do you check for the constant? aren't you still comparing by value? what value do you assign the constant?

Yes, its actual value could be a bit tricky as a simple value could pose the same problem. I suppose that's the benefit of a language constant.
Nonetheless, something random would have a lower hit rate than null. For example, LARAVEL_CONSTANT_256. 😂


Allow for pair-specific instructions that are saved in the database

We should be able to support pair-specific instructions to allow for a greater variety of tests. These instructions should be saved in the database as part of the configuration.

In addition to this, condition-specific instruction as well (for MUSHRA)

This was closed by a50b2722917b1865fb7e3c61af877027bb7841d1
Now, in the configuration, you can set condition specific instructions. When the condition_data['evaluation_instructions_html'] in the configuration is not None, the front-end will update the evaluation instructions text for that condition.


Bottom tab bar on iPhoneX

node, npm, react-native, react and native-base version

node: v8.6.0
npm: 6.2.0
native-base: "^2.7.2"
react: "16.3.1"
react-native: "~0.55.2"

Expected behaviour
The tab bar on the bottom should respect the safe area on iPhoneX.
<Tabs
  tabBarPosition="bottom"
  tabBarUnderlineStyle={{ backgroundColor: 'white' }}>
  <Tab heading={ <TabHeading><Icon name="apps" /></TabHeading>}>
  </Tab>
  <Tab heading={ <TabHeading><Icon name="apps" /></TabHeading>}>
  </Tab>
  <Tab heading={ <TabHeading><Icon name="camera" /></TabHeading>}>
  </Tab>
</Tabs>

Actual behaviour
It doesn't respect the safe area constraint on iPhoneX.
Screenshot

You are working with the wrong Tabs for Footer
Check here in docs https://docs.nativebase.io/Components.html#footer-tabs-icon-headref

I am having the same issue with footer tabs. The safe area covers the footer tab text.


Duration issue when connect to a bluetooth device.

Configuration
What react-native-track-player version are you using?
=> "react-native-track-player": "^1.1.8"
Issue
When I connect my phone to a bluetooth device (a car for example). Everything works just fine but the progress bar of duration just not work as expected, it seems like there was no duration information passed to bluetooth device and it shows like  00:00 ---------------- 00:00 while a track is playing and progress bar does not fill up as well.
Code
index.js
TrackPlayer.registerPlaybackService(() => TrackPlayerService);
TrackPlayerService.js
import TrackPlayer from 'react-native-track-player';

let listenersAdded = false
const TrackPlayerService = async () => {

    if (listenersAdded) {
        return
    }

    TrackPlayer.addEventListener('remote-play', () => {
        console.log('remote-play');
        TrackPlayer.play();
    });

    TrackPlayer.addEventListener('remote-pause', () => {
        console.log('remote-pause');
        TrackPlayer.pause();
    });

    TrackPlayer.addEventListener('remote-next', () => {
        console.log('remote-next');
        TrackPlayer.skipToNext();
    });

    TrackPlayer.addEventListener('remote-previous', () => {
        console.log('remote-previous');
        TrackPlayer.skipToPrevious();
    });

    TrackPlayer.addEventListener('remote-stop', () => {
        console.log('remote-stop');
        TrackPlayer.destroy();
    });

};

export default TrackPlayerService;

componentDidMount() {

        TrackPlayer.setupPlayer().then(() => {
            this.props.setUpTrackPlayer(TrackPlayer);

            TrackPlayer.updateOptions({
                stopWithApp: true,
                capabilities: [
                    TrackPlayer.CAPABILITY_PLAY,
                    TrackPlayer.CAPABILITY_PAUSE,
                    TrackPlayer.CAPABILITY_SKIP_TO_NEXT,
                    TrackPlayer.CAPABILITY_SKIP_TO_PREVIOUS,
                    TrackPlayer.CAPABILITY_STOP
                ],
                compactCapabilities: [
                    TrackPlayer.CAPABILITY_PLAY,
                    TrackPlayer.CAPABILITY_PAUSE,
                    TrackPlayer.CAPABILITY_SKIP_TO_NEXT,
                    TrackPlayer.CAPABILITY_SKIP_TO_PREVIOUS,
                    TrackPlayer.CAPABILITY_STOP
                ]
            });

            TrackPlayer.addEventListener('playback-track-changed', (data) => {
                this.props.eventSongChangedHandler({
                    TrackId: data.nextTrack,
                    playlistData: this.props.musicPlayer.playlistData
                })
            });
        });
    }

How are you adding the track? Are you setting the duration parameter?

Android

Android


Add blog for Efficient SELinux volume relabeling (Beta)

This is a ~placeholder~ real PR.
I am not a writer, feel free to rephrase anything. I did not want to go in the detail too much, it's complicated enough already.
KEP: https://github.com/kubernetes/enhancements/tree/master/keps/sig-storage/1710-selinux-relabeling
Feature: https://github.com/kubernetes/enhancements/issues/1710

Hi @jsafrane, when you're ready, populate your placeholder PR with feature documentation and change the state of the PR from draft to ready for review. The official Docs deadline for PRs to be ready for review is tomorrow, March 21st. All docs PRs must be reviewed and ready to merge by April 4th. To mark a pull request as ready for review, navigate to the merge box and click Ready for review.
Regarding the content of your documentation, do your best to describe your feature and how to use it. If you need help structuring your documentation, ask in the #sig-docs Slack channel. For more information, please take a look at Documenting for a release to familiarize yourself with the documentation requirements for the release.

Hello, Comms Lead for the 1.27 release here. This feature blog is tracked for release, the deadline for submitting the draft is 4th of April- the sooner the better since there's still editing to be done afterwards. Any doubt, the Comms team is here to help.
Thank you!

Hello @jsafrane, we're doing a global reminder about submitting a draft for review for all opted-in feature blogs. If it's at all possible, it is very helpful for the release team to have drafts submitted for review before the hard deadline date, to better plan the release dates and avoid missing out. Thank you!

Hello, Comms Lead for v1.27 here. The publication order and date for the Feature Blog series has been https://github.com/kubernetes/sig-release/discussions/2208 and the tracking board is updated.
The publication date for this article is 18-04-2023 (April 18).
Thank you!

/hold cancel

/lgtm


proposal: trace: allow ending spans on the remote end

I want to use opencensus in the pub-sub pattern and want to see end-2-end latency over the wire.
Thus I have the producer, which uses propagate.Binary for span serialization.
And consumer which uses trace.StartSpanWithRemoteParent and propagation.FromBinary.
The producer doesn't call End on the original span.
Roughly:
Producer:
		ctx, pushSpan := trace.StartSpan(ctx, "zmq/publish_async")
		_, err = publisher.SendMessage(ob.Symbol, propagation.Binary(pushSpan.SpanContext()), buff[:n])

Consumer
				sc, ok := propagation.FromBinary(msg[1])
				if !ok {
					log.WithError(fmt.Errorf("propagation.FromBinary not ok")).Errorln("Cannot parse span from msg")
				}
				ctx, span := trace.StartSpanWithRemoteParent(context.Background(), "zmq/handleMessage", sc, trace.WithSampler(trace.AlwaysSample()))
				...
                                span.End()

However in the stackdriver I cannot see parent span encompassing the child span. Not sure how to fix this.

Yes that won't work. Census does not have a concept of shared spans between nodes.
Unfortunately we don't have a proper story for messaging spans yet either. It is being discussed though in various places.
For more detail see also:
https://github.com/census-instrumentation/opencensus-specs/issues/54
In Zipkin there is the concept of PRODUCER and CONSUMER span kinds which aid in this situation. I hope OpenCensus will also implement this logic.

Thank you the proposal @nmiculinic  and welcome to OpenCensus! Thank you @basvanbeek for the response.
@nmiculinic, personally I don't know OpenTracing well but I can refer some of the many experts like @basvanbeek above, @rakyll @ramonza @bogdandrutu @adriancole who might have some ideas.

opentracing defines a span kind producer/consumer just like zipkin does. Main thing is that ending a stream or workflow is different than ending a span. A span is terminated where it began, even if the workflow continues in one direction. Ex in zipkin we describe the duration of message production as the time spent waiting for the message to go out.

This discussion should probably happen on opencensus-specs.

If more discussion is required then please open the issue on spec repo.


How do I customize request headers?

How do I customize request headers?

The constructor takes an HttpClient as argument, if you pass that, you can specify headers.


Release build issues with using directly in Angular

Great work on these tables. Looks really nice and clean. I've been looking at it over the weekend, and have some issues getting the angular2-data-tables.js to work. When using the generated separate JS files directly I can use it from my project.
If I, however, use the angular2-data-table.js file Angular complains about no directive annotation found on DataTable. Since it works correctly from the separate .js files (I just copied the dist directory to my own project), I assume something is mangled by jspm.
So for now, I'll continue with the individual js files, but would love to see this also working from your release/npm directly.

Thanks, appreciate the feedback! It is still very much in progress so excuse some of it. Side note: how'd you find the project?
Interesting, I'm using it in all the demos and on my project with the one file. That looks like an issue with not included reflect-metadata sooner. Try tinkering with that and let me know.

Hmm.. I'll have another go when time permits. I found the project by just searching (I guess on npm) for a datatable compatible with angular2, before I started writing my own one, or wrap an existing one,


panic when including stddef.h

Hi @elliotchance,
I know you've taken a pause from the project. So just wanted to say that I very much appreciate the time you've put in thus far! It's quite impressive what c2go is already capable of.
Consider this an issue for "the future", if you ever feel like getting back into coding on the project, or if someone else picks up the torch.
The following example code generates a panic when running c2go transpile a.c:
Contents of a.c:
#include <stddef.h>

int f() {
	return 42;
}

(The important line is the stddef.h, I just included the function f to have some output to verify that "something happened" during the transpilation).
And the corresponding panic is as follows (on rev 4de3ec97b368135e371d3b0667f6345a9267f43c):
panic: unknown node type: 'ConstantExpr 0x562cf36b7190 <col:34, col:55> 'unsigned long''

goroutine 26 [running]:
github.com/elliotchance/c2go/ast.Parse(0xc00018e6b7, 0x3c, 0x6afb99, 0x5)
	/home/u/goget/src/github.com/elliotchance/c2go/ast/ast.go:272 +0x32e7
main.convertLinesToNodes(0xc0000d6630, 0xa, 0x14, 0x0, 0x0, 0x0)
	/home/u/goget/src/github.com/elliotchance/c2go/main.go:89 +0x1a6
main.convertLinesToNodesParallel.func1.1(0xc0000a2240, 0xc000096168, 0xc0000d6630, 0xa, 0x14, 0x0)
	/home/u/goget/src/github.com/elliotchance/c2go/main.go:113 +0x53
created by main.convertLinesToNodesParallel.func1
	/home/u/goget/src/github.com/elliotchance/c2go/main.go:111 +0x12a

This is on Clang 9.0:
u@x220 ~> clang -v
clang version 9.0.1
Target: x86_64-pc-linux-gnu

The header file stddef.h (included from a.c) includes __stddef_max_align_t.h (which is part of Clang), the contents of which is as follows:
/*===---- __stddef_max_align_t.h - Definition of max_align_t for modules ---===
 *
 * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
 * See https://llvm.org/LICENSE.txt for license information.
 * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
 *
 *===-----------------------------------------------------------------------===
 */

#ifndef __CLANG_MAX_ALIGN_T_DEFINED
#define __CLANG_MAX_ALIGN_T_DEFINED

#if defined(_MSC_VER)
typedef double max_align_t;
#elif defined(__APPLE__)
typedef long double max_align_t;
#else
// Define 'max_align_t' to match the GCC definition.
typedef struct {
  long long __clang_max_align_nonce1
      __attribute__((__aligned__(__alignof__(long long))));
  long double __clang_max_align_nonce2
      __attribute__((__aligned__(__alignof__(long double))));
} max_align_t;
#endif

#endif

Wish you all the best and a happy spring to come!
Cheers,
Robin

This issue is resolved with PR #830.
For reference, this is what the c2go output now looks like for a.c above.
/*
	Package main - transpiled by c2go version: v0.25.9 Dubnium 2018-12-30

	If you have found any issues, please raise an issue at:
	https://github.com/elliotchance/c2go/
*/

package main

type ptrdiff_t int32
type size_t uint32
type wchar_t int32
type max_align_t struct {
	__clang_max_align_nonce1 int64
	__clang_max_align_nonce2 float64
}

// f - transpiled function from  /home/u/Desktop/ccc/a/a.c:3
func f() int32 {
	return int32(42)
}
func init() {
}


Fix Snyk failing due to repeated subdependencies (closes #160)

Coverage remained the same at 22.819% when pulling 30c58813eb825660c40e3a3b6d27f2cff1ba3244 on issue/snyk into f56f1f207b7aa8e982408865ef4291dcf3e29992 on master.


Add test for zip

Update linter config to remove warnings as project is on Go 1.19 (copyloopvar, intrange), and disable linter that forces tests to be in a separate package (testpackage)
PS: sorry for not following on my previous PR. :-(

I like it. Stare at it until you're happy with it. :)


Question about component naming convention

Hi, first off thanks for the generator, it really helps with getting a project started quickly. I just have a quick question about the naming scheme used for components when using the component generator. Components generated by this always have a 'Component' suffix appended to them, this seems odd and unnecessary to me for a couple of reasons:

I've not seen this convention in any other React project or library, components are normally just given the name of what they are e.g. react-bootstrap's progress bar is just called ProgressBar;
it's always obvious anyway which classes are components without this, as these are the camel-cased classes imported from files with camel-cased names within the components directory;
if someone does want their components to be named in this way they could always add 'component' to the name when calling the generator anyway.

Anyway, this doesn't actually effect anything and is easily changeable, but just something I was wondering about the reasoning of, thanks.

Hello @BobWhitelock,
the component suffix seems to be redundant indeed. It was there before version 2.0 was created, so we left it unchanged when rewriting the generator. There are some plans for a version 4.0. The removal of the suffix will also be included then. Hope this helps.


Syntax highlighting of python 2 notebooks not working on readthedocs

I'm not sure if this is the appropriate place for this, so feel free to close if it's not.
On readthedocs, I don't get syntax highlighting (conf file): http://cobrapy-test.readthedocs.org/en/latest/getting_started.html#Reactions

However, I do get syntax highlighting when I make the docs locally

I'm not sure what's the problem, because it works fine on the nbsphinx pages: http://nbsphinx.readthedocs.org/en/latest/code-cells.html.
You could try to add Pygments as a dependency to your requirements.txt.
Or probably it's just enough to "wipe" your build on RTD and re-build it again?

I figured it out. For some reason this bug affects notebooks run in python 2. The notebook needs to have "pygments_lexer": "ipython3" instead of ```ipython2````
I am changing the issue title to reflect this.

Thanks for the update, I'm glad that it works now for you.
But I still don't know what the actual problem was ...
In your original example you are already using Python 3, but according to your screenshots this didn't work!
So why would it work now?
Did you happen to change the setting for the Python interpreter (2.x vs. 3.x) in the "Advanced Settings" on RTD (see point 4 here)?
Did you use or are you using 'IPython.sphinxext.ipython_console_highlighting' in extensions in your conf.py (see #24)?

I had the same issue as OP, syntax highlighting inside notebook cells OK on a local build, but not on RTFD. I fixed it by following the instructions in @mgeier's link, mainly adding IPython.sphinxext.ipython_console_highlighting to my extensions in conf.py (I also had to add ipython to requirements.txt).
I guess its unclear to me from the link if I'm supposed to have had to do this, but at least I can say that it worked.
Repo in question, if its useful to anyone: http://cosmoslik.readthedocs.io/

I think it should not be necessary to explicitly specify IPython.sphinxext.ipython_console_highlighting.
If everything works as intended, the lexer should be registered automagically when installing the IPython package.
@marius311 Probably just adding ipython to requirements.txt is enough?

Just checked and you're right, just ipython did it. Thanks.

Thanks for confirming that! I've added some documentation about it: http://nbsphinx.readthedocs.io/en/latest/usage.html#Syntax-Highlighting

See https://github.com/ContinuumIO/anaconda-issues/issues/1430


Bump a few dependencies

Closes https://github.com/FuelLabs/sway/issues/2895
Closes https://github.com/FuelLabs/sway/issues/2659
Not bumping everything here just yet. Bumping sway-core separately does not have side effects. Bumping versions in forc-pkg and forc-plugins is a bit more complicated because a new version of fuel-core is needed I believe.
Also bumping fuels in places outside the sdk tests

Do we bump fuel-vm for sway/test here too?
: rg fuel-vm
sway/test/Cargo.toml
18:fuel-vm = { version = "0.15", features = ["random"] }

sway/test/src/sdk-harness/Cargo.toml
13:fuel-vm = "0.15"

We may have to wait for a new version of fuel-core to do this because the tests directory relies on forc-run which relies on fuels and fuels-core. I tried various combinations but somehow always ended up needing a new version of fuel-core. Anyways, I think that's coming soon.


AudioEffectEQ is less customizable than its subclasses

Godot version:
3.1-stable
OS/device including version:
Windows 10, on a Surface Pro 4
Issue description:
While I was attempting to use AudioEffectEQ to create my own custom equalizer, I found that it contains no more functionality or customizability than AudioEffectEQ6. For example, I am unable to set the band count (even with set_band_gain_db() with a higher band index than 5) without using one of the subclasses, and even then I am limited to 21 bands (even though searching through the relevant code reveals that there are presets for up to 31 bands).
AudioEffectEQ purports in its documentation that it can be used to create a custom equalizer when one of its subclasses aren't suitable -- thus, I would expect to have more control over AudioEffectEQ than I would any of its subclasses, rather than the same or even less amount of control.
I am unsure if this is a unintended consequence of how AudioEffectEQ is coded, or if it's a documentation issue. Regardless, I have little control over it in comparison to its subclasses, and that seems like a definite issue.
Steps to reproduce:
N/A
Minimal reproduction project:
N/A

Closing in favor of https://github.com/godotengine/godot-proposals/issues/935, as feature proposals are now tracked on the Godot proposals repository.


terminal/command: add optional linespec argument to clearall

If an optional linespec argument is passed to clearall command then only
breakpoints matching this linespec will be cleared.
Behavior of clearall command without arguments hasn't changed.

Merged, thanks!


Package changes for Adoptium Temurin binaries (add temurin17) 🧪

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

[x] Does your manifest conform to the 1.0 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Related to #28737
Microsoft Reviewers: Open in CodeFlow

https://github.com/microsoft/winget-pkgs/pull/28744#issuecomment-927313703


Sort alphabetically the module names

Sometimes defined order of loaded modules is important e.g. merging configuration, so toolbar should keep list as is.

They should be sorted in the loading order for reasons explained by @snapshotpl


Restructuring Model folder

Following discussion on Slack and on issue #60
We come to a structure as follows
so we can have a structure something like this
-> backbones (use torchvision + custom)
-> layers (for some layers that you would use in the backbone)
-> models
-----> model_name_folder (e.g. fasterrcnn)
----------> model.py (take help of backbones here)
----------> dataloader.py (with minor edits for every mode)
model.py includes train_step, validation_step, test_step.
And train.py (code for training and inference from the model) Would be in the examples folder.
Inheriting from rcnn to faster rcnn is extra inter code coupling which we might avoid.
Let's have seperate structures for rcnn, fast rcnn and faster rcnn. It would make debugging easier as well.
Also, I will raise a PR for contributing.MD and FAQs.MD (will check how to make .rst)

Could you explain what do you have in mind to be inside dataloader.py? Currently a dataloader is something as short as:
    def dataloader(cls, dataset, **kwargs) -> DataLoader:
        def collate_fn(data):
            ts = [cls.build_training_sample(**o) for o in data]
            return list(zip(*ts))

        return DataLoader(dataset=dataset, collate_fn=collate_fn, **kwargs)

I think it makes much more sense to have this as an method of the class than unnecessary splitting in another file

Also, as we discussed in slack, I still think FasterRCNN and MaskRCNN should inherit from a common parent class that implements training_step and validation_step, these methods are exactly the same for both models.
If you take a look on how torchvision implemented it, they have MaskRCNN that inherits from FasterRCNN that inherits from GeneralizedRCNN, I think we should draw inspiration from this.
I'm not saying to follow the exact same structure, I'm just saying we need a common RCNN parent

Dataloader can be method of the file, I think no need of different of file.
But the inheriting from RCNN is something possible only in RCNN style models, would it be possible for SSD, YOLO etc ? It would lead to an inconsistent API.
This multiple inheritance makes it a bit hard to customize I felt.

But the inheriting from RCNN is something possible only in RCNN style models

That's exactly right! I believe this actually makes the code very clear instead of confusing, it wouldn't make sense to do YOLO(RCNNModule), YOLO is not an RCNN extension!! hahaha
For making it even clearer, maybe we can have the folder structure like so
-> model
----> model_family (rcnn)
--------> rcnn.py
--------> mask_rcnn.py
--------> faster_rcnn.py

Which is what I tried to do, but didn't had time to do it properly so it became a mess 😅

Yeah this sounds better. It would mean we could have YOLO_family with v1, v2, v3, v4 (now) etc.
Also last poin what is mantis_module.py file ? It's inheriting class with some imports.
Do we really need it?

It would mean we could have YOLO_family with v1, v2, v3, v4 (now) etc.

That's it! Although we should call the folder simply YOLO

Do we really need it?

What it's currently doing is injecting some dependencies like ParameterSplitsMixin, which helps in fine-tuning.
I'm working to integrate that directly in lightning thought, once it gets implemented there we can remove it from here

It also serves for defining a common interface for all our models. Currently we only have dataloader there, but I see other things in the future like predict

predict may be model specific so as of now let it be there. You might remove it as you said once it is in lightning directly.

predict may be model specific so as of now let it be there.

For sure it's model specific, but the interface should be common in the base class. So in MantisModule we just define it as an @abstractmethod, makes sense?

Yes complete sense. So it's sorted now 👍 Closing for now.

Actually, we should leave it open, we close it once with make a PR implement those changes 😁

Adding backbones with #64


Actually sign payloads!

This commit hooks up the secret and our PGP signing library to the reconciler.
It also tweaks the storage backend interface a bit - we need to take two parameters instead of one:

The signed body (in byte form)
The signature itself

Since we need to store both of these.
I also added some extra debugging to the e2e tests.

/lgtm

/approve


Possibility to add load balancer for API

Hi, thanks for the great project!
I'm currently updating from v1.1.5 to v.2.0.8.

We have two k3s clusters on Hetzner and on one of these there is an ArgoCD that should connect to the second cluster.
If i do a argocd cluster add to add the second cluster to ArgoCD i can select the cluster from my local kubeconfig.
As of the new version there are the three master pods and not the load balancer. If i now add one of these nodes ArgoCD will always try to connect to the IP address of this node.
If this master node goes down ArgoCD is not able to connect to the cluster anymore and the HA is gone from this perspective.
Is there a possibility to add a flag that i can decide that i want an HA mode with and without a load balancer in front?
Thanks, Cheers!

I just wanted to ask the same. The documentation mentions an API loadbalancer, but none gets created. Am I supposed to manually create it, or what's the idea here?

I understand your use case. It's a valid point and I will see if I can reintroduce the load balancer as an optional setting.
There are reasons why 2.x doesn't create a load balancer:

hetzner-k3s allows you to restrict access to the Kubernetes API to specific networks, for better security. The problem is that when using a load balancer in front of the masters, this doesn't work because load balancers are not supported by Hetzner firewalls yet, so that means that security was weakened with HA clusters before. By replacing the load balancer with a multi context kubeconfig, instead, you are connecting to a master directly, so the firewall rules apply nicely.
many people asked to remove the requirement for the load balancer to save some bucks. This is a secondary reason but anyway it was requested by many.

I can make enabling the load balancer again optional for use cases like yours, perhaps with a warning that firewall rules for the API won't work when connecting to it via load balancer.

I just wanted to ask the same. The documentation mentions an API loadbalancer, but none gets created. Am I supposed to manually create it, or what's the idea here?

The load balancer should no longer be mentioned in the docs but only in the release notes for the reasons I mentioned in the other comment. Where do you see the docs mentioning that a load balancer is still created?

@vitobotta from a security perspective it's absolutely not right to not restrict traffic to the control planes which is exposed via LoadBalancer, i totally agree on that. Would be nice if Hetzner would implement this cause it's a common use case to restrict it.
In our case we have a LoadBalancer in front of the three control planes and we restrict the traffic to certain IPs. If i do not have the whitelisted IP i get a timeout. So this is working perfectly. I think the LoadBalancer of Hetzner is forwarding our IP to the control plane and then it's getting blocked on the control plane level cause of the firewall.
So my theory is:
Traffic to LoadBalancer with not whitelisted IP -> forwarding to control planes as there is no firewall rule
Traffic is getting to the Control Plane -> it's getting blocked here cause of the firewall attached to it

That's interesting. Did you enable proxy protocol on the load balancer? Otherwise I don't understand how the firewall would see the actual IP of the client instead of that of the load balancer itself. Also, normally proxy protocol support must be also enabled on the upstream. Can you clarify a  bit your configuration/setup?

The load balancer should no longer be mentioned in the docs but only in the release notes for the reasons I mentioned in the other comment. Where do you see the docs mentioning that a load balancer is still created?

I think I just read this comment in "Creating_a_cluster.md":

"this will firewall port 6443 on the nodes; it will NOT firewall the API load balancer"

I don't need an API loadbalancer to be created, I was just wondering if I missed something. Never mind. Thank you for this great tool, it's very helpful for me. 👍

The load balancer should no longer be mentioned in the docs but only in the release notes for the reasons I mentioned in the other comment. Where do you see the docs mentioning that a load balancer is still created?

I think I just read this comment in "Creating_a_cluster.md":

"this will firewall port 6443 on the nodes; it will NOT firewall the API load balancer"

I don't need an API loadbalancer to be created, I was just wondering if I missed something. Never mind. Thank you for this great tool, it's very helpful for me. 👍

Thanks, I amended that section of the document. I guess we can close this then. But do you mind clarifying if you have enabled the proxy protocol in the load balancer?

That's interesting. Did you enable proxy protocol on the load balancer? Otherwise I don't understand how the firewall would see the actual IP of the client instead of that of the load balancer itself. Also, normally proxy protocol support must be also enabled on the upstream. Can you clarify a bit your configuration/setup?

My bad, my theory is gone. We had a test cluster where i added some IP addresses for whitelisting. This test cluster had only one control plane and no load balancer. There the connection was not possible cause of the firewall on node layer. We have another more realistic cluster with three control planes and a load balancer but there i can connect from every IP.
I tested this on the wrong cluster.
Sorry for the false alert.
Would be nice of Hetzner if they implement this firewall on load balancer layer.
Do you think that you can activate the load balancer feature an version 2.x.x for people who are aware of this risk but need this for ArgoCD HA for example?
Cheers

Yeah we can keep this issue open as a reminder. I will see if I can reimplement native support in the tool but I can't promise when since I have a long list of things for the next release already.


Watching cycle (symlink) freezes Karma

it does not have to be even watched, just globbing it
we should fix this in glob (https://github.com/isaacs/node-glob/issues/86)
and also in chokidar, maybe karma can handle that through ignoreFn

Closing due to inactivity


remove /fcr:nodetypes endpoint

Resolves: https://jira.duraspace.org/browse/FCREPO-1890

Although I completely agree with this PR, we have received strong feedback not to make backwards incompatible changes without prior warning. I suggest we save this PR and add a deprecation header now.

Are you thinking that a 299 response code with a Warning header would be appropriate?

Is 299 used in the deprecated case? In any case, at least adding the "Warning" header, ala:
https://github.com/fcrepo4/fcrepo4/blob/master/fcrepo-http-api/src/main/java/org/fcrepo/http/api/FedoraLdp.java#L676

Adding a Warning header will be tracked with https://jira.duraspace.org/browse/FCREPO-1892
299 is unassigned, and I don't think it's "standard" in any sense. I will leave the response code as 200.

+1 to the plan, just wanted to add that we should emit public messages explaining that this is going away, and explaining why.