feat(CubeStripRenderer): add new cubestrip renderer for performance & support EAC

Issue
#218
#220
Details

Add new renderer type : "cubestrip"
It makes available to show EAC (Equi Angular Cubemap) Format which is used on Youtube.

@younkue I'll add unit test code for this.

Coverage decreased (-3.9%) to 89.196% when pulling 230236266db676845f39944e916217d1d76a87ee on jongmoon:CubeRenderer#218 into 5c2138427fced3bf46ea76f1bda6b78ed3b8a796 on naver:master.

Manual Test List (TODO)
order test (with yawpitch rotation)

RLUDFB: Facebook, Three.js (default)
Check if it is working as default
RLUDBF: NAVER
need set tileConfig property of cubemapConfig as follows.
- [{flipHorizontal: true, rotation: 0}, {flipHorizontal: true, rotation: 0}, {flipHorizontal: true, rotation: 180}, {flipHorizontal: true, rotation: 0}, {flipHorizontal: true, rotation: 0}, {flipHorizontal: true, rotation: 0}]
BLFDRU: Youtube order

[{rotation: 0}, {rotation: 0}, {rotation: 0}, {rotation: 90}, {rotation: -90}, {rotation: 90}]

EAC Test

is Working properly when image ratio is not 3:2.

Environtment

Adopt async/await

egjs/infiniteGrid has adopted

NAVER format should be 1x6 tile config. But 1x6 is not supported on ProjectionType.CubeStrip Mode yet. 1x6 is supported  on ProjectionType.CUBEMAP Mode.

LGTM


how to set unlable data from training dataset?

Hi, I am trying to implement your code in Chinese datasets, for the function get_data, your code split label and un-lable samples by: train_unlabeled_idxs.extend(idxs[500: 500 + 5000]), but idxs comes from idxs = np.where(labels == i)[0], so I think all the idxs are lable data, why you choose unlable from idxs?  we will appreciate if you can upload some sample datasets on your experiment. thanks

