[Veeam] Block operations in restoring VMs

Description
ACS allows users to modify the target VM when restoring one VM from a backup (VMware + Veeam). This behavior can cause the restore to fail in Veeam and also generate some inconsistencies in the database. This behavior has been fixed, so operations that modify the VM cannot be applied when restoring VMs.
Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[x] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale or Bug Severity
Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[x] Minor
[ ] Trivial

Screenshots (if appropriate):
How Has This Been Tested?
It was tested in a local lab:

I created one VM, added this VM to one backup offering, and made one manual backup;
I tested restoring this backup and tried to destroy the VM during this process;
Previously, I could easily destroy the VM;
Now, the ACS does not allow me to modify the VM.

@blueorangutan package

@DaanHoogland a Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: el9 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 5591

@blueorangutan test rocky8 vmware-67u3

@DaanHoogland a Trillian-Jenkins test job (rocky8 mgmt + vmware-67u3) has been kicked to run smoke tests

Trillian test result (tid-6188)
Environment: vmware-67u3 (x2), Advanced Networking with Mgmt server r8
Total time taken: 45950 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr7238-t6188-vmware-67u3.zip
Smoke tests completed. 108 look OK, 0 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

SonarCloud Quality Gate failed.
  0 Bugs   0 Vulnerabilities   0 Security Hotspots   25 Code Smells
 47.6% Coverage  0.0% Duplication

please look at those. I know a lot of useless ones but the ones about RuntimeException and the ones about the test case seem valid concerns.

@blueorangutan package

@DaanHoogland a Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: el9 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 5803

@blueorangutan test matrix

@DaanHoogland a Trillian-Jenkins matrix job (centos7 mgmt + xenserver71, rocky8 mgmt + vmware67u3, centos7 mgmt + kvmcentos7) has been kicked to run smoke tests

Trillian test result (tid-6339)
Environment: xenserver-71 (x2), Advanced Networking with Mgmt server 7
Total time taken: 38573 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr7238-t6339-xenserver-71.zip
Smoke tests completed. 106 look OK, 2 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

test_list_vms_metrics_admin
Error
0.21
test_metrics_api.py

test_list_vms_metrics_history
Error
0.17
test_metrics_api.py

test_list_volumes_metrics_history
Error
0.17
test_metrics_api.py

test_01_deploy_vm_on_specific_host
Error
0.08
test_vm_deployment_planner.py

test_02_deploy_vm_on_specific_cluster
Error
0.06
test_vm_deployment_planner.py

test_03_deploy_vm_on_specific_pod
Error
0.09
test_vm_deployment_planner.py

test_04_deploy_vm_on_host_override_pod_and_cluster
Error
0.10
test_vm_deployment_planner.py

test_05_deploy_vm_on_cluster_override_pod
Error
0.08
test_vm_deployment_planner.py

Trillian test result (tid-6341)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 39648 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr7238-t6341-kvm-centos7.zip
Smoke tests completed. 108 look OK, 0 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

Trillian test result (tid-6343)
Environment: vmware-67u3 (x2), Advanced Networking with Mgmt server r8
Total time taken: 41741 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr7238-t6343-vmware-67u3.zip
Smoke tests completed. 100 look OK, 8 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

test_09_arping_in_cpvm
Failure
5.23
test_diagnostics.py

test_change_service_offering_for_vm_with_snapshots
Error
1.32
test_vm_snapshots.py

ContextSuite context=TestVmSnapshot>:setup
Error
10.27
test_vm_snapshots.py

ContextSuite context=TestCreateVolume>:setup
Error
0.00
test_volumes.py

ContextSuite context=TestVolumes>:setup
Error
9.05
test_volumes.py

test_01_verify_ipv6_vpc
Error
4.44
test_vpc_ipv6.py

test_01_create_redundant_VPC_2tiers_4VMs_4IPs_4PF_ACL
Error
9.93
test_vpc_redundant.py

test_02_redundant_VPC_default_routes
Error
10.27
test_vpc_redundant.py

test_03_create_redundant_VPC_1tier_2VMs_2IPs_2PF_ACL_reboot_routers
Error
10.99
test_vpc_redundant.py

test_04_rvpc_network_garbage_collector_nics
Error
8.90
test_vpc_redundant.py

test_05_rvpc_multi_tiers
Error
10.06
test_vpc_redundant.py

test_01_VPC_nics_after_destroy
Error
8.89
test_vpc_router_nics.py

test_02_VPC_default_routes
Error
6.91
test_vpc_router_nics.py

test_01_redundant_vpc_site2site_vpn
Failure
9.61
test_vpc_vpn.py

test_01_vpc_site2site_vpn_multiple_options
Failure
6.53
test_vpc_vpn.py

test_01_vpc_remote_access_vpn
Failure
5.29
test_vpc_vpn.py

test_01_vpc_site2site_vpn
Failure
5.49
test_vpc_vpn.py

test_01_cancel_host_maintenace_with_no_migration_jobs
Error
0.07
test_host_maintenance.py

test_02_cancel_host_maintenace_with_migration_jobs
Error
0.07
test_host_maintenance.py

test_03_cancel_host_maintenace_with_migration_jobs_failure
Error
0.06
test_host_maintenance.py

insanity is
@blueorangutan test matrix

@DaanHoogland a Trillian-Jenkins matrix job (centos7 mgmt + xenserver71, rocky8 mgmt + vmware67u3, centos7 mgmt + kvmcentos7) has been kicked to run smoke tests

Trillian test result (tid-6355)
Environment: xenserver-71 (x2), Advanced Networking with Mgmt server 7
Total time taken: 38419 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr7238-t6355-xenserver-71.zip
Smoke tests completed. 108 look OK, 0 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

Trillian test result (tid-6357)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 51683 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr7238-t6357-kvm-centos7.zip
Smoke tests completed. 108 look OK, 0 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

trusting testing by the user, merging


Remove deprecated createJSModules @Override

Breaking changes in React Native 0.47
facebook/react-native@ce6fb33

Appreciated for the PR!


Maybe add information about current IM module

As you can see in Lazarus forum
https://forum.lazarus.freepascal.org/index.php/topic,55424.msg412777.html#msg412777
sometimes it's needed to know the IM: this is result of
echo $GTK_IM_MODULE
echo $QT_IM_MODULE

and QT framework version.
do you think it's good to add this to Neofetch results?

This can easily be added to your neofetch config.
# inside print_info()
prin GTK_IM "$GTK_IM_MODULE"
prin QT_IM "$QT_IM_MODULE"

See: https://github.com/dylanaraps/neofetch/wiki/Customizing-Info


Feature/GitHub copilot

This is a first draft to add github copilot to Oatmeal. It is working fine, but it is very hacky to adjust the Github Copilot login flow. I am out of my means here and would appreciate some help.

A new GithubAuth struct was created to handle Github Authentication:

It checks the default ~/.config/github-copilot/hosts.json for an oauth token. If it does not exists it proceeds to ask the user to approve the device, requests the oauth token, and saves the result to the hosts.json file.
With the oauth token, it then requests a github copilot token (it is different), and saves that to the GithubAuth struct.
The GithubAuth flow is called on each request, this is not good because it is regenerating the github copilot token each time.
The request login Message shown by Author::Oatmeal does not call done: true, so the pending result will be appended to the message bubble.
It is mocking a vscode editor with the headers.

The it_gets_completion is failing due to the GithubAuth flow inside the get_completion function.
There are no extra parameters (URL, Token) to set, the url does not change and the token comes from the ~/.config/github-copilot/hosts.json file

[X] Implement trait for new backend.
[X] Update the BackendName enum with your new Backend name.
[X] Update the BackendManager to provide your new backend.
[X] Write tests
[X] Update Readme
[X] Update config

@aislasq  This is exciting! I haven't played with Copilot since beta, I'd be really happy to play with again in Oatmeal.

A new GithubAuth struct was created to handle Github Authentication:

So your biggest issue here is the fact you want to do the initial authentication from inside Oatmeal. What if you didn't? I'm imagining on first run if ~/.config/github-copilot/hosts.json does not exist, Oatmeal can provide an error message stating authethencation does not exist and to run command gh extension install github/gh-copilot && gh auth login

Fix GithubAuth flow called on each completion request. Should only be called once and use the token from then on, until expires_at

Is this a short lived token, 15 minutes? Or is it a long lived token managed by the Github CLI?

could do is to save it in the messages context with { role: "token", content: ":" }.

Let's do that! I can refactor the model to allow mutations in the future. :) Thank you very much!

Although I suspect some users will already have this token from other clients, I think we should give a clearer message that the device login is not yet implemented in Oatmeal. What do you think that should be?

Odd, so there's no token file provided anywhere for the gh command line such as the copilot extension? I don't have an active subscription at the moment to test myself (that's a job for next week!)

Although I suspect some users will already have this token from other clients, I think we should give a clearer message that the device login is not yet implemented in Oatmeal. What do you think that should be?

I agree! We for sure want to specify you must login in another form, but it's best to provide how. I'm finding it difficult to see answers when quickly searching online. Do all the other existing implementation do it themselves? I'm almost wondering if it's work adding a CLI command to create the token initially as you've already done the bulk of the work.

Odd, so there's no token file provided anywhere for the gh command line such as the copilot extension?

At least on my tests there is not. I've been looking in my computer and cannot find where is the configuration saved for gh or vscode. I also tested with copilot.lua (my daily client) and they have the auth implementation (in lua) as a command as you suggested. I've seen other examples of the authentication flow in typescript and python, though I don't have the repos on hand.
I'll try to add the auth as a command with the authentication flow I have. I'll try to use /githubcopilot-auth inside oatmeal, or oatmeal --auth githubcopilot. It depends if I can recreate the Backend as it depends on the oauth token.

I was thinking a command line call. Taking it out of the UI would probably be easiest as it gives you a bit more control to do what you need.

I'm so sorry for the super late reply. I've been really out of the loop this month.
Service works for me!
And the path will all depends if it's cross platform or not. May be worth adding it if the path on Windows for example is unknown.

So I ended up adding a couple of things.

the service flag that accepts one parameter (githubcopilot)
an optional githubcopilot-auth-file global parameter (env:OATMEAL_GITHUBCOPILOT_AUTH_FILE)  for the location of file to use for the token. It is global because it needs to read the token from there for the model.


[Tab] doesnt work with data-tab="some-dashed-thing"

Given this code

  One
  Two

One

Two

Clicking tabs have no effect. However, if I remove all the dashes from data-tab, it suddenly works:

  One
  Two

One

Two

I can't see a problem here, it is perfectly working for me. Can you reproduce the issue in jsfiddle and post it here.

@CodingFu
Please use the Gitter chatroom, the official forums or StackOverflow to ask usage questions; see the contributing guidelines for more information on what kind of posts should find themselves into the GitHub Issues board.


jira service not restarted when changing systemd file

Affected Puppet, Ruby, OS and module versions/distributions

Puppet: 5.5.19
Ruby: 2.4.9
Distribution: CentOS 7
Module version: 4.0.0

How to reproduce (e.g Puppet code you use)
Change $javahome
What are you seeing
I believe https://github.com/voxpupuli/puppet-jira/blob/master/manifests/service.pp#L41 should be notify, not before.
What behaviour did you expect instead
Change in JAVA_HOME env var should restart the service, not just refresh systemd.
Output log
--- /usr/lib/systemd/system/jira.service	2020-03-21 14:50:09.262413164 +0000
+++ /tmp/puppet-file20200421-29393-1ymoezr	2020-04-21 14:13:28.910008660 +0000
@@ -4,7 +4,7 @@

 [Service]
 Type=forking
-Environment="JAVA_HOME=/usr/java/jdk1.8.0_201-amd64/jre"
+Environment="JAVA_HOME=/usr/java/jdk8u252-b09-jre"
 PIDFile=/data/atlassian/jira/atlassian-jira-software-8.5.4-standalone/work/catalina.pid
 User=jiraadm
 ExecStart=/data/atlassian/jira/atlassian-jira-software-8.5.4-standalone/bin/start-jira.sh

Notice: /Stage[main]/Jira::Service/File[/usr/lib/systemd/system/jira.service]/content: content changed '{md5}34094cf1388a619351dceaa0d8c38c80' to '{md5}1ef056d186b6f755b24de503b2c5769d'
Info: /Stage[main]/Jira::Service/File[/usr/lib/systemd/system/jira.service]: Scheduling refresh of Exec[refresh_systemd]
Notice: /Stage[main]/Jira::Service/Exec[refresh_systemd]: Triggered 'refresh' from 1 event
Notice: Applied catalog in 5.80 seconds

Ran service jira status -l and found that the service was still running the old version of Java 8.
Any additional information you'd like to impart
Am converting from Oracle JDK to AdoptOpenJDK JRE and the JIRA service needed to be manually restarted.  I think this can be avoided with a simple metaparameter change.

I think we should use ˋˋˋcamptocamp/systemdˋˋˋ. @bastelfreak Do you agree?

Sounds good. It looks like the Confluence module is a little bit smarter, because it does not restart by default.

https://github.com/voxpupuli/puppet-confluence/commit/b0de32163502cce2109477ad344f32fc68a17486

Are you able to provide a pull request? That would be great.

Sounds good. It looks like the Confluence module is a little bit smarter, because it does not restart by default.

https://github.com/voxpupuli/puppet-confluence/commit/b0de32163502cce2109477ad344f32fc68a17486

Are you able to provide a pull request? That would be great.

I'm willing to do a PR (are several PRs?).
Upon code review, there are some organizational issues that I think would help when doing so.  My questions would be:

Inheritance is a mess.  Some classes inherit jira::params, some jira, some none.  Since that problem touches the issue I am talking about, I'd be interested in cleaning that up.  Any opposition to me doing that?
Are you open to using Hiera and ditching params.pp?  That would help with some of the above point.  I don't have to, but I do think it would be cleaner to do so.
The confluence module code for systemd uses a selector in a resource declaration, which is not best practice.  Won't be reproducing that.  That ok?

Of less interest, but will point out that I am willing to address while I working:

This module uses both staging and archive.  The former is deprecated.  Do you want me to clean that up?  I don't have to, but have been doing that in my own work and could add that in.
The jira::facts class for sure does not catch modern Puppet Enterprise installs (looking for a fact that is no longer there), which is what I use.  The non-Enterprise path is working to report facts, but since its defaulting to /usr/bin/env ruby for ruby, there is risk of odd performance if Puppet and rvm are being used on the same OS.  Do you want me to clean up?
jira::facts also uses a selector at https://github.com/voxpupuli/puppet-jira/blob/master/manifests/facts.pp#L23-L25 which is not best practice ... Do you want me to fix that too?

I'm currently on a cleanup spree, so it's pretty likely I'll do something to fix this too until I run out of steam :P Let's see.


systemd: fix build when withResolved=false and withImportd=true

Description of changes
$ nix-build -E 'with import ./. { }; systemd.override { withResolved = false; }'
...
error: builder for '/nix/store/9n5gm42jzxdq1q8x9hk0kqbi9zp02z83-systemd-252.4.drv' failed with exit code 1;
       last 10 log lines:
       > Checking for function "crypt_token_external_path" with dependency libcryptsetup: YES
       > Run-time dependency libcurl found: YES 7.87.0
       > Run-time dependency libidn2 found: YES 2.3.2
       > Run-time dependency libiptc found: YES 1.8.8
       > Run-time dependency libqrencode found: NO (tried pkgconfig and cmake)
       > Library gcrypt found: YES
       >
       > meson.build:1406:8: ERROR: C shared or static library 'gpg-error' not found
       >
       > A full log can be found at /build/source/build/meson-logs/meson-log.txt
       For full logs, run 'nix log /nix/store/9n5gm42jzxdq1q8x9hk0kqbi9zp02z83-systemd-252.4.drv'.

Ref: https://github.com/systemd/systemd-stable/blob/v252.4/meson.build#L1406
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Thanks!


keep encoded value if decoding fails.

#2376
Summary
Handles when uri decoding binary data fails.
Checklist

The basics

[x] I tested these changes manually in my local or dev environment

Tests

[x] Added or updated
[ ] N/A

Event Tracking

[ ] I added event tracking and followed the event tracking guidelines
[ ] N/A

Error Reporting

[ ] I reported errors and followed the error reporting guidelines
[ ] N/A

Screenshots
Using the following curl request:
curl -X POST -H "Content-Type: multipart/form-data" -F<EMAIL_ADDRESS>"http://<IP_ADDRESS>:4010/anything"

the behavior is as follows for the different versions of Prism:
Version 4.14.1

Version 5.3.1

Local With Fixes

This has been released in version 5.3.2.


Dropped items showing as stone

What version of ViaVersion are you using? Type /ver viaversion
tested with 0.6.4, 0.6.2, 0.4.6
What version of Spigot are you using? Type /ver
git-Spigot-e4d4710-e1ebe52 (MC: 1.8.8) (Implementing API version 1.8.8-R0.1-SNAPSHOT)
What plugins are you using? Type /plugins
ViaVersion, Protocol
Are you using any additional software like BungeeCord? If so, what software and version? (Please list your plugins as well)
No
How does this error happen? login? Using an item?
Drop any item, it will appear as stone
@Matsv stated this was working yesterday, maybe a secret 1.9 client update?
Is there an error in the console? Use pastebin.com. Is there a kick message?
No errors

#224

Whoops @Matsv


feat: add init-containers to crane

Arbitrary init containers can be defined with this for imports, seeding etc.

Codecov Report

Merging #169 (83e9238) into develop (4f99cda) will decrease coverage by 0.14%.
The diff coverage is 0.00%.

:exclamation: Current head 83e9238 differs from pull request most recent head 6056ac2. Consider uploading reports for the commit 6056ac2 to get more accurate results

@@            Coverage Diff             @@
##           develop    #169      +/-   ##
==========================================
- Coverage     7.81%   7.66%   -0.15%
==========================================
  Files           44      44
  Lines         3594    3664      +70
==========================================
  Hits           281     281
- Misses        3309    3379      +70
  Partials         4       4

Impacted Files
Coverage Δ

agent/api/v1/deploy.go
12.12% <0.00%> (-0.79%)
:arrow_down:

agent/internal/mapper/grpc.go
0.00% <0.00%> (ø)

agent/pkg/crane/k8s/deployment.go
13.35% <0.00%> (-1.48%)
:arrow_down:

agent/pkg/dagent/utils/docker.go
12.31% <0.00%> (-0.07%)
:arrow_down:

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


Appear to be a issue on my end with Videos

I just noticed this a few day ago and thought it was due to the position of my camera.  On my timelapse videos they appear to flicker.
Here is a sample of the issue I am seeing
http://n3bsq.com/allsky/videos/allsky-20211031.mp4
attached my settings
settings_ZWO.json.txt
config.sh.txt
camera_options_ZWO.json.txt
Thanks
Mike

@maserowik, all the flickering is at night when the software uses ZWO's exposure mode, so there's nothing we can currently do about it.  We may eventually use our own exposure algorithm at night as well, but I wouldn't expect that anytime soon.
A fun test would be to set "angle" to either 23.9 or -23.9 to effectively make the whole day "daytime" as far as the software is concerned. This would cause the histogram algoithm to be used all the time.  I wonder how it would handle night shots.

@maserowik, Mike, @linuxkidd pointed out my mistake saying "23.9 or -23.9.  I was thinking hours when "angle" is an angle.  Try +/- 89.9 degrees.    Note I haven't tested this myself...

@EricClaeys
Not sure what happened.  but the flickering went away.  Closing this issue.


CommandHandler to add or remove label

For lifecycle I want a command handler that takes in issue # and label and either removes or adds the provided label.
e.g. issue 1 is labelled bug and I send bug to the command handler -> that will remove the bug label. If I then send bug again, it will add the label to the issue.

@cdupuis Perhaps we can combine the AddLabelIssueFunction and RemoveLabelIssueFunction rug functions into one combined one, e.g. AddOrRemoveLabelIssue which does what you require and similarly combine the two corresponding rugs accordingly?

New rug, LabelIssue toggles the adding and removing of a label

Completed


Introduce logs in RestCsrfPreventionFilter to improve troubleshooting.

Add some logs in RestCsrfPreventionFilter that would improve troubleshooting in case of failed CSRF validation.
Note that the RequestUtil.filter method is used only to apply some basic sensitive characters filtering of the requested path.
But as this method is deprecated in v.8.5.x and removed in v.9.0.x, would you recommend an alternative method I could use in this case?

It has been 2 months and the requested changes have not been made. I made the changes and a number of other fixes and applied this manually.


Benchmark on a bigger example

We need to benchmark the supercompiler on some bigger example than those in the examples/ folder, to see which parts take most time. The usual suspects are substitution and homeomorphic embedding.
But before that, Mazeppa needs to be smart enough to emit reasonable code for all programs (see https://github.com/mazeppa-dev/mazeppa/issues/2). It makes no sense to benchmark the algorithm that needs conceptual changes.

It seems that the self-interpreter example is the best candidate for benchmarking so far. The input list length can be set to 10 or some higher value. After I'm done with a few implementation changes, I'll be posting here benchmarking data and musings about what improvements can be made.

I'm now pretty confident that homeomorphic embedding is what slows down the supercompilation process the most (unsurprisingly). Take this example:
main() := loop(5000u32, expand());

loop(i, _t) := match =(i, 0u32) {
    T() -> Done(),
    F() -> loop(-(i, 1u32), expand())
};

expand() := Combine(
    Foo(Bar(), Bar(), Bar(), Bar(), Bar(), Bar(), Bar(), Bar(), Bar(), Bar()),
    Foo(Bar(), Bar(), Bar(), Bar(), Bar(), Bar(), Bar(), Bar(), Bar(), Bar()),
    Foo(Bar(), Bar(), Bar(), Bar(), Bar(), Bar(), Bar(), Bar(), Bar(), Bar()),
    Foo(Bar(), Bar(), Bar(), Bar(), Bar(), Bar(), Bar(), Bar(), Bar(), Bar()),
    Foo(Bar(), Bar(), Bar(), Bar(), Bar(), Bar(), Bar(), Bar(), Bar(), Bar()),
    Foo(Bar(), Bar(), Bar(), Bar(), Bar(), Bar(), Bar(), Bar(), Bar(), Bar()),
    Foo(Bar(), Bar(), Bar(), Bar(), Bar(), Bar(), Bar(), Bar(), Bar(), Bar()),
    Foo(Bar(), Bar(), Bar(), Bar(), Bar(), Bar(), Bar(), Bar(), Bar(), Bar()),
    Foo(Bar(), Bar(), Bar(), Bar(), Bar(), Bar(), Bar(), Bar(), Bar(), Bar()),
    Foo(Bar(), Bar(), Bar(), Bar(), Bar(), Bar(), Bar(), Bar(), Bar(), Bar())
);

The results are:
$ time ../scripts/mazeppa.sh run

real    0m37.573s
user    0m37.530s
sys     0m0.040s

However, if I change the implementation of Homeomorphic_emb.decide to just return false:
$ time ../scripts/mazeppa.sh run

real    0m2.162s
user    0m2.115s
sys     0m0.047s

After commit https://github.com/mazeppa-dev/mazeppa/commit/8869719fb86dcd4ef90811ac8876a9519111dfe3 on the above example (0m37.573s real previously):
real    0m15.506s
user    0m15.375s
sys     0m0.130s

A self-interpreter with the following main function:
main() :=
    let input :=
        cons(Const(1i32), cons(Const(2i32), cons(Const(3i32),
        cons(Const(4i32), cons(Const(5i32), cons(Const(6i32),
        cons(Const(7i32), cons(Const(8i32), cons(Const(9i32),
        cons(Const(10i32), nil()))))))))));
    eval(Nil(), FCall("sum", Cons(input, Nil())));

Before:
real    0m7.495s
user    0m7.446s
sys     0m0.049s

After:
real    0m0.507s
user    0m0.458s
sys     0m0.049s

Benchmarking a self-interpreter with the following main function:
main() :=
    let input :=
        cons(Const(10i32), cons(Const(10i32), cons(Const(10i32),
        cons(Const(10i32), cons(Const(10i32), cons(Const(10i32),
        cons(Const(10i32), cons(Const(10i32), cons(Const(10i32),
        cons(Const(10i32), cons(Const(10i32), cons(Const(10i32),
        cons(Const(10i32), cons(Const(10i32), cons(Const(10i32),
        nil())))))))))))))));
    eval(Nil(), FCall("sum", Cons(input, Nil())));

Before commit https://github.com/mazeppa-dev/mazeppa/commit/e61c81151f5eceb733a386997b4bc27825396e0d (now using hyperfine):
Benchmark 1: ../scripts/mazeppa.sh run
  Time (mean ± σ):      8.524 s ±  0.195 s    [User: 8.469 s, System: 0.053 s]
  Range (min … max):    8.293 s …  8.861 s    10 runs

After:
Benchmark 1: ../scripts/mazeppa.sh run
  Time (mean ± σ):      2.521 s ±  0.047 s    [User: 2.449 s, System: 0.072 s]
  Range (min … max):    2.469 s …  2.615 s    10 runs

Also, it turns out that both caches, the global size cache and the local result cache, improve performance a lot. If we remove any one of them, the performance will be much worse.

Also, I should note that the above contrived example now takes around 32 seconds to supercompile (before adding the result cache, it used to take around 15 seconds). The reasons are:

Querying and extending the cache is useless because there seems to be little or no duplication of work.
Result_cache.create 128 takes time.
Passing the cache as a function parameter takes time.

However, I think that self-interpretation exhibits a more "real-life" scenario of supercompilation, which is far more important to us. Therefore, I'll keep the result cache anyway.

This is a self-interpretation memory benchmark (yes, now using generateList):
main() := sum(generateList(10i32));

--print-gc-stat gives the following data:
minor_collections:      405
major_collections:      13
compactions:            0
forced_major_collections: 1

minor_words:    102296710
promoted_words:   1392482
major_words:      1701843

top_heap_words: 1177774
heap_words:      110856
live_words:       17435
free_words:       92917
largest_free:         0
fragments:          504

live_blocks: 2937
free_blocks: 0
heap_chunks: 0

That is, Mazeppa has allocated a total of ~782.8 megabytes:

(minor_words + major_words − promoted_words)×8÷1024÷1024 = (102296710 + 1701843 − 1392482)×8÷1024÷1024 ≈ 782.8

However, only ~13.0 megabytes (1701843*8/1024/1024) have ended up in the major heap. Also, there have been about 30 more minor collections than major collections.
What this data tells us? Probably that the OCaml GC is doing its best by collecting many short-lived values while using the major heap to its minimum.

A self-interpreter with the following main function:
main() := sum(generateList(20i32));

Without Flambda (OCaml version 5.1.2):
Benchmark 1: dune exec mazeppa --release -- run
  Time (mean ± σ):     10.742 s ±  0.098 s    [User: 10.661 s, System: 0.083 s]
  Range (min … max):   10.611 s … 10.933 s    10 runs

With Flambda (OCaml version 5.2.0):
Benchmark 1: dune exec mazeppa --release -- run
  Time (mean ± σ):     10.296 s ±  0.114 s    [User: 10.201 s, System: 0.097 s]
  Range (min … max):   10.182 s … 10.510 s    10 runs

So without any fine tuning, the performance with Flambda is slightly better. It's probably worth experimenting with different Flambda options for more aggressive optimization than -O3.

The same self-interpreter invocation as in the message above:
main() := sum(generateList(20i32));

After commit https://github.com/mazeppa-dev/mazeppa/commit/11b601898bd9127c1c505e5aed1f658f07011148 (with Flambda):
Benchmark 1: dune exec mazeppa --release -- run
  Time (mean ± σ):      8.365 s ±  0.076 s    [User: 8.284 s, System: 0.084 s]
  Range (min … max):    8.300 s …  8.537 s    10 runs

With regards to memory usage, it's about 1.5x better: previously, Mazeppa allocated ~755.1 MB on the major heap; now it's ~486.3 MB. That is, both speed and performance are better.

 Memory usage is reduced by a few megabytes (~484.4 MB on the major heap compared to ~486.3 MB previously).


searchView.close() doesn't close suggestion recyclerview

it seems that if you call searchView.close() from within OnSearchItemClickListener
(directly or indirectly that is, such as calling setQuery(title, true) and call  searchView.close()  from within onQueryTextSubmit, SearchView doesn't call removeFocus() or at least not properly
what i mean by that is:
in my implementation
with(searchView){
            theme = R.style.AppTheme
            setOnQueryTextListener(
                    object : Search.OnQueryTextListener {
                        override fun onQueryTextSubmit(query: CharSequence?): Boolean {
                            presenter.onQueryTextSubmit(query.toString())
                            searchView.close()
                            // as a workaround
//                            updateSearchSuggestion(null)
                            return true
                        }

                        override fun onQueryTextChange(newText: CharSequence?) {
                            presenter.onQueryTextChange(newText.toString())
                        }
                    })

            searchAdapter.setOnSearchItemClickListener{ position, title, subtitle ->
                Timber.d("setOnSearchItemClickListener $position, $title, $subtitle")
                setQuery(title, true)
                searchView.close()
            }
            searchView.adapter = searchAdapter
        }

when clicking on an item in the suggestion list, the list doesn't close/hide, screenshot attached

however, submitting the query closes the list as expected

check out the full code:
@my github at commit f777dc6

ASAP

This looks like a bug in SearchAdapter. I will take a look on this issue ASAP.

You can call something like this  for SearchAdapter and setOnQueryTextListener
private void getData(CharSequence title) {
    SearchItem item = new SearchItem(this);
    item.setTitle(title);

    mHistoryDatabase.addItem(item);

    mSearchView.close();

    Intent intent = new Intent(BaseActivity.this, SearchActivity.class);
    startActivity(intent);
}

It works for me.


[Tabs] Missing reference for RTL keyboard navigation direction

Search keywords
RTL keyboard navigation
Related page
https://mui.com/base-ui/react-tabs/
Kind of issue
Missing information
Issue description
I found that in the Tabs API props section, there is a 'direction' prop but it says that it affects "the direction of the text" which is true but incomplete, cause it also affects keyboard navigation direction.
Also, it would be helpful if the 'direction' prop were mentioned in the main page's Accessibility > keyboard navigation section as a relevant prop to the subject like is currently doing with the 'selectionFollowsFocus' prop.
Context 🔦
I was trying to figure out how to change the keyboard navigation direction on an RTL page so that I could use the right and left arrow keys according to the reading direction.

Well, it took me some time to get to it and now I want to modify the direction's description. Does the direction have any impact on the text or is it only useful for keyboard navigation purposes?
I made some tests on stackblitz with the Tabs component and reviewed the source code and found it's only used in the useTabsList.ts file to set 'listOrientation' horizontal direction, which is used later in listReducer.ts for the arrows keys logic. As far as I can tell this has nothing to do with text direction, hasn't it?

We've standardized the approach to:

Wrap <DirectionProvider direction="rtl" /> around your app or part of an app to set RTL behavior, and
Set the HTML dir attribute in your markup accordingly, ideally <html dir="rtl">


REACT - FIX: input accept number of 2 numbers

I understand you want to limit the number of digits in the input to facilitate usability...

Yes, I would like to add a limit of two digits to the inputs.


Cannot use google.maps.Map.overlayMapTypes

I cannot use overlayMapTypes when I do something like this.
const map = new google.maps.Map(...);
map.overlayMapTypes.push(...)

overlayMapTypes is undefined

@plgagnon2 Thank you for opening this issue. 🙏
Please check out these other resources that might be applicable:

Support Console - If you have a support contract.
Discord - chat with other developers
StackOverflow - use the google-maps tag
Google Maps Platform issue trackers

This is an automated message, feel free to ignore.

@plgagnon2 Please take a moment to fill out this short survey. Thank you!
This is an automated message, feel free to ignore.

Seems like it is there, https://github.com/googlemaps/js-jest-mocks/blob/main/src/maps/maps/map.ts#L24
Please check the version you are using and if you initialized correctly. Please reopen with this additional information.

Let me know if this fixes your issue!

when will this be avail on npm?

Already is in<EMAIL_ADDRESS>(see comment by bot above)

Doesnt seem to be available here? https://www.npmjs.com/package/@googlemaps/jest-mocks

npm i -D @googlemaps/jest-mocks@latest

Weird, doesnt seem to work atm


docs: add Quick Start section in README

close #142

Proposed Changes

add Quick Start section in README

Readiness Checklist
Is the term Quick Start really appropriate? There are similar expressions like:

Getting Started
Usage
Tutorial
Simple Example/Basic Example
...

Author/Contributor

[x] If documentation is needed for this change, has that been included in this pull request
[x] run make lint and fix any issues that you have introduced
[x] run make test and ensure you have test coverage for the lines you are introducing

Reviewer

[ ] Label as either bug, documentation, enhancement, infrastructure, or breaking

This PR only involves updates to the documentation, so it won't fail any linting or tests.

Thank you for the review!!
I approved your suggestion commit, and I've also updated the PR title and the "Proposed Changes" section.


Race condition ?

I am getting the following crash in Linux and OSX
Ademars-MacBook-Pro:Debug ademar$ mono testing.exe

Unhandled Exception:
System.TypeInitializationException: The type initializer for 'NBitcoin.Network' threw an exception. ---> System.TypeInitializationException: The type initializer for 'NBitcoin.Op' threw an exception. ---> System.ArgumentException: An item with the same key has already been added.
  at System.ThrowHelper.ThrowArgumentException (ExceptionResource resource) <0x1950820 + 0x00036> in <filename unknown>:0
  at System.Collections.Generic.Dictionary`2[TKey,TValue].Insert (System.Collections.Generic.TKey key, System.Collections.Generic.TValue value, Boolean add) <0x7d6898 + 0x000f3> in <filename unknown>:0
  at System.Collections.Generic.Dictionary`2[TKey,TValue].Add (System.Collections.Generic.TKey key, System.Collections.Generic.TValue value) <0x7d6860 + 0x00027> in <filename unknown>:0
  at NBitcoin.Op..cctor () <0x70c3b0 + 0x002bb> in <filename unknown>:0
  --- End of inner exception stack trace ---
  at NBitcoin.Network.CreateGenesisBlock (UInt32 nTime, UInt32 nNonce, UInt32 nBits, Int32 nVersion, NBitcoin.Money genesisReward) <0x70bff0 + 0x0004f> in <filename unknown>:0
  at NBitcoin.Network.InitMain () <0x707018 + 0x0032f> in <filename unknown>:0
  at NBitcoin.Network..cctor () <0x6ff050 + 0x051bb> in <filename unknown>:0
  --- End of inner exception stack trace ---
  at testing.MainClass.Main (System.String[] args) <0x6feec8 + 0x0000b> in <filename unknown>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: The type initializer for 'NBitcoin.Network' threw an exception. ---> System.TypeInitializationException: The type initializer for 'NBitcoin.Op' threw an exception. ---> System.ArgumentException: An item with the same key has already been added.
  at System.ThrowHelper.ThrowArgumentException (ExceptionResource resource) <0x1950820 + 0x00036> in <filename unknown>:0
  at System.Collections.Generic.Dictionary`2[TKey,TValue].Insert (System.Collections.Generic.TKey key, System.Collections.Generic.TValue value, Boolean add) <0x7d6898 + 0x000f3> in <filename unknown>:0
  at System.Collections.Generic.Dictionary`2[TKey,TValue].Add (System.Collections.Generic.TKey key, System.Collections.Generic.TValue value) <0x7d6860 + 0x00027> in <filename unknown>:0
  at NBitcoin.Op..cctor () <0x70c3b0 + 0x002bb> in <filename unknown>:0
  --- End of inner exception stack trace ---
  at NBitcoin.Network.CreateGenesisBlock (UInt32 nTime, UInt32 nNonce, UInt32 nBits, Int32 nVersion, NBitcoin.Money genesisReward) <0x70bff0 + 0x0004f> in <filename unknown>:0
  at NBitcoin.Network.InitMain () <0x707018 + 0x0032f> in <filename unknown>:0
  at NBitcoin.Network..cctor () <0x6ff050 + 0x051bb> in <filename unknown>:0
  --- End of inner exception stack trace ---
  at testing.MainClass.Main (System.String[] args) <0x6feec8 + 0x0000b> in <filename unknown>:0

Test program
using System;
using NBitcoin;

namespace testing
{
	class MainClass
	{
		public static void Main (string[] args)
		{
			var tx = new Transaction ();
			Console.WriteLine (tx.ToString());
		}
	}
}

I couldn't reproduce this with the latest version (i cloned the repo 10 mins ago). What version are you @ademar using?
BTW, i don't think this is a race condition because the exception is thrown by a static ctor (..cctor) and because there is no concurrency.

@lontivero You are correct it is not a race condition but a different bug.
Just to confirm, are you running on Unix/Mono ? I am asking because I have found what I think is the bug which I will describe below and it seems this routine could behave differently on Windows.
My test case is crashing here https://github.com/MetacoSA/NBitcoin/blob/3dd167e367f14804a3cff2764a3662ecb3c990ad/NBitcoin/ScriptReader.cs#L303 with "An item with the same key has already been added"
The duplicated key is OpcodeType.OP_1.
The expression Enum.GetName(typeof(OpcodeType), OpcodeType.OP_1)  on mono returns  OpcodeType.OP_TRUE
Running on F# interactive:
> Enum.GetName(typeof<OpcodeType>, OpcodeType.OP_1);;

val it : string = "OP_TRUE"

I think this happens because of this definition here https://github.com/MetacoSA/NBitcoin/blob/3dd167e367f14804a3cff2764a3662ecb3c990ad/NBitcoin/Script.cs#L156
Since OP_TRUE was added earlier in the initialization routine it crashes when it goes on to add OP_1.
Perhaps the simplest fix is not adding OP_1 but I don't know if that will have consequences.

@ademar, i didn't test it on linux, i did it on windows and I think the problem is this one:
MSDN - Enum.GetName Method (Type, Object)

Remarks
If multiple enumeration members have the same underlying value, the GetName method guarantees that it will return the name of one of those enumeration members. However, it does not guarantee that it will always return the name of the same enumeration member. As a result, when multiple enumeration members have the same value, your application code should never depend on the method returning a particular member's name.

We have to change the implementation, it seems.

@ademar thanks for reporting this bug. I have tested on mac it worked fine. But I will fix it and push a new package today.

Ok I fixed on ee64cefb61cb58e09196d08cffa1899c48206455 and push a new nuget package @ademar can you update the package and check the bug is solved ?

Looks good! Thanks!

The expression Enum.GetName(typeof(OpcodeType), OpcodeType.OP_1) on mono returns OpcodeType.OP_TRUE

What version of mono are you using Ademar? I don't reproduce this problem in Mono 4.2.1.

Ademars-MacBook-Pro:~ ademar$ mono -V
Mono JIT compiler version 4.2.3 (explicit/832de4b Thu Mar  3 19:24:57 EST 2016)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
	TLS:           normal
	SIGSEGV:       altstack
	Notification:  kqueue
	Architecture:  x86
	Disabled:      none
	Misc:          softdebug
	LLVM:          yes(3.6.0svn-mono-(detached/a173357)
	GC:            sgen

@knocte are you using the right NBitcoin package ? I fixed it and released the package you might be running the fixed version.

@knocte are you using the right NBitcoin package ? I fixed it and released the package you might be running the fixed version.

I'm not interested (for now) in the fixed NBitcoin, but in the Mono bug :)

@knocte the issue was that Enum.GetName(typeof(OcpcodeType), OpcodeType.OP_TRUE) was returning OP_1 on Windows, but OP_TRUE on mono. (or the reverse). Both are not wrong, because OP_TRUE == OP_1. In the original issue, it seems that indeed Enum.GetName behavior is undefined in such case.

True that .NET may not define a true spec for this so the behaviour may be undefined, however Mono should behave as closely as possible to .NET to avoid incompatibilities. And all of incompatibilities should be reported as bugs in http://bugzilla.xamarin.com/.

Ademars-MacBook-Pro:~ ademar$ mono -V
Mono JIT compiler version 4.2.3 (explicit/832de4b Thu Mar  3 19:24:57 EST 2016)

It's really strange that you find the bug in a newer version than mine! Can you try my attempt to create a self-contained minimal testcase of the issue? It is:
https://gist.github.com/knocte/c2d64f1692ad225e1ef42dcb70943825
What does that print for you?

@knocte my dev env is in lambo right now, what this print in your version ?

@knocte my dev env is in lambo right now, what this print in your version ?

Already said that I can't reproduce the bug :) (so my version prints "OP_1", so this is either a regression or a bug that only affects the Mac.
@ademar since you're the one experiencing the bug, do you mind filing the bug yourself in http://bugzilla.xamarin.com/ please? (Adding the testcase from my gist, and adding the prefix "[regression]" to the title.)
If I find time in the weekend I may try to fix it myself.

FYI: https://bugzilla.xamarin.com/show_bug.cgi?id=41178


Push manifest images

This is an umbrella Issue for pushing fat manifest image which will be linking to all the supported architectures images.

[ ] calico/go-build
[ ] calico/felix
[ ] calico/typha
[ ] calico/calicoctl
[ ] calico/bird
[ ] calico/kube-controller
[ ] calico/gobgpd
[ ] calico/libnetwork-plugin
[ ] calico/confd
[ ] calico/cni
[ ] calico/routereflector
[ ] calico/node

Supporting PRs:
Add manifest-tool to go-build - https://github.com/projectcalico/go-build/pull/39

Is there anything left to do here? I think we can probably close this!


x86_64 apple darwin fails to build CLI on release CI

Describe the bug
Seems to be a linking error in what OS version we are targeting (10.8). we should try 10.12 as log says.
Steps To Reproduce
view for action for details
https://github.com/gamedig/rust-gamedig/actions/runs/8299893209/job/22716634008
Expected behavior
It should build without errors
Screenshots or Data
log:
error: linking with `/opt/osxcross/target/bin/x86_64-apple-darwin14-clang` failed: exit status: 1
  |
  = note: env -u IPHONEOS_DEPLOYMENT_TARGET -u TVOS_DEPLOYMENT_TARGET LC_ALL="C" PATH="/usr/local/rustup/toolchains/1.76.0-x86_64-unknown-linux-musl/lib/rustlib/x86_64-unknown-linux-musl/bin:/opt/osxcross/target/bin:/usr/local/cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" VSLANG="1033" ZERO_AR_DATE="1" "/opt/osxcross/target/bin/x86_64-apple-darwin14-clang" "-arch" "x86_64" "-m64" "/tmp/rustcR6YZvD/symbols.o" "/github/workspace/crates/cli/./target/x86_64-apple-darwin/release/deps/gamedig_cli-ce8d69e2f8f23a82.gamedig_cli.2a712326cf93e[214](https://github.com/gamedig/rust-gamedig/actions/runs/8299893209/job/22716634008#step:4:215)-cgu.0.rcgu.o" "-L" "/github/workspace/crates/cli/./target/x86_64-apple-darwin/release/deps" "-L" "/github/workspace/crates/cli/./target/release/deps" "-L" "/usr/local/rustup/toolchains/1.76.0-x86_64-unknown-linux-musl/lib/rustlib/x86_64-apple-darwin/lib" "/usr/local/rustup/toolchains/1.76.0-x86_64-unknown-linux-musl/lib/rustlib/x86_64-apple-darwin/lib/libcompiler_builtins-1ebaaaec5ccf50e8.rlib" "-framework" "CoreServices" "-framework" "CoreFoundation" "-liconv" "-lSystem" "-lc" "-lm" "-L" "/usr/local/rustup/toolchains/1.76.0-x86_64-unknown-linux-musl/lib/rustlib/x86_64-apple-darwin/lib" "-o" "/github/workspace/crates/cli/./target/x86_64-apple-darwin/release/deps/gamedig_cli-ce8d69e2f8f23a82" "-Wl,-dead_strip" "-nodefaultlibs"<EMAIL_ADDRESS>  = note: ld: warning: object file (/tmp/rustcR6YZvD/symbols.o) was built for newer macOS version (10.12) than being linked (10.8)
          ld: warning: object file (/github/workspace/crates/cli/./target/x86_64-apple-darwin/release/deps/gamedig_cli-ce8d69e2f8f23a82.gamedig_cli.2a712326cf93e214-cgu.0.rcgu.o) was built for newer macOS version (10.12) than being linked (10.8)
          ld: warning: object file (/usr/local/rustup/toolchains/1.76.0-x86_64-unknown-linux-musl/lib/rustlib/x86_64-apple-darwin/lib/libcompiler_builtins-1ebaaaec5ccf50e8.rlib(compiler_builtins-1ebaaaec5ccf50e8.compiler_builtins.c3559bca4639892-cgu.099.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.8)
          ld: warning: object file (/usr/local/rustup/toolchains/1.76.0-x86_64-unknown-linux-musl/lib/rustlib/x86_64-apple-darwin/lib/libcompiler_builtins-1ebaaaec5ccf50e8.rlib(compiler_builtins-1ebaaaec5ccf50e8.compiler_builtins.c3559bca4639892-cgu.007.rcgu.o)) was built for newer macOS version (10.12) than being linked (10.8)
          Undefined symbols for architecture x86_64:
            "_clock_gettime", referenced from:
                std::sys::unix::time::Timespec::now::h0ebd2e38935918ca in gamedig_cli-ce8d69e2f8f23a82.gamedig_cli.2a712326cf93e214-cgu.0.rcgu.o
            "_getentropy", referenced from:
                bson::document::Document::new::h8c46fad22ee1e139 in gamedig_cli-ce8d69e2f8f23a82.gamedig_cli.2a712326cf93e214-cgu.0.rcgu.o
                std::sys::unix::rand::hashmap_random_keys::ha92d0a2687c22b7a in gamedig_cli-ce8d69e2f8f23a82.gamedig_cli.2a712326cf93e214-cgu.0.rcgu.o
          ld: symbol(s) not found for architecture x86_64
          clang: error: linker command failed with exit code 1 (use -v to see invocation)

error: could not compile `gamedig-cli` (bin "gamedig-cli") due to 1 previous error
Error: Command exited with non-zero exit code
Error: Build failed

Additional context
N/A

Probably caused by ci https://github.com/rust-build/rust-build.action/issues/88


ppwater: Watch 666543817

ppwater requests the watch of the watch_number 666543817. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

Approved by Spevacus in Charcoal HQ

Approved by Spevacus in Charcoal HQ


api: Ability to set default step for queries.

Default step does not make much sense if the scrape interval is common (e.g 15s). Getting too low makes things extremely slow for no good reason.
Flag on querier might be a good idea.

Will pick up this issue @bwplotka

I see Thanos Query got two possible ways to customise the downsample / resolution for queries:

specify 'step' duration along with enabling 'enableAutodownsampling' to calculate 'max_source_resolution'
explicitly specify 'max_source_resolution'

I am trying to understand the purpose of two options to arrive at seemingly a single outcome: Query time downsampling.
Is there an advantage of choosing one option over another?

Sorry for not answering @spaparaju but I am quite confused why we speak about downsampling here.
Looks like https://github.com/thanos-io/thanos/pull/3740 did most of the work, so let's see if we can merge this 🤗

Sorry for not answering @spaparaju but I am quite confused why we speak about downsampling here.
Looks like https://github.com/thanos-io/thanos/pull/3740 did most of the work, so let's see if we can merge this 🤗


Animated Container in PageView Doesn't Animate When Skipped To Page 3-4  Upon Launch Of The App

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

class IndexTemp extends StatefulWidget {
  @override
  IndexTempState createState() => IndexTempState();
}

class IndexTempState extends State<IndexTemp> {
  PageController _controller =
      PageController(initialPage: 0, keepPage: true, viewportFraction: 0.98);

  int currentPage = 0;

  @override
  void initState() {
    // TODO: implement initState
    super.initState();
    _controller.addListener(() {
      int next = _controller.page.round();
      if (currentPage != next) {
        setState(() {
          currentPage = next;
        });
      }
    });
  }

  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    return Scaffold(
      backgroundColor: Colors.indigo,
      appBar: AppBar(
        backgroundColor: Colors.indigo,
        title: Icon(
          Icons.star,
          color: Colors.yellow,
        ),
        actions: <Widget>[
          FlatButton(
            color: Colors.pink,
            child: Text(
              'Home',
              style: TextStyle(color: Colors.yellow),
            ),
            onPressed: () {
              _controller.jumpToPage(0);

            },
          ),
          FlatButton(
              onPressed: () {
                _controller.jumpToPage(1);

              },
              child: Text('About')),
          FlatButton(
              onPressed: () {
                _controller.jumpToPage(2);

              },
              child: Text('Solutions')),
          FlatButton(
              onPressed: () {

                _controller.jumpToPage(3);

              },
              child: Text('Why')),
        ],
      ),
      body: Padding(
        padding: const EdgeInsets.all(16.0),
        child: PageView(
          controller: _controller,
          scrollDirection: Axis.vertical,
          children: <Widget>[
            //page 1
            _buildHome(),
            _buildAboutUs(),
            _buildSolutions(),
            _buildWhyChooseUs()
          ],
        ),
      ),
    );
  }

  Widget _buildHome() {
    bool active = currentPage == 0 ? true : false;
    print('home active $active');
    double margin = active ? 40.0 : 120;
    var color = active ? Colors.indigo : Colors.red;

    return AnimatedContainer(
      duration: const Duration(seconds: 3),
      margin: EdgeInsets.fromLTRB(margin, 16.0, margin, 16.0),
      curve: Curves.easeIn,
      decoration: BoxDecoration(color: color),
      child: Center(
        child: Text('Home'),
      ),
    );
  }

  //this is about us page
  Widget _buildAboutUs() {
    bool active = currentPage == 1 ? true : false;
    print('about us active $active');
    double margin = active ? 40.0 : 120;
    var color = active ? Colors.indigo : Colors.red;

    return AnimatedContainer(
      duration: const Duration(seconds: 3),
      margin: EdgeInsets.fromLTRB(margin, 16.0, margin, 16.0),
      curve: Curves.easeIn,
      decoration: BoxDecoration(color: color),
      child: Center(
        child: Text('about us'),
      ),
    );
  }

  //this is solutions page
  Widget _buildSolutions() {
    bool active = currentPage == 2 ? true : false;
    print('solutions active $active');

    double margin = active ? 40.0 : 120;
    var color = active ? Colors.indigo : Colors.red;

    return AnimatedContainer(
      duration: const Duration(seconds: 3),
      margin: EdgeInsets.fromLTRB(margin, 16.0, margin, 16.0),
      curve: Curves.easeIn,
      decoration: BoxDecoration(color: color),
      child: Center(
        child: Text('solutions'),
      ),
    );
  }

  //this is why choose us page
  Widget _buildWhyChooseUs() {
    bool active = currentPage == 3 ? true : false;
    print('why choose us active $active');

    double margin = active ? 40.0 : 120;
    var color = active ? Colors.indigo : Colors.red;

    return AnimatedContainer(
      duration: const Duration(seconds: 3),
      margin: EdgeInsets.fromLTRB(margin, 16.0, margin, 16.0),
      curve: Curves.easeIn,
      decoration: BoxDecoration(color: color),
      child: Center(
        child: Text('why choose us'),
      ),
    );
  }
}

I want every new child of the pageview children to animated
there is no error. but the output is not as expected. when I go to immediate next or previous child, then they are animating. But if I jump to child 1-3 or 3-1, then they are not animating
vrajkishore@Vrajs-MacBook-Pro si-static-web % flutter run --verbose
[  +21 ms] executing: [/Users/vrajkishore/Desktop/my dev/flutter-ios/flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[  +29 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[   +1 ms] fabeb2a16f1d008ab8230f450c49141d35669798
[        ] executing: [/Users/vrajkishore/Desktop/my dev/flutter-ios/flutter/] git describe --match v*.*.* --first-parent --long --tags
[  +11 ms] Exit code 0 from: git describe --match v*.*.* --first-parent --long --tags
[        ] v1.14.6-0-gfabeb2a16
[   +6 ms] executing: [/Users/vrajkishore/Desktop/my dev/flutter-ios/flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[   +9 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] origin/beta
[        ] executing: [/Users/vrajkishore/Desktop/my dev/flutter-ios/flutter/] git ls-remote --get-url origin
[  +12 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] https://github.com/flutter/flutter.git
[  +50 ms] executing: [/Users/vrajkishore/Desktop/my dev/flutter-ios/flutter/] git rev-parse --abbrev-ref HEAD
[   +9 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] beta
[   +4 ms] executing: sw_vers -productName
[  +13 ms] Exit code 0 from: sw_vers -productName
[        ] Mac OS X
[        ] executing: sw_vers -productVersion
[  +12 ms] Exit code 0 from: sw_vers -productVersion
[        ] 10.15.3
[        ] executing: sw_vers -buildVersion
[  +11 ms] Exit code 0 from: sw_vers -buildVersion
[        ] 19D76
[  +25 ms] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +2 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +28 ms] executing: /Users/vrajkishore/Library/Android/sdk/platform-tools/adb devices -l
[   +5 ms] Exit code 0 from: /Users/vrajkishore/Library/Android/sdk/platform-tools/adb devices -l
[        ] List of devices attached
[  +15 ms] executing: /Users/vrajkishore/Desktop/my dev/flutter-ios/flutter/bin/cache/artifacts/libimobiledevice/idevice_id -h
[  +50 ms] executing: /usr/bin/xcode-select --print-path
[   +7 ms] Exit code 0 from: /usr/bin/xcode-select --print-path
[        ] /Applications/Xcode.app/Contents/Developer
[        ] executing: /usr/bin/xcodebuild -version
[  +83 ms] Exit code 0 from: /usr/bin/xcodebuild -version
[        ] Xcode 11.3.1
           Build version 11C504
[   +3 ms] /usr/bin/xcrun simctl list --json devices
[  +86 ms] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +41 ms] More than one device connected; please specify a device with the '-d <deviceId>' flag, or use '-d all' to act on all devices.
[  +36 ms] Chrome     • chrome     • web-javascript • Google Chrome 80.0.3987.106
[        ] Web Server • web-server • web-javascript • Flutter Tools
[   +9 ms] "flutter run" took 451ms.

#0      throwToolExit (package:flutter_tools/src/base/common.dart:27:3)
#1      RunCommand.validateCommand (package:flutter_tools/src/commands/run.dart:325:7)
<asynchronous suspension>
#2      FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:619:11)
<asynchronous suspension>
#3      FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:537:33)
<asynchronous suspension>
#4      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:29)
#5      _rootRun (dart:async/zone.dart:1126:13)
#6      _CustomZone.run (dart:async/zone.dart:1023:19)
#7      _runZoned (dart:async/zone.dart:1518:10)
#8      runZoned (dart:async/zone.dart:1465:12)
#9      AppContext.run (package:flutter_tools/src/base/context.dart:149:18)
#10     FlutterCommand.run (package:flutter_tools/src/runner/flutter_command.dart:527:20)
#11     CommandRunner.runCommand (package:args/command_runner.dart:197:27)
#12     FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:338:21)
<asynchronous suspension>
#13     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:29)
#14     _rootRun (dart:async/zone.dart:1126:13)
#15     _CustomZone.run (dart:async/zone.dart:1023:19)
#16     _runZoned (dart:async/zone.dart:1518:10)
#17     runZoned (dart:async/zone.dart:1465:12)
#18     AppContext.run (package:flutter_tools/src/base/context.dart:149:18)
#19     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:288:19)
#20     CommandRunner.run.<anonymous closure> (package:args/command_runner.dart:112:25)
#21     new Future.sync (dart:async/future.dart:224:31)
#22     CommandRunner.run (package:args/command_runner.dart:112:14)
#23     FlutterCommandRunner.run (package:flutter_tools/src/runner/flutter_command_runner.dart:231:18)
#24     run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:64:22)
#25     _rootRun (dart:async/zone.dart:1126:13)
#26     _CustomZone.run (dart:async/zone.dart:1023:19)
#27     _runZoned (dart:async/zone.dart:1518:10)
#28     runZoned (dart:async/zone.dart:1502:12)
#29     run.<anonymous closure> (package:flutter_tools/runner.dart:62:18)
<asynchronous suspension>
#30     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:29)
#31     _rootRun (dart:async/zone.dart:1126:13)
#32     _CustomZone.run (dart:async/zone.dart:1023:19)
#33     _runZoned (dart:async/zone.dart:1518:10)
#34     runZoned (dart:async/zone.dart:1465:12)
#35     AppContext.run (package:flutter_tools/src/base/context.dart:149:18)
#36     runInContext (package:flutter_tools/src/context_runner.dart:64:24)
#37     run (package:flutter_tools/runner.dart:51:10)
#38     main (package:flutter_tools/executable.dart:65:9)
#39     main (file:///Users/vrajkishore/Desktop/my%20dev/flutter-ios/flutter/packages/flutter_tools/bin/flutter_tools.dart:8:3)
#40     _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:299:32)
#41     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:168:12)

vrajkishore@Vrajs-MacBook-Pro si-static-web % flutter analyze
Analyzing si-static-web...
No issues found! (ran in 1.2s)
vrajkishore@Vrajs-MacBook-Pro si-static-web % flutter doctor -v
[✓] Flutter (Channel beta, v1.14.6, on Mac OS X 10.15.3 19D76, locale en-US)
    • Flutter version 1.14.6 at /Users/vrajkishore/Desktop/my dev/flutter-ios/flutter
    • Framework revision fabeb2a16f (3 weeks ago), 2020-01-28 07:56:51 -0800
    • Engine revision c4229bfbba
    • Dart version 2.8.0 (build 2.8.0-dev.5.0 fc3af737c7)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /Users/vrajkishore/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-29, build-tools 29.0.2
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.3.1, Build version 11C504
    • CocoaPods version 1.8.4

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 3.5)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 43.0.1
    • Dart plugin version 191.8593
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)

[✓] Connected device (2 available)
    • Chrome     • chrome     • web-javascript • Google Chrome 80.0.3987.106
    • Web Server • web-server • web-javascript • Flutter Tools

• No issues found!

flutter doctor -v
[✓] Flutter (Channel stable, 1.20.4, on Mac OS X 10.15.4 19E2269, locale en-IN)
    • Flutter version 1.20.4 at /Users/dhs/documents/Fluttersdk/flutter
    • Framework revision fba99f6cf9 (11 days ago), 2020-09-14 15:32:52 -0700
    • Engine revision d1bc06f032
    • Dart version 2.9.2

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.0)
    • Android SDK at /Users/dhs/Library/Android/sdk
    • Platform android-30, build-tools 30.0.0
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.5)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.5, Build version 11E608c
    • CocoaPods version 1.9.3

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 46.0.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)