Hi, the idxs = np.where(labels == i)[0] is to select data from class i. In this work, we randomly sampled data from the original training set to form the unlabeled data. And during training, model can not get access to the corresponding labels for these idxs. The example data (Yahoo!Answer) have been uploaded here (https://drive.google.com/file/d/1IoX9dp_RUHwIVA2_kJgHCWBOLHsV9V7A/view?usp=sharing)


cpprestsdk:x64-windows BUILD_FAILED

Host Environment

OS: Windows 10
Compiler: VS 2019

To Reproduce
Steps to reproduce the behavior:
vcpkg install cpprestsdk:x64-windows
Failure logs
D:\VCPKG\vcpkg-master>vcpkg install cpprestsdk:x64-windows
Computing installation plan...
warning: vcpkg appears to be in a Visual Studio prompt targeting x86 but is installing packages for x64-windows. Consider using --triplet x86-windows or --triplet x86-uwp.
The following packages will be built and installed:
    cpprestsdk[brotli,compression,core,default-features]:x64-windows
Starting package 1/1: cpprestsdk:x64-windows
Building package cpprestsdk[brotli,compression,core,default-features]:x64-windows...
-- Using cached D:/VCPKG/vcpkg-master/downloads/Microsoft-cpprestsdk-v2.10.15.tar.gz
-- Using source at D:/VCPKG/vcpkg-master/buildtrees/cpprestsdk/src/v2.10.15-28e9530e16
-- Configuring x64-windows
-- Building x64-windows-dbg
CMake Error at scripts/cmake/vcpkg_execute_build_process.cmake:136 (message):
    Command failed: "C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin/cmake.exe" --build . --config Debug --target install -- -v
    Working Directory: D:/VCPKG/vcpkg-master/buildtrees/cpprestsdk/x64-windows-dbg
    See logs for more information:
      D:\VCPKG\vcpkg-master\buildtrees\cpprestsdk\install-x64-windows-dbg-out.log

Call Stack (most recent call first):
  scripts/cmake/vcpkg_build_cmake.cmake:91 (vcpkg_execute_build_process)
  scripts/cmake/vcpkg_install_cmake.cmake:24 (vcpkg_build_cmake)
  ports/cpprestsdk/portfile.cmake:50 (vcpkg_install_cmake)
  scripts/ports.cmake:90 (include)
[install-x64-windows-dbg-out.log]

Error: Building package cpprestsdk:x64-windows failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with `.\vcpkg update`, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
  Package: cpprestsdk:x64-windows
  Vcpkg version: 2020.02.04-nohash

Logfile: (https://github.com/microsoft/vcpkg/files/4592068/install-x64-windows-dbg-out.log)
Additional context
D:\VCPKG\vcpkg-master>vcpkg list
boost-assert:x64-windows                           1.72.0           Boost assert module
boost-assert:x86-windows                           1.72.0           Boost assert module
boost-build:x64-windows                            1.72.0           Boost.Build
boost-build:x86-windows                            1.72.0           Boost.Build
boost-compatibility:x64-windows                    1.72.0           Boost compatibility module
boost-compatibility:x86-windows                    1.72.0           Boost compatibility module
boost-config:x64-windows                           1.72.0           Boost config module
boost-config:x86-windows                           1.72.0           Boost config module
boost-core:x64-windows                             1.72.0           Boost core module
boost-core:x86-windows                             1.72.0           Boost core module
boost-detail:x64-windows                           1.72.0           Boost detail module
boost-detail:x86-windows                           1.72.0           Boost detail module
boost-integer:x64-windows                          1.72.0           Boost integer module
boost-integer:x86-windows                          1.72.0           Boost integer module
boost-modular-build-helper:x64-windows             1.72.0-1
boost-modular-build-helper:x86-windows             1.72.0-1
boost-predef:x64-windows                           1.72.0           Boost predef module
boost-predef:x86-windows                           1.72.0           Boost predef module
boost-preprocessor:x64-windows                     1.72.0           Boost preprocessor module
boost-preprocessor:x86-windows                     1.72.0           Boost preprocessor module
boost-static-assert:x64-windows                    1.72.0           Boost static_assert module
boost-static-assert:x86-windows                    1.72.0           Boost static_assert module
boost-system:x64-windows                           1.72.0           Boost system module
boost-system:x86-windows                           1.72.0           Boost system module
boost-throw-exception:x64-windows                  1.72.0           Boost throw_exception module
boost-throw-exception:x86-windows                  1.72.0           Boost throw_exception module
boost-vcpkg-helpers:x64-windows                    7                a set of vcpkg-internal scripts used to modulari...
boost-vcpkg-helpers:x86-windows                    7                a set of vcpkg-internal scripts used to modulari...
boost-winapi:x64-windows                           1.72.0           Boost winapi module
boost-winapi:x86-windows                           1.72.0           Boost winapi module
brotli:x64-windows                                 1.0.7-1          a generic-purpose lossless compression algorithm...
brotli:x86-windows                                 1.0.7-1          a generic-purpose lossless compression algorithm...
cpprestsdk:x86-windows                             2.10.15-1        C++11 JSON, REST, and OAuth library The C++ REST...
cpprestsdk[brotli]:x86-windows                                      Brotli compression support
cpprestsdk[compression]:x86-windows                                 HTTP Compression support
cpprestsdk[default-features]:x86-windows                            Features installed by default
cryptopp:x64-windows                               8.2.0-1          Crypto++ is a free C++ class library of cryptogr...
cryptopp:x86-windows                               8.2.0-1          Crypto++ is a free C++ class library of cryptogr...
zlib:x64-windows                                   1.2.11-6         A compression library
zlib:x86-windows                                   1.2.11-6         A compression library

Hi @cutos Sorry for late, can you repro this issue now?

We haven't been able to repro this; if more information comes up, or this issue appears again, please reopen.


This plugin has stopped working

It was working fine this morning and went down a few hours ago. Once I have cleared by Gatsby .cache via Gatsby clean, it was unable to recreate local copies to be prefetched.

Same here using gatsby-plugin-prefetch-google-fonts (https://www.gatsbyjs.com/plugins/gatsby-plugin-prefetch-google-fonts/).
Note that gatsby-plugin-prefetch-google-fonts is using version 2.0.2: https://github.com/escaladesports/legacy-gatsby-plugin-prefetch-google-fonts/blob/master/package.json#L85

I did the same. I think Google Fonts dropped local() as per one of their recent twitter.


Allow Task.waitAll to take an empty list of tasks

This change removes a guard on the length of the list passed to Task.waitAll.
Let me know if there are any other changes needed to make this pull request acceptable.
Thanks!
Closes #130

Thanksies :)


Fix card header issues

fixes: #9 #13

@kaedroho Mind taking a look at this?

Thanks for looking into these @Adrian-Turjak, the fixes look good to me!


Fix underflow in Sift4Common

I'm running the Sift4Common distance over results of OCR, which are often quite noisy. I've found some strings in the wild which cause a panic in debug mode, because of a subtraction with underflow.
I haven't actually fixed the bug yet (hence the draft status), but I've added some failing tests for the moment. I'll keep digging to identify the root cause and a fix.

From a first look, it seems to me that the overflow occurs due to the optimization at line 100, wherein the two cursors have 1 subtracted from them in advance to account for the 1 that is added later in the loop. Because i can be 0, doing c1 += i - 1 underflows the right-hand side of the assignment.
I tried the easy fix of splitting the line into c1 += i; c1 -= 1;, but because c1 is zero, the overflow occurs anyways.
Ultimately, I think the result of the computation is the same, because the overflowed value gets 1 added to it immediately after, which overflows it back to 0. I can think of two solutions which don't require deviating significantly from the semantics of the original implementation:

Change the type of c1 and c2 to isize, and cast back to usize when indexing into s1 and s2
Wrap c1 and c2 in Wrapping, to that we suppress the panic

I'm not a fan of either, but I don't really see a better option.

Bring the fix that you see the best fit. If it passes all the tests, I'll be happy to merge. I don't remember the algorithm that well so many years later, so I'll trust your judgement.

Thank you :)


No explaination of the ProvideCodeGenerator & ProvideCodeGeneratorExtension Attributes and the new way of registering Single File Generators

It would be great if you would explain the concepts behind the ProvideCodeGeneratorExtension and ProvideCodeGenerator Attributes, as they seem to be the new way of registering Single File Generators, no more Registry hacking needed.

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

ID: ffe0e292-13f2-0d70-1759-7d750d840c3a
Version Independent ID: 1f92ed1b-94fb-092e-c604-d891fe22c8d5
Content: Registering Single File Generators - Visual Studio
Content Source: docs/extensibility/internals/registering-single-file-generators.md
Product: visual-studio-windows
GitHub Login: @gregvanl
Microsoft Alias: gregvanl

For managed, is the following still the must current solution:?
https://github.com/microsoft/VSSDK-Extensibility-Samples/tree/master/SingleFileGenerator

Thanks for submitting your feedback and we apologize for the delayed response.  Due to current resourcing and substantial extensibility changes we are currently working on that will result in significant, structural doc changes, we are closing this lower priority issue.  We will return to this issue on a later date and address it based on it's relevance after those extensive extensibility updates are made. Feel free to comment here as necessary.


OpenFeign document v3.1.3 have a error

Hi~
Openfeign document v3.1.3 version
At 1.6 Configuring CircuitBreakers With Configuration Properties

write correctly：
@FeignClient(url = "http://localhost:8080")
public interface DemoClient {

    @GetMapping("demo")
    String getDemo();
}

thanks.

already fixed and merged in #708

already fixed and merged in https://github.com/spring-cloud/spring-cloud-openfeign/pull/708

already fixed and merged in https://github.com/spring-cloud/spring-cloud-openfeign/pull/708


[Program]: Write a R program to check armstrong number

Description
Write a R program to check armstrong number
An Armstrong number is a number that is equal to the sum of cubes of its digits.
Input  : 153
Output : Armstrong Number

How to contribute

Save the solution in program/program/check-armstrong-number/check_armstrong_number.r file

assign me


Lambda support

Add Lambda Function support (#183) for lambda functions in default VPC and a user defined VPC.
'net/http' is required to download Lambda function code that is provided as a .ZIP in an s3 bucket.

Coverage increased (+0.03%) to 97.371% when pulling c3c3b4fa18eaabe7c8caed56b15348cb741f6514 on mattgartman:lambda-support into 6ae7c37be43127075042e43d33c6548094f8eef6 on dtan4:master.

Coverage increased (+0.03%) to 97.371% when pulling ed42271eafb057d774ecd623700f2f5f0109bceb on mattgartman:lambda-support into 6ae7c37be43127075042e43d33c6548094f8eef6 on dtan4:master.

It looks there is no support of function stored in S3. Please support it.

Coverage increased (+0.03%) to 97.371% when pulling 286281b117e3d7099ffecf0e781e51661fbb39a2 on mattgartman:lambda-support into 6ae7c37be43127075042e43d33c6548094f8eef6 on dtan4:master.

@dtan4  Lambda (and by extension Terraform) will allow you create a lambda function with code that is uploaded from a local file or code that is stored in an s3 bucket.  Once the function is created the code is copied to some storage mechanism that is behind lambda and no longer tied to that s3 bucket.  Creating a function from a local file or from an s3 bucket looks the same once the function is created in the console and in the SDKs.
In this PR I choose just to download the code and store it locally and output the correct terraform code.  To allow terraforming to support the s3_bucket/s3_key features of Terraform the code would have to download the Lambda code from the temporary location the SDK provides, and then move that to an S3 bucket the user has defined (via a CLI param likely).   In this case running Terraforming would actually create new resources in S3 for that lambda code.
If you think this would be a valuable use case let me know and I will add it.

I don't think terraforming should create additional objects in S3, this may just need to be a limitation of the lambda stuff.

@jlambert121 That was my thought as well.  When I first started working with lambda I originally thought that there was a direct tie between the lambda function and the specific S3 object, but it seems like when you create or update your code it just pulls it into lambda one time without leaving any reference to the S3 Object location.

@dan4 let me know if you want me to implement what I suggested to add s3 code location support.
Thanks!

@mattgartman At first, I apologize for very late reply.
S3
I just checked the behavior of uploading function from S3 and I noticed that I misunderstood the behavior. Your comment is right, so S3 location support is unnecessary (actually impossible).
Implementation
It's okay to download .zip archive by Terraforming, however, I'd rather not to do it as default.
This behavior is different from other resources. I'd like to standalize the default behavior of all commands.
How about add option, e.g. --download-zip?

I managed to find this PR and branch... I've run this locally and it helped me immensely.

👍

I also was looking for this functionality, however this branch wasn't quite working for me. So I did a quick rebase and then made a couple change to make it work over here: https://github.com/davidbegin/terraforming/tree/finishing-lambda-support
I will clean up the hasty rebase, and try and add the --download-zip option before I open a PR though. But I'm not exactly sure when I will have time to get to it.
But I thought others might be able to use it in the meantime. I have just been building the gem locally.
Thanks for making the extremely useful project @dtan4 and @mattgartman for doing all the hard stuff for Lambda support!


Support YAML as config and spec formats

Use https://www.npmjs.com/package/yaml to convert YAML files to the already-used JSON objects.

This seems fairly simple. Could I take a crack at it?

@nikomancy You're more than welcome to!


NamingStrategy in Kundera

Hi,
Is it possible to use NamingStrategy to convert camelcase attributes in @Entity class (ClientId) to lower case with underscore in data store (client_id)?
Similar to how Hibernate provides:
<property name="hibernate.ejb.naming_strategy" value="org.hibernate.cfg.ImprovedNamingStrategy" />

@srini156
NamingStrategy  to change convert names is not supported in Kundera as of now .
Chhavi

Thanks for the update @chhavigangwal. We are actively exploring and using Kundera. Let me check with our team and try to contribute back to Kundera.

@srini156
That is great !!! Can you share the use case and data store for which you are using Kundera ?
Chhavi

The use case is to audit time series data in cassandra.

@srini156
Any updates ? How is the experience with Kundera so far?
Chhavi

Experience has been great. Haven't started working yet on the naming strategy though.

@srini156
Are you using Kundera in any of your products? Will it be possible to share a brief about your product and its use?
Chhavi


add estimated center points for ATC stations

Online controllers no longer have coordinates in JSON v3. Applications such as QuteScoop depend on coordinates to display unknown stations but also to position labels on known stations.
https://github.com/vatsimnetwork/vatspy-data-project could be used for static airspace/controller information. Center points could then be calculated and injected by the proxy. Parsing and entities should be added to https://github.com/vatplanner/dataformats-vatsim-public

Apparently AfV transceivers are public API now: https://api.vatsim.dev/#operation/TransceiverData
Since every controller is supposed to provide voice service that information could also be used to calculate a controller position. There are a few downsides however:

the URL is currently only advertised through API docs, it is not listed on https://status.vatsim.net/status.json nor https://status.vatsim.net/status.txt
it would need to be fetched "together" with JSON data files and may be out of sync

VAT-Spy parsing support has been added to VATPlanner library.

Transceivers will probably not be added to the upcoming release as I don't want to delay a first version with VAT-Spy any further (which has already worked fine in the development version for 2 weeks now and before VATSIM clarified how the transceivers list is supposed to be used). VAT-Spy data alone provides very good matches already (observed: at most 3 stations missing at any time), so further delay makes no sense.
Tracking transceivers in #7.

VAT-Spy location feature released with 0.90.


Allow PHP 7.x and 5.6 side by side

Hello, I am using multi project setup and I was wondering how could I have 2 versions of the PHP in one installation of Laradock.
The problem is that some of our legacy projects still runs on PHP 5.6 but newer (and upgraded) stuff runs on PHP 7.x. Also if I want to start a new Laravel project, I want to use latest stable framework release which requires me to use PHP 7+
Having to change environment variable to switch PHP version and rebuild the container is a pain. I was wondering if it would be possible to have 2 containers and just run which ever version I need at the moment.
PS: I was looking for similar issues, but did not find any. If there is one, sorry about the duplicate.
PS2: I am new to Docker. I was happy with my Vagrant / Homestead setup but wanted to try something more lightweight.
PS3: English is not my native language, sorry if it's hard to follow what I mean.

可以设置2个容器,,不同的别名和端口号,nginx配置中取不同的别名连接啊

Most of us are running different environments per project, you can clone Laradock into each of your projects' directory. Modify docker-compose configurations to your needs. They will be completely independent.
Make sure you change:
COMPOSE_PROJECT_NAME=laravel
and this way docker will identify containers differently, so:
COMPOSE_PROJECT_NAME=WebApp1
could have PHP version 7.2
and
COMPOSE_PROJECT_NAME=WebApp1
could have PHP version 5.6
This way you wouldn't have to rebuild images.
But note, rebuilding containers wouldn't take long because the first time you build one, it gets cached.

Yes, I know that and I agree. But I don't want to go that way because that would mean I would have to keep multiple systems up to date and that would not by very DRY. I wanted to switch to Docker / Laradock to have something simple to use, more lightweight than classic Laravel Homestead.
For now I've made myself a bash script to switch between 7.2 / 5.6 and other versions in .env file
### PHP Version ###########################################

# Select a PHP version of the Workspace and PHP-FPM containers (Does not apply to HHVM). Accepted values: 7.2 - 7.1 - 7.0 - 5.6
PHP_VERSION=7.2

and rebuild the containers, bring them up. It's certainly more user friendly and makes usage of the system a lot easier or better to say enjoyable to use.
Anyway I still think that the process of switching PHP versions in PHP and Workspace containers should be easier for newcomers.
PHP version in the workspace container matters because of composer and executables installed in the project using composer. Yes we can use composers --ignore-platform-reqs but that requires special configs in composer.json file.

sure but typically, we have every project, with it's own dependencies, 1 PHP version, specific PHP extensions. That's why we clone Laradock into each folder and make customizations (if needed).
From what I understand, your problem is that you want each project to have same configurations but many PHP versions, which is a  special case.

At present, many PHP integrated development environments are multi-project sharing. The demand of most users is actually multi-version PHP and multi-version MySQL coexist. Most of the other modules can be shared. The COMPOSE_PROJECT_NAME mechanism requires laradock to copy multiple copies. This will result in maintenance costs for multiple cloned version environments, which is not an optimal solution. Is it possible to add a grouping mechanism to the outermost layer to store multiple items that can be configured in a shared configuration?


[BUG][UI] F keys and Alt-F keys in web VNC interface

As mentioned in https://github.com/harvester/harvester/issues/401 :: when viewing a VM's UI using the web VNC viewer in the Harvester UI from a web browser on a Linux GUi desktop, it is impossible to send some F keys and all Alt-F keys to any VM via the web VNC interface.
https://github.com/harvester/harvester/issues/401 was closed after some Windows desktop specific key strokes were implemented, but that left Linux desktop users still unable to send many key strokes to a VM via the web VNC interface.

Verified fixed on master-949bbb0c-head (06/25). Close this issue.
Result
Verified the soft shortcut keys can display and work correctly on Linux OS VM (Ubuntu desktop 20.04)

Checked the following short cut can work as expected

CTRL + ALT + DELETE: Logout system
Soft Reboot
Print screen
F12: Developer mode
F11: Full screen
F10: Open menu
ALT + F1: zoom in windo
ALT + F2: Run command
ALT + F4: Close window
ALT + F8: Drag and drop
Ctrl + N: New window
Ctrl + N: New tab
Ctrl + W: Close tab

Test Information

Test Environment: 1 node harvester on local kvm machine
Harvester version: master-949bbb0c-head
os image: ubuntu-20.04.4-desktop-amd64.iso

Verify Steps

Create a new VM with Ubuntu desktop 20.04
Prepare two volume
Complete the installation process
Open a web browser on Ubuntu desktop
Check the shortcut keys combination


String style properties

It doesn't seem like strings can work.
h('div', { style: 'background: transparent' })

https://github.com/Matt-Esch/virtual-dom/issues/204


New Api-Version onboarding 2021-12-01-preview

MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Changelog
Add a changelog entry for this PR by answering the following questions:

What's the purpose of the update?

[ ] new service onboarding
[X] new API version
[ ] update existing version for new feature
[ ] update existing version to fix swagger quality issue in s360
[ ] Other, please clarify

When are you targeting to deploy the new service/feature to public regions? Please provide the date or, if the date is not yet available, the month.
When do you expect to publish the swagger? Please provide date or, the the date is not yet available, the month.
If updating an existing version, please select the specific language SDKs and CLIs that must be refreshed after the swagger is published.

[ ] SDK of .NET (need service team to ensure code readiness)
[ ] SDK of Python
[ ] SDK of Java
[ ] SDK of Js
[ ] SDK of Go
[ ] PowerShell
[ ] CLI
[ ] Terraform
[ ] No refresh required for updates in this PR

Contribution checklist:

[X] I commit to follow the Breaking Change Policy of "no breaking changes"
[X] I have reviewed the documentation for the workflow.
[X] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

Applicability: :warning:
If your changes encompass only the following scenarios, you should SKIP this section, as these scenarios do not require ARM review.

Change to data plane APIs
Adding new properties
All removals

Otherwise your PR may be subject to ARM review requirements. Complete the following:

[X] Check this box if any of the following apply to the PR so that label "WaitForARMFeedback" will be added automatically to begin ARM API Review. Failure to comply may result in delays to the manifest.

Adding a new service
Adding new API(s)
Adding a new API version
-[ ] To review changes efficiently, ensure you are using OpenAPIHub to initialize the PR for adding a new version. More details, refer to the wiki.

[X] Ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.

[ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If any of the following scenarios apply to the PR, request approval from the Breaking Change Review Board as defined in the Breaking Change Policy.

[ ] Removing API(s) in a stable version
[ ] Removing properties in a stable version
[ ] Removing API version(s) in a stable version
[ ] Updating API in a stable or public preview version with Breaking Change Validation errors
[ ] Updating API(s) in public preview over 1 year (refer to Retirement of Previews)

Action: to initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Addition details on the process and office hours are on the Breaking change Wiki.
Please follow the link to find more details on PR review process.

/azp run

@jorgecotillo - I can see you added the ARMSignedOff tag but didn't approve the PR. Is that standard procedure? What do I need to do to get this merged?

Please work with the PR assignee to get it merged

@honghr, can we merge this?

Please don't merge this PR yet, we're figuring some things out within our team.

@honghr can you please review and merge this PR!


Support installing to eMMC boot partitions

[smaeul] samueldr: allwinner does support boot partitions https://u-boot.readthedocs.io/en/latest/board/allwinner/sunxi.html#installing-on-emmc-on-board-flash-memory

[smaeul] according to<EMAIL_ADDRESS>it is before the user data partition

https://u-boot.readthedocs.io/en/latest/board/allwinner/sunxi.html#installing-on-emmc-on-board-flash-memory
<EMAIL_ADDRESS>https://linux-sunxi.org/Bootable_eMMC

With this, supporting dedicated storage for Allwinner boards (range to be confiremd, but H3, and A64 at the very least) should be possible through the eMMC boot partitions.
Writing and managing should be pretty much equivalent to SPI installation.
Note that for some boards, eMMC is not fixed storage. When a board supports SPI, we shouldn't build the eMMC boot partition support in official builds, it provides no real benefit, especially when boards often treat eMMC as non-fixed storage.

Same is true for (at least our) Amlogic devices. Some SKU of Radxa Zero (Amlogic S905Y2) and Radxa Zero 2 (Amlogic A311D) contain onboard eMMC with boot partition support. They belong to meson-g12 family.

I know much less about Amlogic devices, my personal sample size of one (1) s805x device.
Though I spy useful notes about the startup sequence here:

https://wiki.radxa.com/Zero/install/Boot_Troubleshooting

Want to join our discord so we can have some talk about this project and more?


Does the plugin works with third party Fingerprint device

I need to create an Android App where user will scan his fingerprint from third party Fingerprint reader. Does this plugin works with other than inbuilt fingerprint sensors?
Please help me with this.
Thank you.

No, this plugin only works with the Android Fingerprint API.
So users will scan their fingerprint using a third party scanner and you need an Android app to capture a fingerprint and match against that print?  Where is the fingerprint data stored? Sounds like you need server side matching.  Do you need matching algorithms?
It is not a free solution, but I recommend you look into ONYX from (Diamond Fortress Technologies)[http://www.diamondfortress.com]. It can provide image capture and matching algorithms (by Innovatrics) if needed.  The image capture and processing can be customized to match against third party scanner.
Disclaimer: I am a shareholder in the company.


Allow search to show files in the "View as tree" mode

I would like the global search to behave just like git commits where I can choose to display the files as a tree instead of just as a flat list.
When I am doing a global search, it would be awesome if I could see where the search results are coming from in the codebase using a tree view. Oftentimes I am trying to find something in specific folders or areas and it would be awesome to be able to collapse or remove search results based on their root or partial path (again, exactly like I can do with files from git)
Thank you 🙏

https://github.com/microsoft/vscode/issues/20224


Add finite momentum to CLI input file

Pull Request Test Coverage Report for Build<PHONE_NUMBER>1
Details

2 of 2 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build<PHONE_NUMBER>2:
0.0%

Covered Lines:
764

Relevant Lines:
764

💛  - Coveralls


failing to reset your password breaks password reset indefinitely

Using Clearance 1.16.0 (and Rails 5.1.2, although I don't think it matters). Steps to reproduce:

Request a password reset.
Click the link in the email. You will see the new password form. DO NOT CHANGE YOUR PASSWORD.
Request a second password reset.
Click the link in the second email.

You should see the new password form again, but instead you will see the password reset email address form, with a message that says "Please double check the URL or try submitting the form again."
You can double check the URL and submit the form all you want, but password reset will remain broken until you clear cookies for the site.
(Step 2 – clicking the link but not bothering to fill out the form – is something of an edge case. We had a user who couldn't change her password due to an unrelated bug. But a browser could crash, a user could get distracted, etc. It shouldn't doom them forever.)
The cause of the bug: PasswordsController#edit stores the reset token in the session cookie. The token isn't deleted unless PasswordsController#update succeeds. And find_user_by_id_and_confirmation_token uses the token from the cookie, even if there's a new token in the URL.
A fix: Prefer the token in the URL over the one in the cookie. I believe this would fix all the use cases I've thought of, and I see no down side:
token = params[:token] || session[:password_reset_token]

This is happening on our app also.  Waiting on this issue to be fixed so we can update clearance.  I'm assuming
token = params[:token] || session[:password_reset_token]

mentioned above is something to be changed inside clearance code.  Is there a workaround that we can use in the meantime while we wait for this to get patched by clearance?

@eostrom, @gduquesnay: I have created a PR with your suggestion and that should fix the issue, but in the meantime, you can also override the password controller with the following code to fix the issue
class PasswordsController < Clearance::PasswordsController
  private

  def find_user_by_id_and_confirmation_token
    user_param = Clearance.configuration.user_id_parameter
    token = params[:token] || session[:password_reset_token]

   Clearance.configuration.user_model.
      find_by_id_and_confirmation_token params[user_param], token.to_s
  end
end


How do I implement onCreate method for this

I am following the guide for android which links me to these steps as well https://docs.newrelic.com/docs/mobile-monitoring/new-relic-mobile-android/install-configure/install-android-apps-gradle-android-studio/ I'm not quite sure what I do for onCreate part
I googled for what that func might look like and tried to do this but I think I incorrectly did because causes error in android studio

(And I did with my android app token, AA317f37190be0...c8344-NRMA just didnt for the pictures
I put the brackets like this as of now
package com.livelyme.LongHaulerTracker;

import com.getcapacitor.BridgeActivity;
import com.newrelic.agent.android.NewRelic;

public class MainActivity extends BridgeActivity {
  @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    NewRelic.withApplicationToken("AA317f37190b...4d0a699c8344-NRMA").start(this.getApplication());
  }
}

@24jr you don't need to create that method. you just need to start agent from your javascript side and than follow our read.me for android setup. https://github.com/newrelic/newrelic-capacitor-plugin#android-setup

@ndesai-newrelic oh ok. I removed that then. Looks like app is loading now in android studio but i dont see any app launches or network requests in new relic. I think ios is working fine. Ill keep messing with it. Thanks!


Odd grey square/rectangle appearing on screen when using Windows Terminal (Preview)

Windows Terminal version
1.15.2713.0
Windows build number
Microsoft Windows [Version 10.0.22621.521]
Other Software
No response
Steps to reproduce

Start Windows Terminal
Whilst the window has focus, a small grey square can be seen in the top left of the monitor
Activate your keyboard shortcut to hide the terminal window (for me, Ctrl+`)
The small grey square disappears, but a bigger grey rectangle now appears in the bottom-left of the monitor, just above the task bar.

Expected Behavior
There should be no grey square or rectangle.
Actual Behavior
A grey square and grey rectangle (which one depends on what state WT is in; hidden vs. visible) appears on your screen above other applications. Please see the video below:
RFRu2I4RCy.webm

Just solved this; it's actually a problem resulting from using MicaForEveryone. It can be solved by updating to the latest MicaForEveryone version, and then adding a specific Process rule for OpenConsole and using the following config:

Specifically, it's switching the Corner Mode to Square that seems to make these disappear.


Sound

Describe your problem here.
How can I make a specific sound only plays once instead of playing on every frame
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
No response

function onStepHit()
if curStep == 69 then --You can check the Step in the chart editor
playSound(' ')
end
end

thanks


Fix subscription listeners key

_listeners used a string_view as key, it would point to the first
registration->field value, but once that value is gone, the reference
will point to garbage and the process will crash.
Change it to a string, the copy is harmless given the other costs of
subscription.
Closes: #162

Looks good, thanks!


Add flag to disable recycling blocks in the flyout

Necessary changes:

In flyout_base.js, add the property Blockly.Flyout.prototype.recyclingEnabled_ and set it to true by default.
In flyout_base.js, add the function Blockly.Flyout.prototype.setRecyclingEnabled to toggle the above property.  Mark it as public
In Blockly.Flyout.prototype.clearOldBlocks_ check if (this.recyclingEnabled_ && block.isRecyclable()) on line 693.

To use this in scratch-gui, you'll call workspace.getFlyout().setRecyclingEnabled(false) before your language swap, and workspace.getFlyout().setRecyclingEnabled(true) after the swap.
Open question: Is it better to have the setRecyclingEnabled call on the flyout or on the whole workspace?
On the workspace:
Pro: Don't need to expose getFlyout.  Keep everything about the flyout package where possible.
Con: Adds another function at the workspace level, plus associated state.
On the flyout:
Pro: keep the state where it's actually being used.
Con: getFlyout is currently package.  Making it public exposes a large API surface area.

This came up when swapping the message files to change languages--refreshing the toolbox changes the messages for non-recycled blocks, but the recycled blocks stay the same.


updating armv6 jail fails

Building an initial 10.1-armv6 jail on a 10.1-amd64 host (without the -x option) works fine, but updating it with 'poudriere -j JAIL -u' fails after updating the SVN source with:
make[1]: "/usr/local/poudriere/jails/rpi/usr/src/Makefile.inc1" line 151: Unknown target armv6:armv6.
% cat  /usr/local/etc/poudriere.d/jails/rpi/arch
armv6
The initial build was with poudriere 3.1-rc3 (iirc), the failed update is with both poudriere 3.1-rc3 and poudriere 3.1.1

I think this can be closed?

Can we please get this documented somewhere? I just run in the same problem :)


for a 0.1.5 release

Codecov Report

Merging #40 (3e3f226) into master (73bab52) will increase coverage by 1.09%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #40      +/-   ##
==========================================
+ Coverage   91.30%   92.39%   +1.09%
==========================================
  Files           4        3       -1
  Lines         299      342      +43
==========================================
+ Hits          273      316      +43
  Misses         26       26

Impacted Files
Coverage Δ

src/models.jl
90.38% <100.00%> (+1.09%)
:arrow_up:

src/utils.jl
100.00% <0.00%> (ø)

src/NearestNeighborModels.jl

src/kernels.jl
90.17% <0.00%> (+1.51%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 73bab52...3e3f226. Read the comment docs.

@OkonSamuel The doctest is failing here. Are you able to take a look?

Thanks @OkonSamuel ❤


Initial type definition generation tools

In reference to #43, this is the initial approach I have in mind for creating typing files.
The bulk of the logic involved here reside in the ./definitions/transpiler.ts and ./definitions/types.template.ts.
The transpiler transpiles macro block in order to simplify the complexity of variable argument functions and constructors. These macros are explicitly defined in the transpiler source and enable things like the following:
Source
    // In-progress: All encompassing objects
    export type TapObject<
        T = any,
        // Loop produces A = any, B = any, C = any, etc... using /\bA\b/g replace
        // >>> loopLetter
        A = any,
        // <<< loopLetter
    > =
        // >>> loopTapGenerics
        | TapObject1<A> | TapCtxObject1<T, A>
        // <<< loopTapGenerics
    ;

Build
    // In-progress: All encompassing objects
    export type TapObject<
        T = any,
        // Loop produces A = any, B = any, C = any, etc... using /\bA\b/g replace
        A = any,
        B = any,
        C = any,
        D = any,
    > =
        | TapObject0 | TapCtxObject0<T>

        | TapObject1<A> | TapCtxObject1<T, A>

        | TapObject2<A, B> | TapCtxObject2<T, A, B>

        | TapObject3<A, B, C> | TapCtxObject3<T, A, B, C>

        | TapObject4<A, B, C, D> | TapCtxObject4<T, A, B, C, D>
    ;

Please add thoughts and comments for discussion.

I think it would be safe to close this in favor of opening these changes up as a @types PR, then we can resume discussion there if there are any questions or bugfixes.

Thanks a lot Cole and sorry for any of the confusion. Is there a PR I can
track? We've really appreciated the exploration on this.
On Fri, Feb 9, 2018 at 12:08 PM Cole Lawrence<EMAIL_ADDRESS>wrote:

Closed #45 https://github.com/webpack/tapable/pull/45.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/webpack/tapable/pull/45#event-1467420555, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ADQBMJJpXpRfR_NwrHxbnXrH8sTsdA9Oks5tTKXagaJpZM4RQzZO
.

@TheLarkInn I left my progress in the branch I was working against at: https://github.com/colelawrence/tapable/tree/feature/cl-12-23-type-definitions

I also want to point out that I might have hit andead end with this approach, as explained in #43
@thelarkinn


Fix doc format issue

Signed-off-by: Kai Qiang Wu(Kennan<EMAIL_ADDRESS>

ping @thaJeztah

LGTM, thanks

LGTM


Removed co2 operationRateFix.xlsx

This PR ...

CO2 has no operation rate fix. Removed operationRateFix from example.

Codecov Report

Merging #75 (94a2591) into main (0ea55ad) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #75   +/-   ##
=======================================
  Coverage   90.56%   90.56%
=======================================
  Files          90       90
  Lines        1558     1558
=======================================
  Hits         1411     1411
  Misses        147      147

Flag
Coverage Δ

pytest
90.56% <ø> (ø)

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

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 0ea55ad...94a2591. Read the comment docs.


Prevent caching of pages in front-end

b/c currently one gets old blocks when clicking the 'generations' page. Which is bad.

@johnsnewby  instead, we can check for if their are new blocks and then load them too before rendering.

YES THAT

this is handled in a way by the WebSocket subscription too. I will check why the connection is breaking or maybe store is not updated. there are couple of bugs i'm aware of.


Update ja.json

I have updated Japanese translations again.

I removed the colons (":")  before {details}, as the details are inside brackets and sometimes there will be no details. Can you check if this is ok?

I see, thank you.
I couldn't find what text might appear in {details}, could you please tell me what might appear?

Those will be explanations of the error messages that can't be translated unfortunately, before you had to check the logfile to see them. For example it will say: SSH connection failed (Unable to connect to port 22)


Upgrade dependencies

usb_embedded now requires hal 0.4
https://github.com/JeremyGrosser/rp2040_hal/blob/3ff0c10732738547dda32bdb21d3bffbcf6b9265/alire.toml#L15

If I change hal to 0.4 in rp2040_hal, it conflicts with the cortex_m crate, which still depends on 0.3

rp2040_hal 2.4.0 has been tagged and depends on the latest 1.0.0 deps.
Alire index submission: https://github.com/alire-project/alire-index/pull/1271


Make README logo work in dark mode

Summary:
Dark mode is, they say, the new thing, and the logo doesn't work super
well with it, because it's black on dark grey.  This is surprisingly
hard to fix.  There are a few options:

make the logo colored; sorry, but I like black
add a white border to the logo; this is what Apollo does but I
think it's pretty ugly in dark mode
add svg with media queries; this works well but only if the github
dark mode setting matches the browser(/OS) dark mode setting, since
that's what the media queries look at
I opted for option 3.  This required converting the text in the SVG to
paths, since it really matters that you have the exact same font.  (I
tested on Android Firefox, which empirically doesn't have the same fonts
I have on desktop.)

Fixes #17.
Issue: https://github.com/Khan/genqlient/issues/17
Test plan:
tested that it looks good on both mobile firefox in dark mode, and
desktop firefox+chrome in light mode.

Fancy solution! Works well for me. I switched my Mac from dark mode to light mode, and could see the difference with a page reload.


Cannot create NumPy long double arrays with mingw

Following code will produce an error when compiled with mingw32 from anaconda in windows:
cyfile.pyx
import numpy as np
cimport numpy as np
import ctypes

def get_arr():
    cdef np.ndarray[long double, ndim=1] outp = np.zeros(10, dtype=ctypes.c_longdouble)
    return outp

setup.py:
try:
	from setuptools import setup
except:
	from distutils.core import setup
import numpy as np
from distutils.extension import Extension
from Cython.Distutils import build_ext

setup(
    name  = "cyext",
    packages = ["cyext"],
    cmdclass = {'build_ext': build_ext},
    ext_modules = [Extension("cyext", sources=["cyfile.pyx"], include_dirs=[np.get_include()])]
    )

>>> import cyext
>>> cyext.get_arr()

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "cyfile.pyx", line 6, in cyext.get_arr
    cdef np.ndarray[long double, ndim=1] outp = np.zeros(10, dtype=ctypes.c_longdouble)
ValueError: Buffer dtype mismatch, expected 'long double' but got 'double'

You should probably use the correct NumPy dtype, not anything from ctypes.

You should probably use the correct NumPy dtype, not anything from ctypes.

Still throws the same error:
import numpy as np
cimport numpy as np
import ctypes

def get_arr():
	cdef np.ndarray[long double, ndim = 1] outp = np.zeros(10, dtype = np.longdouble)
	return outp

import cyext
cyext.get_arr()

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "cyfile.pyx", line 6, in cyext.get_arr
    cdef np.ndarray[long double, ndim = 1] outp = np.zeros(10, dtype = np.longdouble)
ValueError: Item size of buffer (8 bytes) does not match size of 'long double' (16 bytes)
```


CB-8054 Support taking pictures from file for WP8

Add missing take picture from file capability for WP8

LGTM

Is there a docs update needed - now that this is supported?

The docs didn't mention this as a quirk, so no doc updates.
I've also updated the phone video codec list.

LGTM - Please rebase for a merge

This one is ready to be merged. Would be glad if someone can merge this in.

hi all, is this problem resolved for windows phone universal. I am not able to use this for accessing photolibrary. Also camera is not working as it is with windows phone 8. Your quick reply is very helpful to me.

Yes, this is resolved for windows phone universal.
What problem are you running into with winphone8? You can always open a jira for us to investigate. The more information you provide, faster we can resolve the issue.

I am having the problem of "not Supported" error. Would you suggest me to reinstall the plugin?

Make sure you've version 1.1.0 (May 06, 2015). You can check installed plugin version by executing cordova plugin on your project root.

Thanks for quick reply. can you pls share me the url link of camera plugin! I am using org.apache.cordova.camera plugin of visual studio and seems that I am outdated here with this.

You can get the latest (edge) from github however I suggest you clone the github repo and checkout 19feee9cb049 for version 1.1.0. Releases are tested more thoroughly than edge.

Hi Muratsu, thanks for quick reply again. I was good with camera but bad with gallery. Now good with Gallery but bad with camera. It is breaking with error "Camera Initialization error TypeError: getAvailableMediaStreamProperties: 'this' is not an Inspectable Object". Can you suggest the solution please! thx

That just got fixed today. Please update :)

yep...now it is working perfect. however I am looking for one more suggestion about, how to cancel the camera!!

It is working perfect now thx.

muratsu, I have footer in the page where I activate the camera, camera has "cancel" but it is going under the footer. How can I control the size of the camera screen??

Hi, I am back....I used this earlier and was working perfectly alright. The same code is not working now. Camera is abending when saving to library on phone..Gallery lists the library and abends....kicks out of application. i reimplemented the plugin, no use. I have downloaded the 1.2.1, but no use. Any idea what could be the reason!!? Environment is Windows 8.1 phone universal.

Hmm, can you share your camera settings with me? I've tried the following with ee5cfe89 (master):
        destinationType: Camera.DestinationType.FILE_URI,
        encodingType: Camera.EncodingType.JPEG,
        sourceType : Camera.PictureSourceType.PHOTOLIBRARY

        destinationType: Camera.DestinationType.FILE_URI,
        encodingType: Camera.EncodingType.JPEG,
        sourceType : Camera.PictureSourceType.CAMERA,
        saveToPhotoAlbum: true

both of them working fine for me (win-phone 8.1).

I am not sure what is the reason, my code is working fine, plugin is working fine, but after the closure  of execution of returning the image to page of App, Android 19 with Cordova 3.6.4, after the execution, cordova is executing further that is killing the app. Where the same may be true in other platforms as well. What is your suggestion in the platform versions, what should I be using?

I just reinstalled Android and Cordova, what the difference in behavior i have seen is, earlier, it was exiting in nano seconds, now it is showing the library and waiting there for a second in a no response state and then exiting.

Muratsu, Can you suggest me a solution for this as my app has been held back only due to this!!!.

Muratsu, please find the following videos where you can see the problems with this plugin.
works in windows emulator.
https://www.youtube.com/watch?v=e17Dhujnm1A&feature=youtu.be
android device failure, not able to record the emulator, but it is also failing there.
https://www.youtube.com/watch?v=Y7cQHc3i5Ew&feature=youtu.be
Windows device failure
https://www.youtube.com/watch?v=LLofT2ghxIs&feature=youtu.be
What figure out is, it is not retaining the app state, earlier it was not that way, do i need to explicitly maintain the app state?
If you can't access let me know.

As I was doubtful, the issue was related to App State Maintenance. Some how it has been poorly maintained in the app. This experience and solution might be useful to others.

You can try this:
https://msdn.microsoft.com/en-us/library/windows/apps/jj735579(v=vs.105).aspx
To enable Fast Resume for your app, add the ActivationPolicy attribute to the DefaultTask element in WMAppManifest.xml and set the value to “Resume”. For this task, you need to edit the app manifest directly instead of using the manifest editor. To do this, right-click WMAppManifest.xml, click Open with, and then choose XML (Text) Editor.

@purplecabbage , mine is cordova javascript application. I am really in a very bad shape due to lack of support from all OEM of these techs. Very bad!!!! Its been 500 hours of trials after trails to figure out how to make this work consistent way without fail but could not resolve this. Stackoverflow did not help, slack did not help.....what is the wrong .....where....god only knows....

I used a cordova navigation sample.
worked perfectly alright up to some extent.
When I click on the camera, it perfectly returns to library,
click save,
Important Point: "it returns to page then tries to render the image"
I started making changes line by line and was testing it......to see if this makes difference or that makes difference...it broke at one point...
i rolled back changes...but it was not rolling back....
Does this have any thing to do cordovaApp_temporarykey.pfx?
do we need to have this file in the solution to have this work?
when i create another application with the same lines of code it was not working......what is happening guys....cordova is really very bad in managing its state or I am using winjs for navigation, it is bad in managing the state....it is not hitting the resume event in index.js at all.... to capture the reason for failure.....

Please post your non-working example, and I will look at it.
Speculation is dangerous.
This has nothing to do with cordovaApp_temporarykey.pfx
Define 'rolled back changes'... via version control? did you run 'cordova prepare'?

@purplecabbage this is like light in dark....your offer itself is like a great savior to me....:-)
I have uploaded the solutions @ the following onedrive
https://onedrive.live.com/?id=463D607901FE1563!114&cid=463D607901FE1563&group=0
blankcordovaapp1 is failing where I experimented.
javascript(2) has been working fine.
they were in VS 2013 and it is picking up cordova 3.7.1
I have moved the code to VS 2015 and I selected 5.1.1 s platform but it is showing 4.0 folder in .cordova folder.
2015 working as long as the device in debug when disconnected again the same.

I don't see anything at the url you posted.
My team is hiring!
@purplecabbage
risingj.com
On Mon, Aug 17, 2015 at 10:23 AM, ekambarrao<EMAIL_ADDRESS>wrote:

@purplecabbage https://github.com/purplecabbage this is like light in
dark....your offer itself is like a great savior to me....:-)
I have uploaded the solutions @ the following onedrive
https://onedrive.live.com/?id=463D607901FE1563!114&cid=463D607901FE1563&group=0
blankcordovaapp1 is failing where I experimented.
javascript(2) has been working fine.
they were in VS 2013 and it is picking up cordova 3.7.1
I have moved the code to VS 2015 and I selected 5.1.1 s platform but it is
showing 4.0 folder in .cordova folder.
2015 working as long as the device in debug when disconnected again the
same.
—
Reply to this email directly or view it on GitHub
https://github.com/apache/cordova-plugin-camera/pull/86#issuecomment-131895353
.

Okay, it appears you are doing some magic with the Visual Studio TACO ( tools for apache cordova )
You will need to bring this up with the visual studio team, as ultimately what you are running is NOT strictly a cordova project.
I was able to run your javascript(2) version as posted, but the BlankCordovaApp1 app was missing multiple files and could not be built.
Ultimately this is not the place to have this discussion, as it has nothing to do with this pull request.
If you need to discuss this further, please open a jira issue, or contact me on the cordova slack channel.
to join :
http://slack.cordova.io/
to view :
https://cordova.slack.com/
I am @purplecabbage everywhere.

I agree with @purplecabbage that this is not the correct forum for this. Please use stack overflow and mark it with visual studio cordova. People from the product team look at that forum and will respond to you.

Thanks guys...for taking time on this....

i have a question...do i need to capture the state of the app while capturing the photo or gone to library? or the plugin will take care of that?


ExternalSecret templating not merging data field

Hello, I am not sure if I am doing something wrong here, but looks like the .spec.target.data field is overriding the fields defined by .spec.data.
I created this:
apiVersion: external-secrets.io/v1alpha1
kind: ExternalSecret
metadata:
  name: argocd-ghcr-creds
spec:
  secretStoreRef:
    name: argocd-store
    kind: SecretStore
  refreshInterval: 1h
  target:
    name: ghcr-creds
    template:
      data:
        type: aGVsbQ== # helm
        url: b2NpOi8vZ2hjci5pbw== # oci://ghcr.io
      metadata:
        labels:
          argocd.argoproj.io/secret-type: repo-creds
  data:
  - secretKey: password
    remoteRef:
      key: services/argocd/ghcr-token
  - secretKey: username
    remoteRef:
      key: services/argocd/ghcr-user

And this is the resulting Secret kind:
apiVersion: v1
data:
  type: YUdWc2JRPT0=
  url: YjJOcE9pOHZaMmhqY2k1cGJ3PT0=
immutable: false
kind: Secret
metadata:
  annotations:
    reconcile.external-secrets.io/data-hash: 738f482ee3464cc84ed210fca86c4d7e
  labels:
    argocd.argoproj.io/secret-type: repo-creds
  name: ghcr-creds
  namespace: argocd
  ownerReferences:
  - apiVersion: external-secrets.io/v1alpha1
    blockOwnerDeletion: true
    controller: true
    kind: ExternalSecret
    name: ghcr-creds
    uid: 6f2d13c6-6e19-4e33-8aa6-c85c83b971a0
  resourceVersion: "2707257"
  uid: b51090cc-073e-479b-ba26-af2d1c96e9a7
type: Opaque

This is pretty weird, I thought the default behavior would be to have data as
data:
  type: YUdWc2JRPT0=
  url: YjJOcE9pOHZaMmhqY2k1cGJ3PT0=
  password: ...
  username: ...

Isn't there a way to do merge instead of overwrite?

Hey, this is intentional behavior. The template.data map should take precedence, see: https://github.com/external-secrets/external-secrets/issues/755#issuecomment-1050228391
There's no merge option. However, you can basically copy over the username / password fields if needed:
apiVersion: external-secrets.io/v1alpha1
kind: ExternalSecret
metadata:
  name: argocd-ghcr-creds
spec:
  # ...
  target:
    name: ghcr-creds
    template:
      engineVersion: v2
      data:
        type: aGVsbQ== # helm
        url: b2NpOi8vZ2hjci5pbw== # oci://ghcr.io
        username: "{{ .username }}"
        password: "{{ .password }}"


random errors in json

is there any limit to how large json can be?
e g this fbx file converts to this json file which fails to parse in firefox with following error:

SyntaxError: JSON.parse: bad escaped character at line 9141 column 53 of the JSON data

the offending symbol combination in json is:
"name": "RPC Tree - Deciduous Scarlet Oak - 42\' [946164]"

the original data in fbx file:

basically boils down to this:

escape backslashes and single quotes, both would render the JSON invalid if left as is

which is incorrect, single quote is just fine if left as is (proof).


Add username as an alternative to email to login

Till now, the app allows user to log in with email and password only. Add username as an alternative so that a user can log in either by Email or username and a password.

Assign me this issue I will solve it


WIP - Feature base paths

Allow to configure base path (logs / data / tmp / metrics)

Hi @agriffaut nice initiative (I only noticed now), and very similar to mine (PR coming), where I made configurable (almost) all dirs there are, so one can configure the right partitions/dirs (hdfs,yarn,zk,kafka etc) from the start (important for a prod. cluster we start the coming days)
AFAI-see your PR is focusing more on (/var/)log dirs, so not too much overlap with my (coming) PR 👍

Hi @lhoss, the purpose of this PR is to group HDP paths in logical groups (log / data / tmp / metrics), avoiding symlinks.
It also simplifies the management of partitions, which was the main goal!
This setup was used to deploy 5 middle sized clusters (up to 20 nodes) at work, where paths must comply with some rules.

Hi @agriffaut

Your solution is already quite nice (big improvement relative the completely missing dir vars in master!)
and for the "base_log_dir" I probably do not need to be more flexible
but just having "base_data_dir" to configure the base folder for all component's data dirs is often not enough

I had 1 customer deployment where it was not (where I used https://github.com/hortonworks/ansible-hortonworks/pull/75)

Now I am happy to extend your PR (and close my similar PR), by adding this flexibility, and still keeping the same simplicity for your case.
Here is how:

introduce one var for each blueprint var, that is by default re-using your base_data_dir
( so that after this refactoring you would not need to change 1 var in your config) 👍

# zk
zookeeper_dataDir: "{{ base_data_dir }}/zookeeper"

# hdfs
dfs_namenode_checkpoint_dir: "{{ base_data_dir }}/hdfs/namesecondary"
dfs_namenode_name_dir: "{{ base_data_dir }}/hdfs/namenode"
dfs_datanode_data_dir: "{{ base_data_dir }}/hdfs/data"
dfs_journalnode_edits_dir: "{{ base_data_dir }}/hdfs/journalnode"

#yarn
yarn_nodemanager_local_dirs: "{{ base_data_dir }}/yarn/local"
yarn_timeline_service_leveldb_state_store_path: "{{ base_data_dir }}/yarn/timeline"
mapreduce.jobhistory.recovery.store.leveldb.path: "{{ base_data_dir }}/mapreduce/jhs"

# kafka:
kafka_log_dirs: "{{ base_data_dir }}/kafka-logs"

#oozie
oozie_data_dir : "{{ base_data_dir }}/oozie/data"

# solr
infra_solr_datadir: "{{ base_data_dir}}/ambari-infra-solr/data"

and in the blueprint, you we would use the new vars, p.eg for zk dataDir:

  "zoo.cfg": {
        "clientPort" : "2181"	        "clientPort" : "2181",
-        "dataDir" : "{{ base_data_dir }}/zookeeper"
+        "dataDir" : "{{ zookeeper_dataDir }}"

Wdyt  @agriffaut (and @alexandruanghel !) ?

Hi @lhoss
You're absolutely right about base_data_dir.
Furthermore my PR is not idempotent, by default all data goes to /hadoop, wich is not the actual behaviour:

kafka default data dir must be /kafka-logs
nifi default data dir must be /var/lib/nifi ?

I suggest the following base_dir:

hadoop_data_dir wich defaults to /hadoop
nifi_data_dir wich defaults to /var/lib/nifi (i guess?)
kafka_data_dir wich defaults to /kafka-logs

Then for each base path, defining sub-paths as you mention..
I think it is important to keep defaults paths in place.
Does it sound good to you ?

hi @agriffaut
Introducing separate base (default) *_data_dir variables for nifi, kafka is indeed another step in the right direction. (Maybe also an extra one for zookeeper, yarn, solr .. ?)

Then for each base path, defining sub-paths as you mention..

So you would really consider introducing 1 new variable for each (blueprint supported)dir parameter (as I proposed above)? That would be great!
My earlier proposal would stay mostly the same, just updated with your newly proposed *_data_dir vars:
# zk
zookeeper_dataDir: "{{ hadoop_data_dir }}/zookeeper"

# hdfs
dfs_namenode_checkpoint_dir: "{{ hadoop_data_dir }}/hdfs/namesecondary"
dfs_namenode_name_dir: "{{ hadoop_data_dir }}/hdfs/namenode"
dfs_datanode_data_dir: "{{ hadoop_data_dir }}/hdfs/data"
dfs_journalnode_edits_dir: "{{ hadoop_data_dir }}/hdfs/journalnode"

#kafka_log_dirs: "{{ kafka_data_dir }}"

#yarn
yarn_nodemanager_local_dirs: "{{ <hadoop_data_dir OR yarn_data_dir> }}/yarn/local"
...

hi @agriffaut tomorrow I plan to give your PR a try (good to see it's alive with new commits also!), also since it already supports setting the 2 yarn.nodemanager*dirs vars (and more folders)
Do you mind if I'ld try do make a more flexible fork (ensuring downward compatibility), with my idea above?

As promised (in previous comment) I've extended this good PR, see my PR agriffaut#2
ps: I can also open a PR into the repos here (including Alex' PR/commits)
Some input from @alexandruanghel  would be greatly appreciated 👍

Thx @agriffaut for approving & merging my extensions in his PR 👍
@alexandruanghel  any chance this gets into master (assuming also its not WIP anymore @agriffaut  ?)

Ok, i think this is done !
@lhoss May i squash all this into one commit ? (including your name as Co-authored-by)
@alexandruanghel Does this looks good to you ?

yeah your latest changes LGTM (and only minor changes on my side) 👍
ps: Today I finished successfully an on-premise HDP install, using our PR here (just without latest commit), and btw fully offline install (see my other PRs)

@lhoss May i squash all this into one commit ? (including your name as Co-authored-by)

I'ld prefer the original commits (also as I took care for atomic commits), but it's ok for me to squash ( if @alexandruanghel also prefers )

Sorry guys, I meant to comment some time ago.
This work (and the thought behind it) looks great and I want to thank you both for this as it's been on my backlog for some time but never got the chance to do it (you've seen how complex and time consuming these things can get...).
I'll gladly merge it. I might add a small change or two later on so that all services are implementing the new variables but most is already there.
On a more bigger topic, I'm sure you've heard that Ambari will be replaced by Cloudera Manager in the new CDP distribution so it's unlikely we can dedicated much time for this project.
I'll try to merge most PRs and tidy things up so it's a good reference overall but as you noticed already, I can't give it too much attention these days...

Thanks  for the merge👍

On a more bigger topic, I'm sure you've heard that Ambari will be replaced by Cloudera Manager in the new CDP distribution so it's unlikely we can dedicated much time for this project.

Yes! (And exactly as imagined and commented in the previously merged PR)
Now it would be great if you can join forces on exactly that repo https://github.com/cloudera/cloudera-playbook/pulls 💯  (to mirror there the quality of the HWX/HDP repo here ,  and alot still todo, as I can't do it all alone .. though I can , just I can't merge my PRs ;)
Just a thought: Maybe good to communicate that in a notice in the top of the README..

I'll try to merge most PRs and tidy things up ..

Highly appreciated!  And also I am wondering if this (quality) work can be re'used on the cloudera deployment/repo (as said above) !?

Makes sense to unite but it's unlikely at the moment.
That's because the current state is:
https://github.com/hortonworks/ansible-hortonworks -> for HDP
https://github.com/cloudera/cloudera-playbook -> for CDH
And that will be for a while, at least until CDP is released. So we'll have to see how Cloudera Manager in CDP will look like before we'll know the direction of the ansible playbooks and other api-related integration.
Remember also that HDP will still be supported until Dec 2021 so this might still go for a while, just not without (too many) new features :)


WebApp - Some UI bug

[x] Show popup action on the confirmation screen (Solution: change from popover to modal)

Do not turn off toast in case Import Token successfully (follow up)
Version test: https://860b9b4f.subwallet-webapp.pages.dev

[x] Update max width for Select account Selectbox

Expect: max width = 208px

Version test: https://e4c48712.subwallet-webapp.pages.dev/

Version test: https://028fa0c2.subwallet-webapp.pages.dev/home/tokens

[ ] Do not show the Account name in case have 1 account

Version test: https://f9802de6.subwallet-webapp.pages.dev/
Fix some UI bugs:

[ ] Space on the button in case loading

[ ] Content position on empty screens

[X] Error happens when reloading NFT detail (both collection and item)

Version test: https://fc5c507b.subwallet-webapp.pages.dev/
@lw-cdm please re-check font-size on the create new account screen

Version test: https://e4c48712.subwallet-webapp.pages.dev/

[ ]  Do not turn of toast

@ThaoNguyen998 I can't reproduce this issue, please reproduce this issue on the newest version.

Version test: https://e4c48712.subwallet-webapp.pages.dev/

[ ]   Do not turn of toast

@ThaoNguyen998 I can't reproduce this issue, please reproduce this issue on the newest version.

I can't reproduce this issue on the newest version -> Close issue


Prevent certain RPC commands during node initialization

Issue summary
When the node is initializing, e.g., downloading and importing a snapshot, some operations such as snapshot export should be forbidden, otherwise they produce bogus artifacts which may be identified by less aware as correct ones.
For example, I got:
❯ target/release/forest-cli snapshot export
Exporting snapshot 39 / 39 [=============================================================================================================] 100.00 % 43752.09/s
Export completed. Snapshot located at ./forest_snapshot_calibnet_2023-05-05_height_0.car⏎

When downloading a new snapshot and exporting the snapshot at the same time.
Consider revisiting other RPC commands (such as send) and setting a lock on those as well.

Other information and links

Maybe RPC service could be started only at some point (when Forest is able to serve all API calls)?

Maybe RPC service could be started only at some point (when Forest is able to serve all API calls)?

That may be a bit too simplistic. We still want to call forest-cli sync wait.


[MB-6805] create utility function that creates new payment service params for pricers

Description
This PR creates the utility function that will be used by pricers to create the relevant payment service item params. This PR builds on MB-6695
Reviewer Notes
I don't think there's anything to except yet since no pricer is using this yet. However, please make sure the function itself is correctly creating and saving the payment service item params. And that this function is adequately tested
Setup
make server_test

References

Jira story for this change
Jira story that this ticket builds on for this change
discover doc explains more about the approach used.

Messages

:book:
:link: MB-6805

  Generated by :no_entry_sign: dangerJS against 7baf46c7b4a687a9f9846f83203c2884472f4cbd


➕Add official GitHub dependabot integration

Since I saw that your README.md said that your requirements were outdated, I decided that you might need Dependabot, to automatically update your requirements (on your terms)

I'm changing the schedule to weekly because I'm lazy, (and I always prefer manually updating my dependencies), but yeah, I'm fine with this, I guess.
Thanks for the pull request! <3


Move metrics registration out of Collector types

Since a metric cannot be registered twice, it's otherwise not possible
to instantiate one of these types multiple times (e.g. for tests).

LGTM


[e2e] Append an ending message in the test output

To differentiate whether the output gets cut or the agnhost command didn't output anything.
For #5139

I haven't figured out why but none of the NetworkPolicy have ever failed a single time after appending a message to the end of the result. Perhaps this somehow fixes the underlying issue in the clientset lib?
Promote the PR as an official PR as suggested by @antoninbas
cc @Dyanngg @GraysonWu

Really strange that we only see failures in TestGroupNoK8sNP, when all NP tests are pretty much built the same way and use the same functions.

This is because TestGroupNoK8sNP has 60 tests in it while there are only around 5 other cases that test traffic outside of this test group

Really strange that we only see failures in TestGroupNoK8sNP, when all NP tests are pretty much built the same way and use the same functions.

This is because TestGroupNoK8sNP has 60 tests in it while there are only around 5 other cases that test traffic outside of this test group

Makes sense

/test-e2e
/skip-conformance
/skip-networkpolicy


GPL-388 As a user I need to be able to edit ONT runs

User story
As a user I need to be able to edit ONT runs
Who the primary contacts are for this story
Steve/ Harry
Acceptance criteria
To be considered successful the solution must allow:

check what metadata can be updated

Additional context
Add any other context or screenshots about the feature request here.

what event messages are sent?

Record the run time

Dont need to alter the state of a run, only flowcell library posiitons


Index out of range exception when clicking the items in Detached Legend

Hi,
Now I have two plottables (SignalXY) in FormsPlot.Plot and try to set those invisible by using detached legend window.

When I clicked one of those, I can only make it invisible but cannot set it visible state again.
And, even if I clicked again on Legend '3' in invisible state, it makes Legend '4' invisible.
In the state of both Legend invisible, it resulted in index out of range exception when I clicked once more.

*Also, even if I set the location of legend as Alignment.LowerCenter, but it returns to the location LowerRight when closing the detached window.
System Details

**ScottPlot Version: 4.1.39
**Operating System: Windows 10
**Application Type: WinForms
**.NET Version: NET Framework 4.7.2

Hi @envine, thank you for reporting this!
Summarizing your comment:

Step 1: Add two SignalXY to a FormsPlot
Step 2: Set both invisible by using detached legend window
Issue 1: I can only make it invisible but cannot set it visible state again.
Issue 2: I clicked again on Legend '3' in invisible state, it makes Legend '4' invisible.
Issue 3: If both are invisible, it resulted in index out of range exception when I clicked once more.
Issue 4: If I set the location LowerCenter it returns to LowerRight when closing the detached window.

I was able to recreate issue 1 and issue 4 and fixed both in #1767
Can you provide a more detailed set of steps describing how to recreate issues 2 and 3? It seems to work for me, so I'm curious what we are doing different.

Hi @swharden, thank you for the summary, and quick fix on issue 1 and 4.
As for the issue 2 and 3, confirmed 4.1.40 still has those issues, and I've found what would be the cause.
I could recreate those when the FormsPlot was refreshed while changing the visible state of the plottables using detached legend.
When I commented out the refresh code, detached legend worked as expected and I could make plottable invisible/visible as needed in the same FromsPlot.
Actually, my FormsPlot is a kind of dynamic plot and keep refreshing it to reflect the changes in its datasources by calling FormsPlot.Refresh() method.
But it turned out that this functionality only works in static plot.
I don't think this is the intended use, but it would be nice if such use cases were also supported.

I could recreate those when the FormsPlot was refreshed while changing the visible state of the plottables using detached legend

Actually, my FormsPlot is a kind of dynamic plot and keep refreshing it to reflect the changes in its datasources

Can you share the code block you're using to interact with the plot while the legend viewer is open? I'm highly interested to learn if you're calling some type of Add() or Clear() methods of the Plot while the display viewer is open. Seeing this would be helpful for me to recreate this behavior on my end. Thanks!

If an item in a detached legend is clicked to make it invisible and a timer event fires before the next click for visible state, it will not work and will result in unexpected behavior.
src.Time.buffer, src.Value.buffer are being updated continuously from different thread.
private void AddSrc(int idx, int devId)
{
    Source src = ....;
    ScottPlot.Plottable.SignalPlotXY signal = formPlots[idx].Plot.AddSignalXY(src.Time.buffer, src.Value.buffer, label: devId.ToString());
}

private void UpdateChart(double minT, double maxT)
{
    for (int i = 0; i < MAX_CHART_NUM; i++)
    {
        formPlots[i].Plot.SetAxisLimitsX(minT, maxT);
        formPlots[i].Refresh(skipIfCurrentlyRendering: true);
    }
}

private void timer_tick(object sender, EventArgs e)
{
    UpdateChart();
}

It may be fair to say this isn't a detached legend issue, but rather it's a "renders are being called from multiple threads" issue. I don't know enough about your application to give a specific code example, but using the render lock you can briefly prevent automatic renders from occurring in a way that may solve your remaining issue
formsPlot1.Plot.RenderLock();
formsPlot1.Plot.RenderUnlock();

https://scottplot.net/faq/async/


Identify some "easy" bugs/feature requests for newcomers

As part of publicizing Sunder a bit more, we should identify easy issues for newcomers to work on, and label them with "easy" or similar.

I tagged a few. Mostly straight foward front-end ui tweaks: https://github.com/freedomofpress/sunder/issues?q=is%3Aissue+is%3Aopen+label%3Aeasy
The docs tag might also be a good starting place for folks who want to contribute but aren't coding-inclined: https://github.com/freedomofpress/sunder/issues?q=is%3Aissue+is%3Aopen+label%3Adocs


New Level Issue

Ancient Greece Level
Enemies:

For the walking enemy we plan to use a sprite of a three-headed dog called Cerberus. For the flying enemy, we plan to use a dragon spritesheet of a dragon named Chimera.

To do this we will extend the new "Enemy.js" file that our team created and change it to complete behaviors that we want for our enemy.
During this process, we will also use the Single Responsibility Principle to split up the update function in the Enemy.js file to have different responsibilities like updating the direction on the x axis and updating the direction on the y-axis. This will help in simplifying the code.

Main Player:

To create a new main player, we found a wizard spritesheet online. We are using a software called Piskel to edit this spritesheet to our liking.
This main player will extend the new "PlayerBase" that was created to make sure everything in the repository is using the same base player.

Background:

The background of the level will be a castle

This level will also implement another thing that are team created where certain enemies and objects only are in the level in certain difficulty modes. This is using the following code format:
difficulties: ["normal", "hard", "impossible"]

On a side note, this level will have a minilevel in it that will be explained one of the other issues

Constructing the player
The first main change we had made was the player for our level. The steps we had taken to do this were:

Find a sprite sheet with all of the basic required animations (idle, walk, run, jump)

After using this, we determined that the animations ran too fast, because there were only 8 frames per animation (optimal is anything from 16-48 in the case of our character)

To fix that, I duplicated each frame twice (creating three of each frame), allowing the sprite to run an animation three times per click, essentially slowing down the frame rate to one-third of the original speed.

Also, there were only right facing animations, so we had to duplicate our entire spritesheet and reverse each sprite over the y-axis so that it faced the other way. This was the hardest part of creating the sprite. In order to add a new animation to the player (ex. an attack animation), the current sprite sheet will have to be combined with a sprite sheet of the attack animation.

Original:
  ---->

Modified:
  <---- and ---->

After preparing the sprite sheet, the last thing to do was creating a playerGreece.js file using Player.js and after doing so, we modified the collisions to be with Cerberus (our version of a goomba), Chimera (our version of a flying goomba), and the Greece flag (our version of the endpoint)

Creating Cerberus
The next major change to our game level was our enemy. This one specifically was the modification to the goomba, using enemy.js

Cerberus is the hound that guards the gates of the underworld, in Greek mythology. For this reason, we chose Cerberus to guard the "endpoint" of the level.

To create Cerberus, we extended Enemy.js
Since Enemy.js has a built in feature that allows the image file (assuming you are using a image file and not a sprite sheet) to change directions based on which direction it is moving in. This is an extremely helpful feature for adding some detail to the visual aspect of the level itself.
Creating Chimera (the dragon)
Of course, with every normal goomba, there's also flying goombas. To match the ancient Greece theme throughout our level, we used Chimera as our flying goomba.

In Greek mythology, Chimera is the fire-breathing monster that destroys two districts of Greece, until it is slain by a warrior. In the same way, Chimera blocks the pathway to the endpoint of the level until she is eliminated by the player.

To create Chimera, we extended the flying goomba enemy.
We also added Chimera as an enemy in gamesetup.js so that it could be used in the game objects for our level.
dragon: {
src: "/images/platformer/sprites/dragon.png",
width: 152,
height: 119,
scaleSize: 60,
speedRatio: 0.7, },

Similar to Cerberus, we coded our own "direction change" every time Chimera changed direction. We did this using the following code:
if (this.speed < 0) {
this.canvas.style.transform = 'scaleX(1)'; }
else { this.canvas.style.transform = 'scaleX(-1)'; }

Platforms
As for the platforms, we used the following image, a block of sandstone. We used this in the game objects, as shown below.

Endpoint
The endpoint of our level was the Greek flag. We had reduced the resolution in the level intentionally, so that it appears pixelated. We decided to do this to match the pixelated theme of  our entire level, fitting in with the entire game, too!

Putting it all together
This was the final step of our game level. This was a fairly simple process as we had done this before with a (now scrapped) level for a previous assignment.
The bulk of this part was arranging the many sandstone blocks we had created, in the gameobjects. Once this had been done, our level was complete!
        // Greece Game Level definition...
        const greeceGameObjects = [
          // GameObject(s), the order is important to z-index...
          { name: 'greece', id: 'background', class: Background, data: this.assets.backgrounds.greece },
          { name: 'grass', id: 'platform', class: Platform, data: this.assets.platforms.grass },
          { name: 'sandstone', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.sandstone, xPercentage: 0.2, yPercentage: 0.82 },
          { name: 'sandstone', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.sandstone, xPercentage: 0.2368, yPercentage: 0.82 },
          { name: 'sandstone', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.sandstone, xPercentage: 0.2736 , yPercentage: 0.82 },
          { name: 'sandstone', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.sandstone, xPercentage: 0.3104, yPercentage: 0.82 },
          { name: 'sandstone', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.sandstone, xPercentage: 0.3472, yPercentage: 0.82 },
          { name: 'sandstone', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.sandstone, xPercentage: 0.384, yPercentage: 0.76 },
          { name: 'sandstone', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.sandstone, xPercentage: 0.4208, yPercentage: 0.70 },
          { name: 'sandstone', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.sandstone, xPercentage: 0.5090, yPercentage: 0.64 },
          //{ name: 'sandstone', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.sandstone, xPercentage: 0.5642, yPercentage: 0.34 },
          //{ name: 'sandstone', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.sandstone, xPercentage: 0.5274, yPercentage: 0.34 },
          //{ name: 'sandstone', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.sandstone, xPercentage: 0.4906, yPercentage: 0.34 },
          { name: 'sandstone', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.sandstone, xPercentage: 0.6, yPercentage: 1 },
          { name: 'sandstone', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.sandstone, xPercentage: 0.6, yPercentage: 0.94 },
          { name: 'sandstone', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.sandstone, xPercentage: 0.6, yPercentage: 0.88 },
          { name: 'sandstone', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.sandstone, xPercentage: 0.6, yPercentage: 0.82 },
          { name: 'sandstone', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.sandstone, xPercentage: 0.6, yPercentage: 0.76 },
          { name: 'sandstone', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.sandstone, xPercentage: 0.6, yPercentage: 0.70 },
          //{ name: 'sandstone', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.sandstone, xPercentage: 0.6, yPercentage: 0.64 },
          //{ name: 'sandstone', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.sandstone, xPercentage: 0.6, yPercentage: 0.58 },
          //{ name: 'sandstone', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.sandstone, xPercentage: 0.6, yPercentage: 0.52 },
          //{ name: 'sandstone', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.sandstone, xPercentage: 0.6, yPercentage: 0.46 },
          //{ name: 'sandstone', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.sandstone, xPercentage: 0.6, yPercentage: 0.40 },
          { name: 'sandstone', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.sandstone, xPercentage: 0.6, yPercentage: 0.34 },
          { name: 'sandstone', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.sandstone, xPercentage: 0.6, yPercentage: 0.28 },
          { name: 'sandstone', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.sandstone, xPercentage: 0.6, yPercentage: 0.22 },
          { name: 'sandstone', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.sandstone, xPercentage: 0.6368, yPercentage: 0.64 },
          //{ name: 'sandstone', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.sandstone, xPercentage: 0.6, yPercentage: 0.16 },
          //{ name: 'sandstone', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.sandstone, xPercentage: 0.6, yPercentage: 0.1 },
          //{ name: 'sandstone', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.sandstone, xPercentage: 0.6, yPercentage: 0.06 },
          { name: 'sandstone', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.sandstone, xPercentage: 0.75, yPercentage: 1 },
          { name: 'sandstone', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.sandstone, xPercentage: 0.75, yPercentage: 0.94 },
          { name: 'sandstone', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.sandstone, xPercentage: 0.75, yPercentage: 0.88 },
          { name: 'sandstone', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.sandstone, xPercentage: 0.75, yPercentage: 0.82 },
          { name: 'sandstone', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.sandstone, xPercentage: 0.75, yPercentage: 0.76 },
          { name: 'sandstone', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.sandstone, xPercentage: 0.75, yPercentage: 0.70 },
          { name: 'sandstone', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.sandstone, xPercentage: 0.75, yPercentage: 0.64 },
          { name: 'sandstone', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.sandstone, xPercentage: 0.75, yPercentage: 0.58 },
          { name: 'sandstone', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.sandstone, xPercentage: 0.75, yPercentage: 0.52 },
          //{ name: 'sandstone', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.sandstone, xPercentage: 0.75, yPercentage: 0.46 },
          //{ name: 'sandstone', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.sandstone, xPercentage: 0.75, yPercentage: 0.40 },
          //{ name: 'sandstone', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.sandstone, xPercentage: 0.75, yPercentage: 0.34 },
          //{ name: 'sandstone', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.sandstone, xPercentage: 0.75, yPercentage: 0.28 },
          { name: 'sandstone', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.sandstone, xPercentage: 0.75, yPercentage: 0.22 },
          //{ name: 'sandstone', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.sandstone, xPercentage: 0.75, yPercentage: 0.16 },
          //{ name: 'sandstone', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.sandstone, xPercentage: 0.75, yPercentage: 0.1 },
          //{ name: 'sandstone', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.sandstone, xPercentage: 0.75, yPercentage: 0.06 },
          { name: 'cerberus', id: 'cerberus', class: Cerberus, data: this.assets.enemies.cerberus, xPercentage:  0.2, minPosition: 0.05, difficulties: ["normal", "hard", "impossible"]},
          { name: 'cerberus', id: 'cerberus', class: Cerberus, data: this.assets.enemies.cerberus, xPercentage:  0.5, minPosition: 0.3, difficulties: ["normal", "hard", "impossible"]},
          { name: 'cerberus', id: 'cerberus', class: Cerberus, data: this.assets.enemies.cerberus, xPercentage:  0.7, minPosition: 0.1, difficulties: ["normal", "hard", "impossible"]},//this special name is used for random event 2 to make sure that only one of the Goombas ends the random event
          { name: 'dragon', id: 'dragon', class: Dragon, data: this.assets.enemies.dragon, xPercentage:  0.5, minPosition:  0.05},
          { name: 'knight', id: 'player', class: PlayerGreece, data: this.assets.players.knight },
          { name: 'flag', id: 'flag', class: Flag, data: this.assets.obstacles.flag },
          { name: 'complete2', id: 'background', class: BackgroundTransitions,  data: this.assets.backgrounds.complete2 },
        ];

        // Greece Game Level added to the GameEnv ...
           new GameLevel( {tag: "ancient greece", callback: this.playerOffScreenCallBack, objects: greeceGameObjects} );


Use Solr node-healthcheck for probes

Now that the operator expects Solr versions >=8.11, we can use Solr's /admin/info/health endpoint as our default liveness and readiness probes.

Note, this is a part of #616
Also I think it would be good to keep the /system handler in use for the Liveness probe (since that says whether Solr is running or not), and use the /health handler for the Readiness probe. Some kubernetes environments like these probes to be different, and also I see a problem where Solr is restarted on GC pauses (causing ZK live node issues), when that would only make the problem worse. See #504 for some more information.

Ah ok, makes sense.  I didn't realize there'd been some discussion around differentiating them - will take a second pass for that shortly.

Ah, good call - done!

Thinking on this a bit more, are we sure we want to use /admin/info/health for readiness probes?
Unlike the /system, /health will return an error on nodes with bad ZK connections and prevent them from receiving traffic if ZK goes down.  That makes sense for lots of traffic like admin requests or updates - no point sending any of those requests to a SolrCloud node that has no ZK.  But it'll block other traffic that would've succeeded too - like queries, which Solr can sometimes continue to serve even without ZK.
Overall I think the additional intelligence and fidelity that /health gives us as a readiness probe is worth this slight degradation in how we'd route traffic in response to a total catastrophe.  Just wanted to call it out in case others disagree.  I'll add a sentence or two documenting this aspect of things and then merge, but I'll leave this out here for a few more days to give folks a chance to chime in.


Can't figure out JS runtime of addin, docs not clear

Hello,
I would like to figure out the JS runtime which Excel uses to run the addin we're developing, but the docs on how exactly to do this are very sparse. Namely, it says that it should be available in the "Personality menu" under "Security info", but there is no such info available for us (picture below).

The docs do say that "The runtime isn't included on the dialog in older versions of Office" but I wouldn't say that our Office version (picture below) is that old?

As such, I wanted to ask what I could do to figure out the JS runtime?
Kind regards,
Filip

Windows specs
Edition	Windows 10 Enterprise
Version	21H2
Installed on	08/02/2022
OS build	19044.1706
Experience	Windows Feature Experience Pack 120.2212.4170.0

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

ID: fc051b98-1aaa-20ad-b740-6ac4d377529e
Version Independent ID: fc051b98-1aaa-20ad-b740-6ac4d377529e
Content: Debug Office Add-ins - Office Add-ins
Content Source: docs/testing/debug-add-ins-overview.md
Product: non-product-specific
Technology: add-ins
GitHub Login: @o365devx
Microsoft Alias: o365devx

Hi @jkscx,
Thanks for reaching out. @Rick-Kirkham, could you please help provide clarity here?

@jkscx Thanks for your interest in Office Add-ins.
The main way of determining what runtime is being used is by consulting the table in the article, Browsers used by Office Add-ins. See the sentence immediately above the Tip that you quoted. The Tip is only meant to point out an alternate, easier way that is sometimes available. When it is not, you have to use the table.
Since you are on Windows 10 version greater than 1903 and you have an M365 version that is between 16.0.11629 and 16.0.13530.20424, the 3rd row from the bottom of the table applies to you. So, your computer uses Microsoft Edge with original WebView (EdgeHTML).
Your version of M365 is 1906, which is 3 years old. That does count as "older" in the context of discussing the Personality menu. The reason we are vague and say "older" is because there are some complexities in determining where the Personality menu is supported; it is not simply a matter of being supported by all builds after a certain specified build number. It isn't worth documenting these complexities because if people find that the Security Info isn't there, they can just fall back to using the table.
I'll close this issue for now, but you can still add comments to it and we will see them.

@Rick-Kirkham Thank you very much for the quick and detailed reply.
Sorry if I phrased my question badly, I know about the table which you mentioned and came to the same conclusion as you, but wanted to know if there is a way to get the runtime info at runtime (pun not intended). The reason being that I want to use the WebView2 runtime and followed the guide in footer 4 of the article which you linked on how to enable it, but not sure if I got it to work. That's why getting the runtime info would be useful.
Also thanks for informing me about the Excel version being that old (thought that it was max 1-2y old), have requested our company's IT support to allow me to update to something newer to mitigate this issue. But just for completeness sake, is there a way to the runtime info at runtime for older versions (if not by GUI, then maybe via code in the add-in)?

The only way that I know of to determine the runtime at runtime the technique described in Determine at runtime if the add-in is running in Internet Explorer. This links to another article that tells you what strings to look for.

Will check out, thank you for the help :)


Better bucket name validation

Validation rules in here implemented: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html

Are all the rules in that list implemented? I couldn't see:

Bucket names must begin and end with a letter or number.
Bucket names must not contain two adjacent periods.

Is it possible to validate the uniqueness of the name at this stage do you think?

Bucket names must be unique across all AWS accounts in all the AWS Regions within a partition. A partition is a grouping of Regions. AWS currently has three partitions: aws (Standard Regions), aws-cn (China Regions), and aws-us-gov (AWS GovCloud (US)).
A bucket name cannot be used by another AWS account in the same partition until the bucket is deleted.

Is it possible to validate the uniqueness of the name at this stage do you think?

Yes, it is! From: https://platform.readme.trade.gov.uk/components/addons/#new-s3-bucket
Buckets must have globally unique names and need to be defined for each environment. Check if a bucket exists by running:
aws s3api head-bucket --bucket <bucket>

A 404 response means the bucket name is available. 200, 403 or 400 means the bucket already exists.

The double-period rule is already validated. Missed the start/end with a letter/number. I'll also add the validatation that the name is free.


Input element using mdInput when binding model has initial state as dirty in IE

Bug, feature request, or proposal:
Bug
What is the expected behavior?
Input element using mdInput when binding model has initial state as pristine in IE
What is the current behavior?
Input element using mdInput when binding model has pristine state as pristine in IE
What are the steps to reproduce?
Plunker template: https://plnkr.co/edit/0W0Q9nSRmmKSLUnSdoO5?p=preview
Inspect input in browser development tool. input element using mdInput has ng-pristine CSS class in Chrome/Firefox/Edge while they have ng-dirty CSS class in IE

IE
Chrome/Firefox/Edge

input without mdInput directive
pristine
pristine

input with mdInput directive
dirty
pristine

Which versions of Angular, Material, OS, browsers are affected?
Material 2.0-beta2
Angular ^2.3
IE 11
Is there anything else we should know?
This did not happen in Material2.0-beta1

duplicate of #3256