[✓] VS Code (version 1.49.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.11.0

[✓] Connected device (1 available)
    • Android SDK built for x86 (mobile) • emulator-5554 • android-x86 • Android
      10 (API 29) (emulator)

• No issues found!

The AnimatedContainer only animates when its properties change, not when it first builds.


Added 2 File reading functions

Added :  fopen for reading, fread function and file_get_contents function.

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

Closed and Reopened this PR to attempt to resolve a specific Travis build failure.

Thank you for your contribution to the page! 👍
We're happy to accept these changes, and look forward to future contributions. 🎉


Ever tested new bcrypt/node-sass modules?

As per #1 you mentioned you would test the new bcrypt and node-sass modules in this and nicistore. Any update on that?

Never mind, it was starting to be too much trouble to use the latest node. I used NVM to switch back to the 4.6.2 LTS.

Hi @Redmega ,
Thanks for your interest on the project.
Unfortunately, even though there is the ambition to update the project to latest versions of Node, Libraries, etc... that effort is still far away :/
NVM is a good solution and works well :)


Not catching spelling issues within a unit test code comment

Describe the bug
Here: https://github.com/paritytech/polkadot/pull/4318/files/c388e2b8389aa612f7d1324eb3bd9dcd96d0145f#diff-96cf9e8e82a1dd396d7879f319bb42d598f71e2ddf23237c290c7655c7bea895L1220 we have the comment:
// No backed and concluding cores, so all cores will be fileld with disputesw

Both fileld and disputesw are not valid english words.
To Reproduce
Steps to reproduce the behaviour:
TODO I will come back to this soon to see if the issue can be reproduced with a minimal example, but for now checking out commit d21e86d2212378400f3761b83e6697c8cb27505e on the polkadot repo and then running cargo spellcheck list-files (The exact command the CI runs is cargo spellcheck list-files -vvv $(git diff --diff-filter=AM --name-only $(git merge-base ${CI_COMMIT_SHA} ${CI_DEFAULT_BRANCH} -- :^bridges)))
Expected behavior
There should have been a warning for the words "fileld" and "disputesw"
Please complete the following information:

System: Debian
Obtained: cargo
Version: cargo-spellcheck 0.9.3

Additional context
This spellcheck takes place as a CI process which is configured https://github.com/paritytech/polkadot/blob/master/scripts/gitlab/spellcheck.toml. I am not sure how this works though

Did you run it with --dev so // are picked up as well?

Tbh I have not run locally at all

Alright, then I'll close this :)


Turning off Sleep Mode doesn't have effect if lights are off

Home Assistant Adaptive Lighting Issue Template
Bug Reports
If you need help with using or configuring Adaptive Lighting, please open a Q&A discussion thread here instead.
Before submitting a bug report, please follow these troubleshooting steps:
Please confirm that you have completed the following steps:

[ ] I have updated to the latest Adaptive Lighting version available in HACS.
[ ] I have reviewed the Troubleshooting Section in the README.
[ ] (If using Zigbee2MQTT) I have read the Zigbee2MQTT troubleshooting guide in the README.
[ ] I have checked the V2 Roadmap and open issues to ensure my issue isn't a duplicate.

Required information for bug reports:
Please include the following information in your issue.
Issues missing this information may not be addressed.

Debug logs captured while the issue occurred. See here for instructions on enabling debug logging:

Your Adaptive Lighting configuration:

(If using Zigbee2MQTT), provide your configuration files (remove all personal information before posting):

devices.yaml
groups.yaml
configuration.yaml ⚠; Warning REMOVE ALL of the PERSONAL INFORMATION BELOW before posting ⚠;

mqtt: server:
mqtt: user:
mqtt: password:
advanced: pan_id:
advanced: network_key:
anything in log_syslog if you use this

Brand and model number of problematic light(s)

Describe the bug and how to reproduce it:

I have an automation that turn on/off sleep mode based on time of day, but even though the state of the sleep mode switch is effectively changed, the light color and brightness is not if the light is off
P.S.: I use "prefer_rgb_color" only for sleep mode

Steps to reproduce the behavior:

Turn on sleep mode, turn on light, turn off light, turn off sleep mode, turn on light

I’m also having this issue randomly with a few lights. I had been on a much older version until recently. Removed all the AL integrations and recreated them but it’s still happening with a few lights. If I reload the integration it will adapt the color immediately but then stops until I do it again.
What logs in particular would be helpful to identify the issue?

I will close this issue for now because of the missing logs.
I will reopen it once you share them ;)

Sorry for the delay.
I'm using version 1.19.1.
I have zigbee2mqtt
home-assistant_adaptive_lighting_2023-09-05T02-59-45.203Z.log


Remove deprecated helpers.getShopperToken method

Under the covers, helpers.getShopperToken() is powered by the deprecated SCAPI /actions/login method.
The method is generally unavailable and will be disabled for the majority of customers on March 31, 2023.
Customers should instead use the SLAS helpers introduced in #356:

https://salesforcecommercecloud.github.io/commerce-sdk/modules/helpers.html#loginguestuserprivate
https://salesforcecommercecloud.github.io/commerce-sdk/modules/helpers.html#loginregistereduserb2cprivate

To reduce confusion, we should remove the method!
While we're at it, we should also update the examples in the README to focus on the private helpers, which the vast majority of folks using this SDK should use: https://github.com/SalesforceCommerceCloud/commerce-sdk#sample-code

For folks looking to transition to SLAS, big picture you'll need to:

Set permissions to configure SLAS in Account Manager.
Create a SLAS private client for use in you BFF. You can do this programmatically, using the SLAS Admin API or manually, using the SLAS Admin UI.
Update your code to call the commerce-sdk SLAS helper methods helpers.loginGuestUserPrivate and helpers.loginRegisteredUserB2Cprivate instead of helpers.getShopperToken.

To help familiarize yourself with SLAS and its concepts, checkout these docs:

https://developer.salesforce.com/docs/commerce/commerce-api/guide/authorization-for-shopper-apis.html
https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-private-client.html

A few more notes for your implementation:

Subscribe to SLAS maintenance updates here: https://status.salesforce.com/products/B2C_Commerce_Cloud
Consider using correlation IDs when making requests to SCAPI: https://developer.salesforce.com/docs/commerce/commerce-api/guide/identifying-requests-and-responses.html
Review the SLAS Rate Limits: https://developer.salesforce.com/docs/commerce/commerce-api/guide/throttle-rates.html#shopper-login-(slas)
If you’re re-using the same guest JWTs across requests, make sure you’re using multiple ones to avoid having all your requests hit a single app server: https://developer.salesforce.com/docs/commerce/commerce-api/guide/get-started.html#constraints

getShopperToken has been removed with the latest release, v3.0.0: https://github.com/SalesforceCommerceCloud/commerce-sdk/releases/tag/v3.0.0


Support deletion in SVN

I am testing publishDist in avatica. Currently, publishSvnDist fails because it is not able to delete the rc release:
# gradle publishDist -PasfTestSvnUsername=test -PasfTestSvnPassword=test -PasfTestNexusUsername=test -PasfTestNexusPassword=test -PasfTestGitSourceUsername=test -PasfTestGitSourcePassword=test -PallowUncommittedChanges -Prc=0

> Configure project :
Building Apache Calcite Avatica 1.16.0

> Task :pushReleaseTag
Pushing tag to Git remote release-origin-test: git://<IP_ADDRESS>/calcite.git
Message from release-origin-test:
  refs/tags/rel/avatica-1.16.0: UP_TO_DATE, b27df4d6ead19cabdfc2765b580e15f43c4100d7

> Task :publishSvnDist FAILED
Listing SVN folders [dev/calcite/apache-calcite-avatica-1.16.0-rc0] at http://<IP_ADDRESS>/svn/dist
Executing svnmucc. root=http://<IP_ADDRESS>/svn/dist, message=Promoting Apache Calcite Avatica avatica-1.16.0-rc0 -> rel/avatica-1.16.0 to release area, commands:
mkdir
release/calcite/apache-calcite-avatica-1.16.0
mv
dev/calcite/apache-calcite-avatica-1.16.0-rc0/apache-calcite-avatica-1.16.0-src.tar.gz
release/calcite/apache-calcite-avatica-1.16.0/apache-calcite-avatica-1.16.0-src.tar.gz
mv
dev/calcite/apache-calcite-avatica-1.16.0-rc0/apache-calcite-avatica-1.16.0-src.tar.gz.asc
release/calcite/apache-calcite-avatica-1.16.0/apache-calcite-avatica-1.16.0-src.tar.gz.asc
mv
dev/calcite/apache-calcite-avatica-1.16.0-rc0/apache-calcite-avatica-1.16.0-src.tar.gz.sha512
release/calcite/apache-calcite-avatica-1.16.0/apache-calcite-avatica-1.16.0-src.tar.gz.sha512
mv
dev/calcite/apache-calcite-avatica-1.16.0-rc0/apache-calcite-avatica-1.16.0-src.zip
release/calcite/apache-calcite-avatica-1.16.0/apache-calcite-avatica-1.16.0-src.zip
mv
dev/calcite/apache-calcite-avatica-1.16.0-rc0/apache-calcite-avatica-1.16.0-src.zip.asc
release/calcite/apache-calcite-avatica-1.16.0/apache-calcite-avatica-1.16.0-src.zip.asc
mv
dev/calcite/apache-calcite-avatica-1.16.0-rc0/apache-calcite-avatica-1.16.0-src.zip.sha512
release/calcite/apache-calcite-avatica-1.16.0/apache-calcite-avatica-1.16.0-src.zip.sha512
rm
dev/calcite/apache-calcite-avatica-1.16.0-rc0
svnmucc: E200009: Can't delete node at 'dev/calcite/apache-calcite-avatica-1.16.0-rc0'

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':publishSvnDist'.
> Process 'command 'svnmucc'' finished with non-zero exit value 1

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/5.6.4/userguide/command_line_interface.html#sec:command_line_warnings

BUILD FAILED in 985ms
2 actionable tasks: 2 executed

What is your SVN version?
I guess that is a known issue in SVN 1.9: https://issues.apache.org/jira/browse/SVN-4666

I am using 1.9.7 (r1800392), which is the default version in the gradle docker image.

I've switched to cp ...; cp...; rm workaround in https://github.com/vlsi/vlsi-release-plugins/commit/fd2130fc37bee2f701ed8616ebd3001e6ce333df


DocsArchive-<IP_ADDRESS>Auto archive content

Auto archive content from https://github.com/OPS-E2E-PPE/docs-archive-test

Docs Build status updates of commit 8d006ee:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error]

Cannot sync git repo to specified commit because branch Archive_master_2019-09-26-09-15-54 has been deleted or has been force pushed: fatal: Couldn't find remote ref Archive_master_2019-09-26-09-15-54

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Install StyleCop.Analyzers

You probably won't like many rules enabled by default.

Some rules aren't working with new C# language features. They need to be fixed in StyleCop repo first.

The mechanical changes overall look good so far, minus one question.

Functionality changes are unintentional. If there is anything beyond formatting (like the overflow/underflow one) please do leave a comment.


TypeScript 1.7.6 for Visual Studio 2015 - Release Notes

I just noticed this version as being available since January 13 2016.
Is there any documentation available regarding the changes made in this version?

https://github.com/Microsoft/TypeScript/releases
Specifically: https://github.com/Microsoft/TypeScript/releases/tag/v1.7.5
VS Typescript Exception Version numbers are always a patch number higher than the official release.

Thanks


Use different field for sortable IDs

For sortable lists you need to pass unique identifiers under the objects id field. In my application, when you add an item to the sortable list, I generate a random ID on the frontend (Date.now), and when I save it to the backend I strip off that id so the database can generate a real CUID for the id field. When I want to edit a previously save list, I pull the data from the database, and their id properties are the DB generated CUIDs, and then if you add items they're frontend generated Date.nows. When I go to save that updated list, I need to go through the array to distinguish which items ids were already in the database so I can update them, and which were just generated on the frontend so I can create a new item. This is of course pretty messy.
This could all be solved if I could just choose a different unique property to pass to the Sortable, such as key. I could then drop all keys on the backend and rely on the id to know if the item exists already or not.
I could  change my database field to something other than id, but it's be a lot easier for me to just specify a different field on the frontend for this one specific piece.
It doesn't appear that this is something possible currently? It would be great to add this as a feature.

I'm really not sure I'm following, @dnd-kit does not force your database to adhere to a particular schema or interface.

 I don't believe anywhere states that items prop is supposed to be an id list or identical objects.

same here

@Amareis Man you saved me

You can just make so: <SortableContext items={items.map(i => i.key)}> items is bad name for this prop, it should be named something like itemsIds, imho.

This was the perfect answer. Totally agree they should change the name of the prop and make that clearer in the documentation.

This post helped me a lot! <3<3
My case:  I had an array with objects  like this and the animation wasn't triggering
{
	_id: "60ded95674596800119a39ef",
	name: "some-name",
},
{
	_id: "611c440d25f23800114cfd4a",
	name: "some-name",
},
{
	_id: "60e5e5fb3097a20011bd481f",
	name: "some-name",
},

After finding this issue i understood the docs in a more comprenhensive way.
I think that items leads to confusion too. Or that it should be used with a more complex example in the  docs to make people dumb as me understand.
Something like :
  const [items, setItems] = useState([{someid: 1, name: "somename"}, {someid: 2, name: "somename2"}]);

  return (
    <DndContext>
      <SortableContext items={items.map(item) =>  item.someid }>
        {/* ... */}
      </SortableContext>
    </DndContext>
  );
}

If you don't actually care about making sure your arrays have a unique ID, this may be helpful:
https://github.com/clauderic/dnd-kit/issues/183#issuecomment-2050612127


[HOPS-509], [HOPS-510], [HOPS-511], [HOPS-512], [HOPS-513], [HOPS-514], [HOPS-515], [HOPS-516], [HOPS-517], [HOPS-518] and [HOPS-519]

Make sure there is no duplicate PR for this issue

Please check if the PR fulfills these requirements

[ ] Tests for the changes have been added and passed (for bug fixes / features)
[x] HOPS JIRA issue has been opened for this PR
[x] All commits have been squashed down to a single commit
[x] The commit message has the following format: [HOPS-XXX] message

Post a link to the associated JIRA issue
https://hopshadoop.atlassian.net/browse/HOPS-509
https://hopshadoop.atlassian.net/browse/HOPS-510
https://hopshadoop.atlassian.net/browse/HOPS-511
https://hopshadoop.atlassian.net/browse/HOPS-512
https://hopshadoop.atlassian.net/browse/HOPS-513
https://hopshadoop.atlassian.net/browse/HOPS-514
https://hopshadoop.atlassian.net/browse/HOPS-515
https://hopshadoop.atlassian.net/browse/HOPS-516
https://hopshadoop.atlassian.net/browse/HOPS-517
https://hopshadoop.atlassian.net/browse/HOPS-518
https://hopshadoop.atlassian.net/browse/HOPS-519

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)

What is the new behavior (if this is a feature change)?

Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)

Other information:

Wrong branch


Frontend improvements and aligning with the designs

Use the correct page title on "Manage learning and work progress" page (as per the designs)
Remove redundant mainClasses, these weren't having any impact on the page and aren't required
Remove the Prisoner banner and Breadcrumb components and use a Back link component on question pages (as per the designs). Added new tests to check that the Back link is present with the prisoner number (as an alternative to checking for the number in the Prisoner banner).
Populate the <title> element with the page heading and service name using the Layout template and Nunjucks variables to remove duplication
Import all the GOVUK Nunjucks macros in the layout file to reduce duplication in templates
Use a heading level 2 on the Overview screen for "Goals" rather than Inset text, as this was the incorrect usage of an Inset text component and should be a semantic heading level 2 (designs have also been updated)

JIRA: https://dsdmoj.atlassian.net/browse/RR-139

Just had a catchup with Karen, Johanna, Liora and Maheera on the topic of Breadcrumbs, Back links & Prisoner bar

Breadcrumb: Happy to go with what we've got in this PR
Back link: Happy to go with what we've got in this PR, once concerns around Back links have been checked with @nathanrussell-moj-digital
Prisoner bar: Should be included on all pages, including question pages, so changes need to be made to this PR

Probably easier to close this PR and pull out only the bits we want to keep. eg. Improvements that won't impact the UI, which require JIRA tickets to make changes for.


MINOR: Add new build target for system test libs

KAFKA-2644 adds MiniKdc for system tests and hence needs a target to collect all MiniKdc jars. At the moment, system tests run gradlew jar. Replacing that with gradlew systemTestLibs will enable kafka jars and test dependency jars to be built and copied into appropriate locations. Submitting this as a separate PR so that the new target can be added to the build scripts that run system tests before KAFKA-2644 is committed. A separate target for system test artifacts will allow dependency changes to be made in future without breaking test runs.

LGTM

Thanks for the patch. LGTM

KAFKA-2644 adds MiniKdc for system tests and hence needs a target to collect all MiniKdc jars. At the moment, system tests run gradlew jar. Replacing that with gradlew systemTestLibs will enable kafka jars and test dependency jars to be built and copied into appropriate locations. Submitting this as a separate PR so that the new target can be added to the build scripts that run system tests before KAFKA-2644 is committed. A separate target for system test artifacts will allow dependency changes to be made in future without breaking test runs.


Fix ESP32 WiFi.h missing + macAddress for arduino-esp32 v3.0.0-rc1

Tagging @brentru for review.
This closes #568

CI passing, except the C3 and original FeatherESP32 (v1)


create function to "LoadMediaFromBuffer"

I would like to propose a new feature:
Create a function to load new media from a (go) []byte.
Background:
I'm creating a stream processor that gets a lot of short videos as bytes from a message queue, reads the metadata and writes that to another queue. libvlc-go is working great for this except one thing that is currently my bottleneck: I have to write all incoming blobs to a temporary file, process them and delete the temporary file. This causes a lot of unnecessary load on the disk.

Hi @frenos. Thank you for your interest in the library. This seems like a pretty useful feature.
libVLC does not make it easy to load media from byte streams. I need to implement the libvlc_media_new_callbacks binding in order to support this and probably an abstraction over io.ReadSeeker to satisfy the callbacks libVLC requires, so it is not trivial.
However, this seems like a common use case, so it's definitely something I want to support. I'll start working on it when I get some free time. I'll let you know when this is done (most likely some time next week).

Hi @frenos. Thank you for your interest in the library. This seems like a pretty useful feature.
libVLC does not make it easy to load media from byte streams. I need to implement the libvlc_media_new_callbacks binding in order to support this and probably an abstraction over io.ReadSeeker to satisfy the callbacks libVLC requires, so it is not trivial.
However, this seems like a common use case, so it's definitely something I want to support. I'll start working on it when I get some free time. I'll let you know when this is done (most likely some time next week).

Hi @frenos. I added vlc.NewMediaFromReadSeeker and Player.LoadMediaFromReadSeeker in version 3.0.9.
You can use a bytes.Reader instance to create a ReadSeeker from your byte data.
var videoBytes []byte
media, err := vlc.NewMediaFromReadSeeker(bytes.NewReader(videoBytes))
player.SetMedia(media)

or
var videoBytes []byte
media, err := player.LoadMediaFromReadSeeker(bytes.NewReader(videoBytes))

Hi @frenos. I added vlc.NewMediaFromReadSeeker and Player.LoadMediaFromReadSeeker in version 3.0.9.
You can use a bytes.Reader instance to create a ReadSeeker from your byte data.
var videoBytes []byte
media, err := vlc.NewMediaFromReadSeeker(bytes.NewReader(videoBytes))
player.SetMedia(media)

or
var videoBytes []byte
media, err := player.LoadMediaFromReadSeeker(bytes.NewReader(videoBytes))


fix: when page is a webpage, navlink cannot nav

When a page's meta information has an "href" field, the NavLink below the page will not have navigation functionality. If the href page is the last one, the navigation link will be for the current page. I have fixed this issue, and now the links can be clicked to navigate. However, I am unsure if I have correctly used the TypeScript type definitions.

this was fixed in Nextra v3 https://nextra.site/docs/custom-theme


In the Submit Post screen, where does "Message" box come from? (9-2, 9-3)

I've been following along, just wondering where the Message box comes from. I looked at the code on Git for 'submit_post.html' and I don't see where the Message box would be.. but it shows up on the live instance .. ?
I'm really new to web dev in general, background in C and Java.

Hey @alexkchan - do you mean the alert()? It's a kind of weird built-in browser thing from the very very old days that alert() exists and fires up a little message box. It's useful at times though.
https://developer.mozilla.org/en-US/docs/Web/API/Window.alert


Support partial beta diversity calculations

Currently, the beta diversity of all pairwise combinations of sample IDs are computed. However, it would be nice to compute only a partial set in the case of combining studies (i.e., only compute the necessary distances to merge a set of samples) or if performing a block-oriented computation of the subsequent full distance matrix to avoid duplicated compute.
A possible modification to the beta_diversity API would be to allow ids to either be a iterable of str or an iterable of tuple. In the former case, all pairwise combinations would be computed. In the later case, only the distances between the described pairs would be computed. It is not clear though if and how this should impact the return.

Just want to ping on this issue as I think the potential use cases for this are increasing.
@gregcaporaso @jairideout @wasade @ebolyen which is the best way of starting a formal discussion to get this API changes into scikit-bio?

Thanks, @josenavas, for following up on this.
From looking at the code, I think I may have a solution that does not necessitate an API change:
def partial_pw(id_pairs, counts, metric, **kwargs):
    n_ids = len({a for a, b in id_pairs}.union({b for a, b in id_pairs}))
    dm = np.zeros((n_ids, n_ids), dtype=float)
    # do some fancy indexing that isn't shown here
    for u, v in id_pairs_indexed:
        dm[u, v] = metric(counts[u], counts[v], **kwargs)
    return dm

# ...then as a user/developer
pw = functools.partial(partial_pw, my_id_pairs)
ids = {a for a, b in my_id_pairs}.union({b for a, b in my_id_pairs})
partial_dm = beta_diversity('unweighted_unifrac', counts, ids=ids, validate=True, pairwise_func=pw, tree=tree, otu_ids=otu_ids)

I think this would accomplish what is necessary. So then the only addition to the public API would be a method partial_pw which is metric agnostic. There would not need to be any modification to existing APIs.
If this seems reasonable, I can issue a PR on this. I'm not too jazzed (yet) on the ID ordering, as it would be important to minimize any juggling when merging DMs in the case of a block decomposition.

@wasade, I think that would work. I guess the main question is would we want to support this through the pairwise_func, or though the beta_diversity interface directly. Note that we can add new parameters to beta_diversity, so it seems like we might be able to build this into the existing API and take some burden off the user.

Excellent point. So perhaps the following?
def beta_diversity(..., id_pairs=None, **kwargs):
    """
    ...

    Parameters
    ----------
    ...
    id_pairs : iterable of tuple, optional
        An iterable of tuples of IDs to compare (e.g., [('a', 'b'), ('a', 'c'), ...]). If specified, the set of IDs described must be a subset of `ids`. `id_pairs` is a mutually exclusive argument with `pairwise_func`.
    ...
    """
    ...
    if id_pairs is not None:
        # verify ids is set and is a subset of ids
        # verify pairwise_func is not set
        # construct pw method
    ...

Just a note, working on a PR right now so we can see what this looks like.

@gregcaporaso, ran into a wall: supporting metrics as str is not trivial as it doesn't looks like scipy exposes their lookup. UniFarc and callable should be fine, however. Curious to hear your thoughts on this. Currently circumventing this by not supporting str except for unifrac as it's implicit

HAH! The 1337 hax0r PR ftw

Out of curiosity how is this different from something like
map(metric, map(lambda a, b: (counts[a], counts[b]), id_pairs))?
Are the ID pairs always "complete" in that it produces a subset of the all-pairwise distance matrix?
If so, wouldn't the ideal solution be to allow view-based subsetting of the eventual  FeatureTable?

I don't think it is different.
The expectation, though not stated, is that the resulting distance matrix is a subset of the all-pairwise one such that reduce(add, partial_dms) == full_dm assuming all pairs were enumerated.
A view is ideal as well, but not sufficient by itself. In the case of the block decomposition method (POC here), in the absence of partial support, you end up recomputing elements of the resulting matrix a large number of times. I don't recall how it scaled but it was a huge waste.
Just as a note, in the case of UniFrac, you want both a view as well as the subset of the tree.

Thanks for the explanation @wasade, makes sense why subsetting wouldn't necessarily work in the optimized case.
Given that, what is it that a partial beta diversity returns? It is kind of a "jagged"/"incomplete" distance matrix. This would also prevent us from just adding a parameter to beta_diversity as the return type is dependant unless we changed how DistanceMatrix works.

Right now, it is returning a full distance matrix that is zero'd for all non computed pairs. That is not ideal, but easiest to drop in. For instance
I like the functional approach particularly as it circumvents the construction of what is likely a sparse matrix (which would be bad in the block decomposition method). What's missing is how to go from the resulting condensed form back to the matrix, which is I think what you're getting at.

Sorry! It's the full distance matrix then run through squareform to return the condensed form, so that it can then be fed into DistanceMatrix...

Right, it seems that something like an alternate constructor on DistanceMatrix "might" be a better way to recompose the fragments. OR we allow DistanceMatrix to exist as a fragment, which you could just add together, like your reduce example.

Although reducing would probably be just as inefficient as dealing with zeros.

I'm intrigued by the condensed form though as it should be possible to do:
condensed_partials = voodoo
DistanceMatrix(np.sum.reduce(condensed_partials), ids)

...Still have a large number of zeros, but at least it's ((m * m) - m) / 2)...

The method I did in the POC did full DMs but they were only of size len(ids). The full matrix was then reassembled from the individual blocks.
The reduction wouldn't actually work anyway as ids needs to correspond to counts, yet the reduction assumes that ids represents the full set and not just those being computed on.

I believe #1337 is good for close review. I have one open question about example documentation.
Separate from this specific issue, but just to make a note for those reading along, once #1337 is merged, I'll issue a PR for the block decomposition method for beta diversity. I'll also issue a separate PR with an optimized derivative of TreeNode.shear, which is a critical performance optimization for massive trees, UniFrac and the block decomposition method.

Fixed in #1337.


HOTT-1702: Fixes flaky spec

Jira link
https://transformuk.atlassian.net/browse/HOTT-1702
What?
I have added/removed/altered:

[x] Fixes flaky test

does this imply the fix of a flaky test, and also the "Initial build of new search indexes: include the hierarchy" ticket (which is pretty wordy :) )?


What is "translation interval time"?

I noticed setting "Translation interval(second)" anddidn't know what it means. Searched whole internet and found no single clue.

As the translation service limits frequent API calls, this option is to control the time between each translation so as to avoid triggering the limit.

Thank you for information!
FYI: Google (default, not API) still blocked me after setting longest possible translation interval (10 seconds).

Google (default, not API) is not very stable, you can switch to another translator, e.g. Google (API), if you don't have the API KEY, you can apply for it first. Using your own API KEY will be more stable.

Thanks, I have a hell trying to make google cloud account (will have to acquire new credit card just for that..). So API is not an option for me now.
I will just do like 2 languages every hour or so and maybe that will stop the blocking. And I have an improvement idea for you (but will make another issue to not make it offtopic)