[Bug] Spring Cloud Azure Storage file doesn't support path contains directory.

Context
When using Spring Resource and Spring Cloud Azure Storage file to read and write files, if the resource location configured with pattern azure-file:fileshare/foldera/folderb/folderc/a.txt
Steps to reproduce issue
Use the sample to demonstrate this issue:
Configure the application.yml
spring:
  cloud:
    azure:
      storage:
        fileshare:
          account-name: [storage-account-name]
          account-key: [storage-account-access-key]
          endpoint:  [Fill storage File service endpoint URL copied from portal]
# Resource location, used in this sample
resource:
  file: [azure-file://[your-fileshareName]/[your-fileName]]

Configure resource:file with patterns: azure-file:${yourfileshare}/a.txt , it will work.
Configure resource:file with patterns: azure-file:${yourfileshare}/foldera/folderb/folderc/a.txt, it will fail.

Expected behavior
It's expect to create  folders automatically  when configure resource:file with patterns: azure-file:${yourfileshare}/foldera/folderb/folderc/a.txt.

Do we support it now?

Do we support it now?

@saragluna  No, still not support.

https://stackoverflow.com/questions/52593360/azure-file-storage-create-nested-directories

Linked issue: https://github.com/hashicorp/terraform/issues/27379

I would like to work on this issue if nobody else is on it and is still relevant.
After some investigation, the problem starts at azure-sdk-for-java/StorageFileResource.java . The create method does not take into account directories, only files thus creating a file only for existing paths.  By using the ShareDirectoryClient there it is possible to create all the necessary directories if they do not exist before creating the file.
But there is another issue with the ShareDirectoryClient. As mentioned by @saragluna there is a limitation in the underlying API used by the SDK. You can create the path example but not example/nested/path. It would be possible to update the SharedDirectoryClient and enable the creation of nested paths but if this is an intentional limitation to mirror the API, it can be done elsewhere.

Thanks @kdoul.
Hi @jaschrep-msft @alzimmermsft @ibrahimrabab, is it by design that SharedDirectoryClient doesn't support the creation of nested paths?

Hi @saragluna and @kdoul ,
It is by design that ShareDirectoryClient cannot support creation of nested paths, and this isn't something we plan on supporting in the future. It would have to be up to the user to properly manage creating directories, while keeping in mind that there could be concurrency involved.

/assign

Hi, can I take this up?

Hi, can I take this up?

Sure,  thanks for improve


Documentation doesn't build

Since we moved pyproject.toml, the documentation fails to build.

I can take a look at this after the ACL deadline the 15th of feb.


property_sets not working

Community Note

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

Terraform Version
12.17
Affected Resource(s)
property_sets array on all repositories.
Terraform Configuration Files
I previously had property_sets = [artifactory] set on all repos (remote and local). I later removed property_sets from my repo resource and ran tf apply. However if I navigated to any of my local repos and went to Advanced, I could see that property_sets was still showing Artifactory property as Selected. If I ran tf plan once more, it confirmed my findings, since it again showed that property_sets on each repo resources needed changing.
I then tried passing an empty property_sets array instead of deleting the property from the repo resource. Unfortunately that exhibits the same issue.
Is this is a known bug or some issue with Jfrog API?
Debug Output
NA
Panic Output
NA
Expected Behavior
property_sets property/array should get updated as per terraform code.
Actual Behavior
property_sets value get ignored after first apply.

@ShreyasNBS From what I've seen, the 'artifactory' property set seems to be automatically re-applied after it gets removed. I noticed that there is no property set with that name in the property sets page, so I think it's an empty default that the server just keeps applying as a placeholder for some reason. I'm not sure if it also gets applied to non-empty property set lists as well or just when the list is empty. Hope this helps.


Add GITHUB_TOKEN environment variable at tflint runtime

I would like to add an environment variable for tflint --init runtime as the following error is occurring frequently.
Run<EMAIL_ADDRESS>Running tflint --init
/home/runner/.local/share/aquaproj-aqua/bin/tflint --init
time="2022-12-20T03:45:22Z" level=info msg="download and unarchive the package" aqua_version=1.25.0 env=linux/amd64 exe_name=tflint exe_path=/home/runner/.local/share/aquaproj-aqua/pkgs/github_release/github.com/terraform-linters/tflint/v0.43.0/tflint_linux_amd64.zip/tflint package=terraform-linters/tflint package_name=terraform-linters/tflint package_version=v0.43.0 program=aqua registry=standard
Installing `aws` plugin...
Failed to install a plugin; Failed to fetch GitHub releases: GET https://api.github.com/repos/terraform-linters/tflint-ruleset-aws/releases/tags/v0.21.1: 403 API rate limit exceeded for **.***.**.***. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.) [rate reset in 20m11s]

Supported Information

This limitation can be a problem if you need to run --init frequently, such as in CI environments. If you want to increase the rate limit, you can send an authenticated request by setting an OAuth2 access token in the GITHUB_TOKEN environment variable.
https://github.com/terraform-linters/tflint/blob/master/docs/user-guide/plugins.md#avoiding-rate-limiting

Thank you for your contribution!
It looks good.

Released. https://github.com/suzuki-shunsuke/github-action-tflint/releases/tag/v0.1.5


Is it anti-pattern to create component 100% by composition api #822

Recently I start my first vue3 project and I found the new feature Composition API. I wonders whether it is anti-pattern or not to 100% adopt Composition API to implement component? Because originally I think the purpose of Composition API is to encapsulate logic and can be imported by components. I searched a lot and cannot determine: lots of articles introduce the comparison between Composition API and Options API that looks like I even can implement through Composition API 100% without Options API.
I know it's working and many voices on internet suggest so. Just wondering is it anti-pattern or not? I don't wanna abuse Composition API if originally it's not design to implement a view component.
Appreciate in advance, stay safe🤙

Certainly not an anti-pattern and in fact, probably ideal.

Certainly not an anti-pattern and in fact, probably ideal.


ENYO-5579: Changed to call focus() function of the target element with preventScroll option

Checklist

[x] I have read and understand the contribution guide
[x] A CHANGELOG entry is included
[ ] At least one test case is included for this feature or bug fix
[x] Documentation was added or is not needed
[ ] This is an API breaking change

Issue Resolved / Feature Added
Not only native versions but also JS version of lists has an issue that the container node is scrolled to show up the focused element is located in the center of the container's viewport when a child element's focus API is called.
Resolution
So far, we applied some device-specific way to prevent scrolling by focus for native lists, but the legacy solution does not work on JS versions.
We have a few ways to try and it looks that the best way is to implement the standard way to prevent scroll by focus. (See the second link at the bottom.)
Additional Considerations
Beside spotlight, there are several focus() calls in ui and moonstone and it looks okay to change only spotlight regarding purposes of each code blocks.
Links
ENYO-5579
https://html.spec.whatwg.org/multipage/interaction.html#dom-focusoptions-preventscroll

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

LGTM

@viodragon2
I thought that we actually don't need to make it configurable. Scroll position by focus is not standardized so Webkit family including Blink scrolls to make a focused element to the center, and Firefox scrolls to the close edge. So UI devs need to handle the position anyway.
But, in general, I agree to make it configurable and also agree with you to close this one after the original your working branch is finished up.

Note: @viodragon2's PR is #1906.

Closing in favor of #1918


Missing Items & Voucher

Hello Staff of Oblique!
I lost 1x Park Ball and 1x Gender Voucher when the server imploded and rolled back my inventory/data. The Voucher was bought off of Christo I think? (Not 100% sure) for 8K right before things got wonky. I've also lost ~10 claim chunks I purchased from the salesman for my waiting-for-approval shop. If you have the time, can you please replace these items and claims? Thanks!
 If there's nothing else, feel free to close the ticket ;)

Thank you!


REST API calls to configure Vulnerability Assessment (VA) on a Storage Account behind firewall using Storage Account Access key fails

Hi,
As per the documentation on this link - https://docs.microsoft.com/en-us/rest/api/sql/servervulnerabilityassessments/createorupdate
SQL Vulnerability Assessment (VA) should be configurable using REST API for storage account behind firewall using Storage Account Access Key.
As per the documentation it should be achievable but i have tested and it fails. I had raised support ticket<PHONE_NUMBER>02250 for this issue and got feedback that currently this feature is not supported at the moment and there is no ETA.
This feature is important for us because we use IaC tools which use Azure REST API calls to deploy and configure the AzSQL server end-to-end. So at the moment our automation is broken and would like this bug to be fixed ASAP.

Hi,
SQL VA supports storage authentication using the server's managed identity (that is granted permissions on the storage).
If your storage is behind a firewall then keys will not work.
To set VA to use a managed identity, you will first have to first set a managed identity on the server, give it permissions on the storage (Storage Blob Contributor), and then set VA to use a managed identity by not supplying any keys.
This ARM template will create a managed identity on the server (if not created already), grant permissions for the server's managed identity on the storage, and enable VA:
{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "<IP_ADDRESS>",
    "parameters": {
        "serverName": {
            "type": "string",
            "defaultValue": "[uniqueString('sql', resourceGroup().id)]",
            "metadata": {
                "description": "The name of the SQL logical server."
            }
        },
        "location": {
            "type": "string",
            "defaultValue": "[resourceGroup().location]",
            "metadata": {
                "description": "Location for all resources."
            }
        }
    },
    "variables": {
        "serverResourceGroupName": "[resourceGroup().name]",
        "subscriptionId": "[subscription().subscriptionId]",
        "uniqueStorage": "[uniqueString(variables('subscriptionId'), variables('serverResourceGroupName'), parameters('location'))]",
        "storageName": "[tolower(concat('sqlva', variables('uniqueStorage')))]",
        "uniqueRoleGuid": "[guid(resourceId('Microsoft.Storage/storageAccounts', variables('storageName')), variables('storageBlobContributor'), resourceId('Microsoft.Sql/servers', parameters('serverName')))]",
        "StorageBlobContributor": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'ba92f5b4-2d11-453d-a403-e96b0029c9fe')]"
    },
    "resources": [
        {
            "type": "Microsoft.Sql/servers",
            "apiVersion": "2020-02-02-preview",
            "name": "[parameters('serverName')]",
            "location": "[parameters('location')]",
            "identity": "SystemAssigned",
            "properties": {},
            "resources": [
                {
                    "type": "securityAlertPolicies",
                    "apiVersion": "2020-02-02-preview",
                    "name": "Default",
                    "dependsOn": [
                        "[resourceId('Microsoft.Sql/servers', parameters('serverName'))]"
                    ],
                    "properties": {
                        "state": "Enabled",
                        "emailAccountAdmins": true
                    }
                },
                {
                    "type": "vulnerabilityAssessments",
                    "apiVersion": "2020-02-02-preview",
                    "name": "Default",
                    "dependsOn": [
                        "[resourceId('Microsoft.Sql/servers', parameters('serverName'))]",
                        "[resourceId('Microsoft.Sql/servers/securityAlertPolicies', parameters('serverName'), 'Default')]",
                        "[resourceId('Microsoft.Storage/storageAccounts', variables('storageName'))]"
                    ],
                    "properties": {
                        "storageContainerPath": "[if(parameters('enableADS'), concat(reference(resourceId('Microsoft.Storage/storageAccounts', variables('storageName'))).primaryEndpoints.blob, 'vulnerability-assessment'), json('null'))]",
                        "recurringScans": {
                            "isEnabled": true,
                            "emailSubscriptionAdmins": true
                        }
                    }
                }
            ]
        },
        {
            "type": "Microsoft.Storage/storageAccounts",
            "apiVersion": "2019-06-01",
            "name": "[variables('storageName')]",
            "location": "[parameters('location')]",
            "sku": {
                "name": "Standard_LRS"
            },
            "kind": "StorageV2"
        },
        {
            "scope": "[concat('Microsoft.Storage/storageAccounts/', variables('storageName'))]",
            "type": "Microsoft.Authorization/roleAssignments",
            "apiVersion": "2020-04-01-preview",
            "name": "[variables('uniqueRoleGuid')]",
            "dependsOn": [
                "[resourceId('Microsoft.Sql/servers', parameters('serverName'))]",
                "[resourceId('Microsoft.Storage/storageAccounts', variables('storageName'))]"
            ],
            "properties": {
                "roleDefinitionId": "[variables('StorageBlobContributor')]",
                "principalId": "[reference(resourceId('Microsoft.Sql/servers', parameters('serverName')), '2020-02-02-preview', 'Full').identity.principalId]",
                "scope": "[resourceId('Microsoft.Storage/storageAccounts', variables('storageName'))]",
                "principalType": "ServicePrincipal"
            }
        }
    ]
}


ES2015 class properties should be documented when @hideconstructor is used

If @hideconstructor is present in an ES2015 constructor JSDoc comment the Constructor section and calling instructions are removed as expected.
However, any @property documentation from the class JSDoc comment also appears to be removed, which seems wrong as these document "instance"-related concepts that are independent of whether the constructor is part of the public API.
I propose that the properties table should be emitted in the context of the class documentation, and only @param values associated with the constructor be placed in the constructor section.

Is there progress here?


Problems about HCLG.fst needed by "train_transformer_se.py"

Hi, I'm implementing your paper "A TRANSFORMER WITH INTERLEAVED SELF-ATTENTION AND CONVOLUTION FOR HYBRID ACOUSTIC MODELS", and I'v got some questions bothering me.
In kaldi setup, sequence training need to create a phone-level language model and denominator fst, which is called HCP in this blog (https://desh2608.github.io/2019-05-21-chain/). In your code, I find that the script "train_transformer_se.py" needs a direction that contains HCLG.fst.
Is the HCLG.fst needed here is equal to the HCP builded based on a phone-level LM.?

Hi, you are talking about LF-MMI training of Kaldi. The SE training script for transformer model is using lattice-based approach. For LF-MMI training, please refer to train_chain.py in the "bin" folder. Please note that, the chain model training script only uses batch size as 1. I will update the recipe to support large batch size in the near future.

Oh, Thanks !!!


feat: support apply more environment configs

Summary
More environment configurations can be used in rsbuild builtin plugins.
Related Links
https://github.com/web-infra-dev/rsbuild/issues/2620

Checklist

[ ] Tests updated (or not required).
[ ] Documentation updated (or not required).

We need more e2e cases for environment config


Window header can't show japanese text

A header of Lumina desktop's window dose not work well on Japanese localization.
e.g. Window header's text on Japanese include box symbol.

This is a problem with Fluxbox and needs to be reported to them[1].
While I am not positive about the source of the issue, I would hazard a guess that Fluxbox is not using UTF-8 compatible fonts/strings.
[1] https://sourceforge.net/p/fluxbox/bugs/


Install fails in cmake

Hi, I really have no idea at all what I'm doing when it comes to cmake, so I'm sorry if I am missing something obvious.
Since the move to pyscf-forge, I havent been able to install the version from here. I am trying to follow the guide in the doc, although there are some additional steps I know I need to do to get it to work on the HPC i have access to. but regardless, I was able to install the version from https://github.com/MatthewRHermes/mcpdft a few months ago, so it should be possible also with this.
Here is the output when I try to do a normal pip install:
python -m pip install --user git+https://github.com/pyscf/pyscf-forge
Collecting git+https://github.com/pyscf/pyscf-forge
  Cloning https://github.com/pyscf/pyscf-forge to /tmp/pip-wewpy73o-build
Requirement already satisfied: pyscf in /gpfs/backup/software/app/pyscf.org/pyscf/2.0.1/rt_gcc_openmpi/7.2.0-3.0.0/intelpython3.6-2019.1/lib/python3.6/site-packages (from pyscf-forge==1.0.0)
Requirement already satisfied: numpy in /gpfs/backup/software/app/intel/parallel_studio_xe/2019.1/intelpython3/lib/python3.6/site-packages (from pyscf-forge==1.0.0)
Requirement already satisfied: scipy!=1.5.0,!=1.5.1 in /gpfs/backup/software/app/intel/parallel_studio_xe/2019.1/intelpython3/lib/python3.6/site-packages (from pyscf->pyscf-forge==1.0.0)
Requirement already satisfied: h5py>=2.7 in /gpfs/backup/software/app/pyscf.org/pyscf/2.0.1/rt_gcc_openmpi/7.2.0-3.0.0/intelpython3.6-2019.1/lib/python3.6/site-packages (from pyscf->pyscf-forge==1.0.0)
Requirement already satisfied: cached-property; python_version < "3.8" in /gpfs/backup/software/app/pyscf.org/pyscf/2.0.1/rt_gcc_openmpi/7.2.0-3.0.0/intelpython3.6-2019.1/lib/python3.6/site-packages (from h5py>=2.7->pyscf->pyscf-forge==1.0.0)
Installing collected packages: pyscf-forge
  Running setup.py install for pyscf-forge ... error
    Complete output from command /software/app/intel/parallel_studio_xe/2019.1/intelpython3/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-wewpy73o-build/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-vrc9okvw-record/install-record.txt --single-version-externally-managed --compile --user --prefix=:
    running install
    /software/app/pyscf.org/pyscf/2.0.1/rt_gcc_openmpi/7.2.0-3.0.0/intelpython3.6-2019.1/lib/python3.6/site-packages/setuptools/command/install.py:37: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
      setuptools.SetuptoolsDeprecationWarning,
    running build
    running build_ext
    Configuring extensions
    cmake -S/tmp/pip-wewpy73o-build/pyscf/lib -Bbuild/temp.linux-x86_64-3.6
    -- The C compiler identification is GNU 7.2.0
    -- The CXX compiler identification is GNU 7.2.0
    -- Check for working C compiler: /software/app/gnu/gcc/7.2.0/bin/gcc
    -- Check for working C compiler: /software/app/gnu/gcc/7.2.0/bin/gcc -- works
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Check for working CXX compiler: /software/app/gnu/gcc/7.2.0/bin/g++
    -- Check for working CXX compiler: /software/app/gnu/gcc/7.2.0/bin/g++ -- works
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- Performing Test COMPILER_SUPPORTS_SSE3
    -- Performing Test COMPILER_SUPPORTS_SSE3 - Success
    -- Looking for sgemm_
    -- Looking for sgemm_ - not found
    -- Looking for pthread.h
    -- Looking for pthread.h - found
    -- Looking for pthread_create
    -- Looking for pthread_create - not found
    -- Looking for pthread_create in pthreads
    -- Looking for pthread_create in pthreads - not found
    -- Looking for pthread_create in pthread
    -- Looking for pthread_create in pthread - found
    -- Found Threads: TRUE
    -- Looking for sgemm_
    -- Looking for sgemm_ - found
    -- Found BLAS: /software/app/intel/parallel_studio_xe/2019.1/compilers_and_libraries/linux/mkl/lib/intel64/libmkl_intel_lp64.so;/software/app/intel/parallel_studio_xe/2019.1/compilers_and_libraries/linux/mkl/lib/intel64/libmkl_gnu_thread.so;/software/app/intel/parallel_studio_xe/2019.1/compilers_and_libraries/linux/mkl/lib/intel64/libmkl_core.so;/software/app/gnu/gcc/7.2.0/lib64/libgomp.so
    -- Looking for cheev_
    -- Looking for cheev_ - found
    -- A library with LAPACK API found.
    -- Found OpenMP_C: -fopenmp (found version "4.5")
    -- Found OpenMP_CXX: -fopenmp (found version "4.5")
    -- Found OpenMP: TRUE (found version "4.5")
    -- Performing Test HAS_XHOST
    -- Performing Test HAS_XHOST - Failed
    -- Performing Test HAS_MARCH_NATIVE
    -- Performing Test HAS_MARCH_NATIVE - Success
    -- Performing Test HAS_IPO
    -- Performing Test HAS_IPO - Failed
    -- Include pyscf source dir: /software/app/pyscf.org/pyscf/2.0.1/rt_gcc_openmpi/7.2.0-3.0.0/intelpython3.6-2019.1/lib/python3.6/site-packages/pyscf
    CMake Error: File /software/app/pyscf.org/pyscf/2.0.1/rt_gcc_openmpi/7.2.0-3.0.0/intelpython3.6-2019.1/lib/python3.6/site-packages/pyscf/lib/config.h.in does not exist.
    CMake Error at CMakeLists.txt:90 (configure_file):
      configure_file Problem configuring file

    -- /software/app/pyscf.org/pyscf/2.0.1/rt_gcc_openmpi/7.2.0-3.0.0/intelpython3.6-2019.1/lib/python3.6/site-packages/pyscf/lib may need to be put in the environment LD_LIBRARY_PATH
    -- Configuring incomplete, errors occurred!
    See also "/tmp/pip-wewpy73o-build/build/temp.linux-x86_64-3.6/CMakeFiles/CMakeOutput.log".
    See also "/tmp/pip-wewpy73o-build/build/temp.linux-x86_64-3.6/CMakeFiles/CMakeError.log".
    error: command 'cmake' failed with exit status 1

    ----------------------------------------
Command "/software/app/intel/parallel_studio_xe/2019.1/intelpython3/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-wewpy73o-build/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-vrc9okvw-record/install-record.txt --single-version-externally-managed --compile --user --prefix=" failed with error code 1 in /tmp/pip-wewpy73o-build/

And here is the output when I try to install in a custom folder for development:
~/software/pyscf-forge $ git clone https://github.com/pyscf/pyscf-forge .
Cloning into '.'...
remote: Enumerating objects: 327, done.
remote: Counting objects: 100% (327/327), done.
remote: Compressing objects: 100% (170/170), done.
remote: Total 327 (delta 152), reused 299 (delta 135), pack-reused 0
Receiving objects: 100% (327/327), 173.53 KiB | 0 bytes/s, done.
Resolving deltas: 100% (152/152), done.
hehnl@hpclogin03 ~/software/pyscf-forge $ echo 'export PYSCF_EXT_PATH=/gpfs/backup/users/home/hehnl/software/pyscf-forge:$PYSCF_EXT_PATH' >> ~/.bashrc
hehnl@hpclogin03 ~/software/pyscf-forge $ cd
doc/      examples/ .git/     .github/  pyscf/
hehnl@hpclogin03 ~/software/pyscf-forge $ cd pyscf/lib/
hehnl@hpclogin03 ~/software/pyscf-forge/pyscf/lib $ mkdir build
hehnl@hpclogin03 ~/software/pyscf-forge/pyscf/lib $ cd build/
hehnl@hpclogin03 ~/software/pyscf-forge/pyscf/lib/build $ cmake ..
-- The C compiler identification is GNU 7.2.0
-- The CXX compiler identification is GNU 7.2.0
-- Check for working C compiler: /software/app/gnu/gcc/7.2.0/bin/gcc
-- Check for working C compiler: /software/app/gnu/gcc/7.2.0/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /software/app/gnu/gcc/7.2.0/bin/g++
-- Check for working CXX compiler: /software/app/gnu/gcc/7.2.0/bin/g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test COMPILER_SUPPORTS_SSE3
-- Performing Test COMPILER_SUPPORTS_SSE3 - Success
-- Looking for sgemm_
-- Looking for sgemm_ - not found
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Looking for sgemm_
-- Looking for sgemm_ - found
-- Found BLAS: /software/app/intel/parallel_studio_xe/2019.1/compilers_and_libraries/linux/mkl/lib/intel64/libmkl_intel_lp64.so;/software/app/intel/parallel_studio_xe/2019.1/compilers_and_libraries/linux/mkl/lib/intel64/libmkl_gnu_thread.so;/software/app/intel/parallel_studio_xe/2019.1/compilers_and_libraries/linux/mkl/lib/intel64/libmkl_core.so;/software/app/gnu/gcc/7.2.0/lib64/libgomp.so
-- Looking for cheev_
-- Looking for cheev_ - found
-- A library with LAPACK API found.
-- Found OpenMP_C: -fopenmp (found version "4.5")
-- Found OpenMP_CXX: -fopenmp (found version "4.5")
-- Found OpenMP: TRUE (found version "4.5")
-- Performing Test HAS_XHOST
-- Performing Test HAS_XHOST - Failed
-- Performing Test HAS_MARCH_NATIVE
-- Performing Test HAS_MARCH_NATIVE - Success
-- Performing Test HAS_IPO
-- Performing Test HAS_IPO - Failed
-- Include pyscf source dir: /software/app/pyscf.org/pyscf/2.0.1/rt_gcc_openmpi/7.2.0-3.0.0/intelpython3.6-2019.1/lib/python3.6/site-packages/pyscf
CMake Error: File /software/app/pyscf.org/pyscf/2.0.1/rt_gcc_openmpi/7.2.0-3.0.0/intelpython3.6-2019.1/lib/python3.6/site-packages/pyscf/lib/config.h.in does not exist.
CMake Error at CMakeLists.txt:90 (configure_file):
  configure_file Problem configuring file

-- /software/app/pyscf.org/pyscf/2.0.1/rt_gcc_openmpi/7.2.0-3.0.0/intelpython3.6-2019.1/lib/python3.6/site-packages/pyscf/lib may need to be put in the environment LD_LIBRARY_PATH
-- Configuring incomplete, errors occurred!
See also "/gpfs/backup/users/home/hehnl/software/pyscf-forge/pyscf/lib/build/CMakeFiles/CMakeOutput.log".
See also "/gpfs/backup/users/home/hehnl/software/pyscf-forge/pyscf/lib/build/CMakeFiles/CMakeError.log".

I did try doing this: /software/app/pyscf.org/pyscf/2.0.1/rt_gcc_openmpi/7.2.0-3.0.0/intelpython3.6-2019.1/lib/python3.6/site-packages/pyscf/lib may need to be put in the environment LD_LIBRARY_PATH
it changed nothing (the message remained)
I also added the CMake log files, if those help.
CMakeError.log
CMakeOutput.log

The error message is clear

CMake Error: File /software/app/pyscf.org/pyscf/2.0.1/rt_gcc_openmpi/7.2.0-3.0.0/intelpython3.6-2019.1/lib/python3.6/site-packages/pyscf/lib/config.h.in does not exist.

You can try pyscf 2.1.1 which has lib/config.h.in shipped in wheel. And building pyscf from source is always a reliable option.

Ok, thanks for the quick response. Unfortunately it isn't that simple to get a new pyscf version installed I don't think, so I will have to see if I can find a workaround.

It seems I spoke too soon. cmake works with that workaround, but make fails:
 make
[ 50%] Building C object CMakeFiles/clib_pdft.dir/gpfs/backup/users/home/hehnl/software/pyscf-forge/pyscf/mcpdft/nr_numint.c.o
In file included from /gpfs/backup/users/home/hehnl/software/pyscf-forge/pyscf/mcpdft/nr_numint.c:33:0:
/software/app/pyscf.org/pyscf/2.0.1/rt_gcc_openmpi/7.2.0-3.0.0/intelpython3.6-2019.1/lib/python3.6/site-packages/pyscf/lib/gto/grid_ao_drv.h:23:10: fatal error: cint.h: No such file or directory
 #include "cint.h"
          ^~~~~~~~

I couldn't find any cint.h file with which to do the same workaround again.
I understand if this is not a priority from anyone, as I guess it should work with the newest pyscf, but if someone knows any tricks I could maybe use to get it to work anyways, I would be quite grateful.

pyscf installed from pip or conda has only cint library but no header. So the former mrh program requires users compiling with pyscf (and libcint) SOURCE CODE. Of course pyscf-forge also need that. It should be documented.
So please install pyscf from source code. (it will get you libcint source code automatically)

In github.com/MatthewRHermes/mcpdft I had actually removed this dependency on cint.h by just copying the things I needed into nr_numint.c. However, it looks like PR #3 changed it back. I wonder what @sunqm thinks about the right way to resolve this. I would certainly like this to be compileable using pip.

pyscf installed from pip or conda has only cint library but no header. So the former mrh program requires users compiling with pyscf (and libcint) SOURCE CODE. Of course pyscf-forge also need that. It should be documented.
So please install pyscf from source code. (it will get you libcint source code automatically) That's not hard.

So I tried installing the newest pyscf version from source code, that seems to have worked. But even with this, cmake is failing for me. Again, I apologize if this has a simple solution that I am not seeing, and thanks to both of you for looking into my problems.
With this pyscf version, I can run examples from pyscf no problem, and was also able to install an extension module.
-- The C compiler identification is Intel <IP_ADDRESS>70817
-- The CXX compiler identification is Intel <IP_ADDRESS>70817
-- Check for working C compiler: /software/app/intel/parallel_studio_xe/2017.5/compilers_and_libraries/linux/bin/intel64/icc
-- Check for working C compiler: /software/app/intel/parallel_studio_xe/2017.5/compilers_and_libraries/linux/bin/intel64/icc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /software/app/intel/parallel_studio_xe/2017.5/compilers_and_libraries/linux/bin/intel64/icpc
-- Check for working CXX compiler: /software/app/intel/parallel_studio_xe/2017.5/compilers_and_libraries/linux/bin/intel64/icpc -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for sgemm_
-- Looking for sgemm_ - not found
-- Looking for pthread.h
[CMakeOutput.log](https://github.com/pyscf/pyscf-forge/files/10663127/CMakeOutput.log)
[CMakeError.log](https://github.com/pyscf/pyscf-forge/files/10663128/CMakeError.log)

-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Looking for sgemm_
-- Looking for sgemm_ - found
-- Found BLAS: /software/app/intel/parallel_studio_xe/2017.5/compilers_and_libraries/linux/mkl/lib/intel64/libmkl_intel_lp64.so;/software/app/intel/parallel_studio_xe/2017.5/compilers_and_libraries/linux/mkl/lib/intel64/libmkl_intel_thread.so;/software/app/intel/parallel_studio_xe/2017.5/compilers_and_libraries/linux/mkl/lib/intel64/libmkl_core.so;/software/app/intel/parallel_studio_xe/2017.5/compilers_and_libraries/linux/lib/intel64/libiomp5.so
-- Looking for cheev_
-- Looking for cheev_ - found
-- A library with LAPACK API found.
-- Found OpenMP_C: -qopenmp (found version "4.5")
-- Found OpenMP_CXX: -qopenmp (found version "4.5")
-- Found OpenMP: TRUE (found version "4.5")
-- Performing Test HAS_XHOST
-- Performing Test HAS_XHOST - Success
-- Performing Test HAS_MARCH_NATIVE
-- Performing Test HAS_MARCH_NATIVE - Success
-- Performing Test HAS_IPO
-- Performing Test HAS_IPO - Success
  File "<string>", line 1
    import pyscf; print(pyscf.__path__[0], end='')
                                              ^
SyntaxError: invalid syntax
-- Include pyscf source dir:
CMake Error: File /lib/config.h.in does not exist.
CMake Error at CMakeLists.txt:91 (configure_file):
  configure_file Problem configuring file

-- /lib may need to be put in the environment LD_LIBRARY_PATH
-- Configuring incomplete, errors occurred!
See also "/gpfs/backup/users/home/hehnl/software/pyscf/extensions/mcpdft/pyscf/lib/build/CMakeFiles/CMakeOutput.log".
See also "/gpfs/backup/users/home/hehnl/software/pyscf/extensions/mcpdft/pyscf/lib/build/CMakeFiles/CMakeError.log".

CMakeOutput.log
CMakeError.log

The SyntaxError probably means your python is too old. Have your python environment been activated?
At the beginning of this issue, your cmake can at least find the location of pyscf. That python environment should work.

The SyntaxError probably means your python is too old. Have your python environment been activated?
At the beginning of this issue, your cmake can at least find the location of pyscf. That python environment should work.

Thanks, yes that did it!

Oh sorry, pip install git+URL actually works for me with pyscf 2.1.1 or 2.2.1. So maybe there's no such problem.


Docker container works.

:tada: This PR is included in version 1.1.0 :tada:
Your semantic-release bot :package::rocket:


Non-basket components/templates

[x] Select airport page
[x] Airport not served landing page
[x] Fight details
[x] About page
[x] Dummy login page
[x] Create account (personal details + payment)
[x] Payment page
[x] Order confirmation

intro/flight
payment/confirmation

Initial templating done, styling to come


Pinned column: add unpin icon on pinned column

just made it always visible and red
could not use the FA stack feature, design issue + insufficient patience :-)


Wheater data rainfall

Is there any chance to implement a rainfall sensor?
vy 73 de Thomas, DL8TF

Hi @TF1987 , soon I will share a full WX station
meanwhile , because of the way the rain sensor works is somehow difficult to do it.
give me a few days more to share the Wx station over lora

Hi, sounds nice. We had a big flood here beginning June because of heavy rain. And now it would be very interesting to log some rain data.
vy 73 de Thomas, DL8TF

you would need LORA32
RS485 to TLL board
RS485 wind direction sensor
RS485 wind speed sensor
bme280
and also lux meter
and also rain mm sensor
is that ok?

As mentioned, I will only need rain sensor. Do you have any idea what kind of sensors are suitable? The firmware should then be able to read the sensor and send the data to APRS-IS.
vy 73 Thomas

take a look here :)
https://github.com/richonguzman/LoRa_APRS_Wx_Station


Add support for @Concurrent attribute on closures.

This allows one to specify @concurrent on closures, e.g.,
let fn = { @concurrent in ... }

@swift-ci please smoke test


Cancel uploading on user request.

Do we have opportunity to cancel uploading on user request in the SDK?

Not right now, but if someone creates a pull request with a proof of concept I would be interested in integrating these changes.


shouldOverrideUrlLoading does not seem to get called properly + appreciation post

First off, thanks so much for this project! 🙏
Saved me lots of time - wish I knew about this before ^^
During implementation of your library, I found a small problem (might as well be on my side)
When registering a WebViewClient() like this, I would normally expect the shouldOverrideUrlLoading function to be called.
wv?.webViewClient = object : WebViewClient() {
    override fun onReceivedError(view: WebView?,request: WebResourceRequest?,error: WebResourceError?) {
        //
    }
    override fun shouldOverrideUrlLoading(view: WebView?, request: WebResourceRequest?): Boolean {
        Log.d("LOGGER", "url-triggered")
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            if (request != null) {
                val u = request.url.toString()
                if(u.contains("keyword")) {
                    // website should not load, custom handler
                    return true
                }
            }
        }
    }
    override fun onPageFinished(view: WebView?, url: String?) {
        super.onPageFinished(view, url)
    }
    return super.shouldOverrideUrlLoading(view, request)
}

Expected

when loading a new url (calling wv?.loadUrl()) the shouldOverrideUrlLoading function should be called
as a result

url-triggered should be logged
the url should not be loaded, because of the return true

Actual

url gets loaded
shouldOverrideUrlLoading is not called; noting is logged

Possibility to Avoid this / get the expected behaviour
I would not call this a clean approach, but it works 🙄

override onPageStarted
check url
wv?.stopLoading()
wv?.onBackPressed()

Thanks!
If you have added a restricted set of allowed hostnames, either via addPermittedHostname or via addPermittedHostnames, then that set is evaluated first. So if the hostname of your (next) URL is not in that list, the request is cancelled immediately, before your own handler is called.
Other than that, when you set up a custom WebViewClient, your own handler should be called as you expect.
But, I’m afraid you might have to override the variant of shouldOverrideUrlLoading with String url as its second parameter (yes, although it’s deprecated), not the one with WebResourceRequest request. Can you try that?
(If this works, this aspect should really be fixed or documented. Sorry for that!)

Thanks for your response @ocram !
Indeed, overriding shouldOverrideUrlLoading(view: WebView?, url: String?) works.
Would be awesome if you could include this in the docs (or even had a fix 🙂)
Thanks again for your good work 👌
closing

Reopening until fixed.
Thanks again!


Please use the latest version of vscode-extension-telemetry dependency

This extension uses version 0.0.17 of vscode-extension-telemtetry  module.
The latest version of vscode-extension-telemtetry module (0.1.0) uses the latest version of applicationinsights module (1.0.6) which has the fix to prevent unnecessary patching of the require and other 3rd party modules.
For more details, please see https://github.com/Microsoft/vscode-extension-telemetry/issues/16

@markw-t fyi

Updated as of release 1.0.5.

Hey @vivlimmsft,
Just to confirm, you have updated vscode-extension-telemtetry to 0.1.0, correct?
When I logged the issue originally I was suggesting 0.0.22 after which I updated the issue description to 0.1.0

No, it's currently to 0.0.22. I will update vscode-extension-telemetry to 0.1.0 next release.

Fixed this back in VSCode IntelliCode 1.0.6


aktualizr: Bump to 2019.9 release and latest garage-sign.

I don't have a way to verify the serial numbers...

Do you mean the hashes of the garage-sign? Generally that should be caught by CI if there was a problem, so that's not something you have to worry about. :) Or did you mean something else? There aren't any big surprises here, I think.

I don't have a way to verify the serial numbers...
Do you mean the hashes of the garage-sign? Generally that should be caught by CI if there was a problem, so that's not something you have to worry about. :) Or did you mean something else? There aren't any big surprises here, I think.

That‘s what I meant. So there's nothing to be worried about.


Thanks for your great work and here is my test results!

I ran the test script on my single node machine, where I saw the memory cost of each attention:
    benchmark_forward(flash_attn_qkvpacked_func) # 2k. gpu memory
    benchmark_forward(ring_flash_attn_qkvpacked_func) # 4k8. gpu memory
    benchmark_forward(ring_flash_attn_qkvpacked_func_v2) # 14k. gpu memory
    benchmark_forward(zigzag_ring_flash_attn_qkvpacked_func) # 5k. gpu memory

And the running time of each attention:
flash_attn_qkvpacked_func 4470.3194011016185 iter/s, 0.22369766235351562 sec
ring_flash_attn_qkvpacked_func<PHONE_NUMBER>259765 iter/s, 3.0550265312194824 sec
ring_flash_attn_qkvpacked_func_v2<PHONE_NUMBER>7187344 iter/s, 3.219822406768799 sec
zigzag_ring_flash_attn_qkvpacked_func<PHONE_NUMBER>8407965 iter/s, 2.9377050399780273 sec

Is there something wrong?

the speed is correct, as the ring versions are doing 8 times more calculation than the native flash attn version (8 * 1 * 1 vs 1 * 8 * 8), so it should be at least 8 times slower. Now it's 13 time slowers, so there should be some room for improvement, but I'm not sure how much are there, because we has to do some copies (to(torch.bf16), to(torch.fp32)).
I'll check for the memory usage... 2x memory usage is probably the limit, because we need to do double buffer for the communication.

btw, could you share what GPU are you using and if they have nvlink connected? the ring attention does a lot of inter-gpu communication, so a fast interconnection is needed.

@ChawDoe We just improved the kernel performance and made the benchmark a bit larger (the origin one is too small to ignore kernel launch time). The current performance is:

which makes the ring kernel close the theoretic speed.

on my current 8*A100 1node
flash_attn_varlen_qkvpacked_func<PHONE_NUMBER>040498 iter/s, 0.15690089416503905 sec
ring_flash_attn_varlen_qkvpacked_func 17.99685353838967 iter/s, 5.55652685546875 sec
still slower than 8x

@foreverpiano
the varlen version is slow, because it requies too much copied, we may need to write some triton kernel for that...
could you give the the non-varlen version a test?

453.599 iter/s, 0.220 sec
17.332 iter/s, 5.770 sec
is there anything missing? @zhuzilin

@foreverpiano just run the benchmark with an A100 node, the result is:
# flash_attn_qkvpacked_func
471.527 iter/s, 0.212 sec
# ring_flash_attn_qkvpacked_func
33.347 iter/s, 2.999 sec
# zigzag_ring_flash_attn_qkvpacked_func
49.641 iter/s, 2.014 sec
# stripe_flash_attn_qkvpacked_func
45.937 iter/s, 2.177 sec

Could you check if your node has nvlink connection between GPUs? If not, the slow interconnection may greatly slow down ring attn.

the speed is correct, as the ring versions are doing 8 times more calculation than the native flash attn version (8 * 1 * 1 vs 1 * 8 * 8), so it should be at least 8 times slower. Now it's 13 time slowers, so there should be some room for improvement, but I'm not sure how much are there, because we have to do some copies (to(torch.bf16), to(torch.fp32)).
I'll check for the memory usage... 2x memory usage is probably the limit, because we need to do double buffer for the communication.

“the ring versions are doing 8 times more calculation”
I'm sorry I don't understand the meaning here. Does this mean that under the same input, ring attention requires more calculations, resulting in increased time consumption, or does it mean that ring attention processes more samples during the test, resulting in increased time consumption?


Java

Description 📜
Variable length arguments issue with documentation.
Fixes # <2217>

Type of change 📝

[X ] Doc#umentation (Content Creation in the form of codes or tutorials)

Domain of Contribution 📊

[X] Java_#Domain

Checklist ✅

[X] I follow Contributing Guidelines & Code of conduct of this project.
[X] I have performed a self-review of my own code or work.
[X] I have commented my code, particularly in hard-to-understand areas.
[X] My changes generates no new warnings.
[X] I'm GWOC'21 contributor

Screenshots / Gif (Optional) 📸

@shreya40 pls resolve the merge commit by making a new PR to the java branch only


follow-up: cancel health checks when a resource is not running

Description
Currently, we only cancel health checks when the ResourceHealthCheckService is stopped. We should instead start to run health checks on a resource whenever it gets into the Running state and stop running them when they are no longer Running.
I created a cancellation token to represent the lifecycle of an individual resource's periodical health check runs. It is added when the resource is determined to be Running, and it is cancelled (and health reports' statuses are set to null) when the resource is not.

Additionally, adds several more health check tests for different scenarios, including that reports are updated where the health status did not change but a report status did, and re-enables ResourcesWithHealthCheck_NotHealthyUntilCheckSucceeds  and so fixes #6385
Fixes #6450
Checklist

Is this feature complete?

[X] Yes. Ready to ship.
[ ] No. Follow-up changes expected.

Are you including unit tests for the changes and scenario tests if relevant?

[X] Yes
[ ] No

Did you add public API?

[ ] Yes

If yes, did you have an API Review for it?

[ ] Yes
[ ] No

Did you add <remarks /> and <code /> elements on your triple slash comments?

[ ] Yes
[ ] No

[X] No

Does the change make any security assumptions or guarantees?

[ ] Yes

If yes, have you done a threat model and had a security review?

[ ] Yes
[ ] No

[X] No

Does the change require an update in our Aspire docs?

[ ] Yes

Link to aspire-docs issue:

[X] No

Microsoft Reviewers: Open in CodeFlow

I'm not sure we want to do this. Health checks to resources is possibly a many to many relationship.
It's possibly also worth checking out whether the health check invocation is coming from the DefaultHealthCheckService or the ResourceHealthCheckService.

I'm not sure we want to do this. Health checks to resources is possibly a many to many relationship.

Yes that's true, but resource monitoring happens per-resource. We can cancel/restart monitoring per-resource at will

It's possibly also worth checking out whether the health check invocation is coming from the DefaultHealthCheckService or the ResourceHealthCheckService.

They are coming from ResourceHealthCheckService.

I can't comment on app hosting changes. I'm not fimilar with the health checks logic.

@davidfowl @mitchdenny this has been sitting a while without a response

cc @mitchdenny


frequent disconnection with mqtt sever and problem in subscribe

Attempting MQTT connection...[WiFiEsp] Connecting to test.mosquitto.org
[WiFiEsp] >>> TIMEOUT >>>
failed, rc=-2 try again in 5 seconds
Attempting MQTT connection...[WiFiEsp] Connecting to test.mosquitto.org

It's failing to create a TCP connection to the broker. Check you are setting up your network connection properly.


Build output includes unused JS with static adapter

Describe the bug
Using adapter-static and the config options: hydrate: false and router: false—and no JS within any components—.js files that aren't used are still output in ./build when running npm run build.
E.g. with this svelte.config.js:
import adapter from '@sveltejs/adapter-static';
const config = {
  kit: {
    target: '#svelte',
    hydrate: false,
    router: false,
    adapter: adapter(),
  }
};

I get an output index.html that includes no link or script tags (as expected), but there are output .js files such as ./build/start-*.js and .build/pages/index.svelte-*.js.
To Reproduce

Install "Skeleton" project using SvelteKit
Install adapter-static and add it tosvelte.config.js
set hydrate: false and router: false in svelte.config.js
run npm run build

Here's a reproduction example repo with the above configuration: https://github.com/matthew-ia/svelte-static-mvp
Expected behavior
Any files that aren't necessary for the build should not be included within ./build

  Adapter: adaper-static

Severity
Low – while this behavior was confusing—I was under the impression the site needed all that JS which led me down a rabbit hole trying to figure out how to remove it—the output index.html is still correct, and the use-case for having a 100% static, no-JS output is likely pretty niche.

For this purpose I have this line in my build pipeline: find ./build -name "*.js" | xargs rm
But having it output no unused assets would be definitely nice.

The user would still get a "100% static, no-JS" page as you mentioned, all those unused files would only exists in the server and won't be shipped to the user.
But, what happens when some of the pages used it, would we need to scan for all the generated html files and see if there's any JS files that aren't linked or used? I'm guessing this would increase the build time significantly, thus I'm not sure what our best approach should be here.

This is applicable to all pages, prerendered without router and hydration. Also slightly related #1197

There's not really any harm

This isn't strictly true. The harm is that you can't really rsync deploy the build output because it needs to be fixed in a separate build step.
If I, the user, set csr to false, I expect that no JavaScript is produced. Everything else is a bug.


Improve Homepage Body

The homepage's body is just the Slack sign-up form because we needed to still link to it and were in a hurry when this was thrown together.
We should consider adding the Slack link to the header too, but the body of the homepage should be more usable so people don't need to click on a header menu link to realize what's on the site. This could be particularly helpful for mobile where the menu links are hidden in a "hamburger" icon.

Added a banner photo and moved the Slack sign up form and Slack Login to their own links to avoid confusion for new or existing Slack users.
https://hackgreenville.com

Orgs list has been grouped by the type of organization and Inactive at the bottom. Also shows the homepage and Events page when you click on an org.
Hackgreenville has been cleaned up a bit to deal with long running annoyances and issues.
https://github.com/codeforgreenville/hackgreenville-com/issues
Homepage still needs some love but it at least has a banner
https://hackgreenville.com
Slack sign up form and Login are now their own links to avoid confusing new or existing Slack'ers
https://hackgreenville.com/join-slack


Update for Classic Era 1.14.4

I have virtually no experience with LUA, but these changes have corrected all of the errors I was experiencing in Classic Era.
I've also added a few if statements to disable functionality based on game version that isn't available in Classic Era, but is available in WotLK+.

Thank you for doing this!


Translation Request

This is not an issue but a request. On OpenLedger's welcome page  it greets as "Welcome to OpenLedger" . Currently In Turkish translation it is " Welcome to Graphene" . I would like it to be " Welcome to Blockchain" in Turkish since I believe the terminology has a wider recognition and it conveys a more familiar message. The "Graphene" is already appearing on the bottom left corner all the time. So it would  be " Blokzincirine Hoşgeldiniz" which is the translation of " Welcome to Blockchain" . Any thoughts?

I think you can translate it whichever way you think fits best.


Css for selected node

Hi guys,
I'm beginner of Angular2. I using ng2-tree in our project, and i want highlight selected node. How to implement it?
Thanks for support,

@vinhphamduc In your CSS you should override .tree .node-selected and .tree .node-selected:after (this one is responsible for underline in the default styles)
https://github.com/valor-software/ng2-tree/blob/master/src/styles.css#L106


Maybe world ?

I have try in other world, my world  and in my other world (converted java world)  this working in normal world but the bug is in world converted https://youtu.be/Sj93X-jBhNk

The world converted from java had a problem that chests could not be connected.
I can't fix that problem, but I'm thinking of an alternative to having one chest instead of a large one.

This version uses only one chest
I think this will open
https://poggit.pmmp.io/r/143073/StackStrage_dev-41.phar

Really nice thank you very mutch bro !!!


Nav Bar || Quick Links Dropdown menu

This component contains quick links for easy access to different applications under the Topcoder platform.
Component tree

quick-links-dropdown-menu

dropdown-menu-header

img(.quick-links-icon)

dropdown-menu-list(.quick-links-list)

std-list-item(.quick-link-item)

Requirements:

Create a branch off of master and make a PR to master
Should be responsive to support the mobile layout as rendered in the design specks
Reuse the dropdown-menu component

Taking this. Creating  branch off of dev instead as mentioned in the challenge description

Closing task. Thanks @reynard2007 for your hard work.


make heapster error out when unknown parameters are in sink url

Making heapster complain about unknown errors in the sink URL should be pretty useful to figure out why something doesn't work.

/remove-lifecycle stale

/lifecycle frozen


Introduce _root, _is_rooted, _is_rooted_directed_binary_tree

Codecov Report

Merging #74 (56d0ab6) into main (febc58f) will decrease coverage by 0.18%.
The diff coverage is 90.47%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main      #74      +/-   ##
==========================================
- Coverage   76.79%   76.61%   -0.18%
==========================================
  Files          58       59       +1
  Lines        3073     2904     -169
==========================================
- Hits         2360     2225     -135
+ Misses        713      679      -34

Impacted Files
Coverage Δ

src/ITensorNetworks.jl
77.77% <ø> (ø)

src/Graphs/abstractgraph.jl
59.45% <88.88%> (+29.45%)
:arrow_up:

src/Graphs/abstractdatagraph.jl
100.00% <100.00%> (ø)

src/binary_tree_partition.jl
98.92% <100.00%> (+0.69%)
:arrow_up:

src/abstractindsnetwork.jl
73.07% <0.00%> (-2.79%)
:arrow_down:

src/ITensorsExt/itensorutils.jl
69.23% <0.00%> (-2.20%)
:arrow_down:

src/itensors.jl
78.26% <0.00%> (-1.74%)
:arrow_down:

src/beliefpropagation.jl
92.59% <0.00%> (-0.86%)
:arrow_down:

src/treetensornetworks/solvers/solver_utils.jl
84.21% <0.00%> (-0.79%)
:arrow_down:

src/itensornetwork.jl
85.45% <0.00%> (-0.76%)
:arrow_down:

... and 37 more

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

Great, thanks!


fix(rawscript): Fix raw script injection

Previously adding a raw script would just error out in every case

That is very nice, thank you for the fix. The experimental features got put on hold for a while due to life and work, thanks for the fix and the prompt to get me to have another look, as I've got some extra items I was working on but stopped, as custom page layouts and all the toys with free JS injection are waiting for a proper play.

Thanks for the great work @TangleSpace!


Local nodes keep disconnecting.

Two nodes running on localhost keep disconnecting from each other. Disconnect is initiated by libp2p and not by sync or reputation change apparently. Logs have no useful information on why the disconnect has happened.
Node 1 started as:
polkadot -d /tmp/polkadot/ -lpeerset=trace,sync=trace,sub-libp2p=trace,libp2p=trace --out-peers 0

Node2 started as:
polkadot -d /tmp/polkadot2 --reserved-nodes /ip4/<IP_ADDRESS>/tcp/30333/p2p/QmYiJFSrLQdvWJLLF64RnWGvk92zSjaN49EP9rtNLDbNEo --reserved-only -l peerset=trace,sub-libp2p=trace,libp2p=trace

Nodes stay connected for about 10 seconds before disconnect and reconnect happens.

Nodes should stay connected.
Logs should have disconnect reason.

For what it's worth, disabling the discovery mechanism fixes the issue. It's still unclear to me what is happening.

What seems to happen is the following:

Node 2 connects to node 1.
Both nodes also perform regular (Kusama?) DHT discovery queries in regular (exponentially increasing) intervals, starting with seconds and capped at 60 seconds.
It appears that local nodes connecting to the (Kusama?) DHT put their local address into the DHT, i.e. /ip4/<IP_ADDRESS>/tcp/30333. This is obviously necessary for nodes in the same local network to discover and talk to each other through the DHT, but these are also seen by remote nodes.
As a result, Node 2 will discover a node with a different peer ID from Node 1 but with address /ip4/<IP_ADDRESS>/tcp/30333. It will try to connect to it as part of the DHT lookups.
Thus Node 2 will make another connection attempt to Node 1, thinking it is some other node (i.e. expecting a different peer ID this time). It still has the existing connection to Node 1 for the moment.
Node 1 receives the incoming connection from Node 2, replacing the existing connection (i.e. dropping it) due to the single-connection-per-peer policy. The reason(s) for always taking the new connection over the old, even if a node has the role of listener in both connections (i.e. it is not a "simultaneous connect" scenario) are not entirely clear to me (@tomaka?).
Node 2 finishes setting up the new connection accepted by Node 1, but then discovers that the expected peer ID does not match the actual peer ID, to it drops this connection (MITM protection). (Node 2 quickly gets a BrokenPipe error on the old connection through the StreamMuxer usually. )
Node 1 gets a ConnectionReset error on the new connection.

This sequence more or less repeats ad infinitum, since Node 2's discovery will continue to encounter these peer IDs differing from that of Node 1 with address /ip4/<IP_ADDRESS>/tcp/30333 to which it will try to connect during DHT lookups.
If I'm not mistaken, this seems to be interesting way for a node C to directly influence the connectivity between some nodes A and B, e.g. by advertising public addresses of A in the DHT under its own peer ID. When node B picks these up during lookups, it would disturb the connection between A and B in the above manner. This may be primarily a pitfall of the single-connection-per-node policy, though it may possibly be prevented by establishing a preference for the old (existing) connection, if a node receives a second connection as a listener when it is already a listener in the existing connection, but I'm not entirely clear about all the possible consequences at the moment.

The reason(s) for always taking the new connection over the old, even if a node has the role of listener in both connections (i.e. it is not a "simultaneous connect" scenario) are not entirely clear to me (@tomaka?).

The reason is that typically when a node opens a new connection, it's because the old one is dead.
Example situation: Node 1 and Node 2 are connected. Node 2 loses its Internet connection, realizes it, and kills all existing sockets. Node 2 then gains back its Internet connection and tries to re-connect to Node 1. Node 1 isn't aware that the previous connection is dead.
In this situation, the new connection is the right choice.

In my opinion the solution is to handle multiple simultaneous connections per node.
There have already been several tricky issues caused by this design decision, proving that it probably wasn't a good idea.

Node 1 isn't aware that the previous connection is dead.

Doesn't libp2p have keep-alive or ping protocol to handle this?

Doesn't libp2p have keep-alive or ping protocol to handle this?

It does, but it takes something like 30 seconds to trigger.
I'm not actually sure that my scenario above is realistic, but the general idea is that we expect that when a node opens a second connection it is because the existing one is unusable.

How exactly allowing multiple connections will solve this issue? This is a fairly straightforward scenario, where none of the peers misbehave or lose connectivity. Why would we want multiple connections here?

As a result, Node 2 will discover a node with a different peer ID from Node 1 but with address /ip4/<IP_ADDRESS>/tcp/30333. It will try to connect to it as part of the DHT lookups.

It seems to me that it should not attempt dialing an address that's already connected in the first place.

How exactly allowing multiple connections will solve this issue? This is a fairly straightforward scenario, where none of the peers misbehave or lose connectivity. Why would we want multiple connections here?

As I explained in an earlier comment, the immediate cause of this issue is that the "listener" closes its existing connection, preferring the new over the old connection in the attempt to enforce a single connection per peer (the "dialer" then later, upon discovering the peer ID mismatch closes the new connection as well, and the connect/disconnect dance begins in this way). While my first reaction was that it doesn't seem right that new connections are preferred over old ones in this scheme, and I'd rather swap that around, @tomaka had some concerns on doing that. In any case, removing the single-connection-per-peer policy is a strictly more general and desirable solution, not just in light of this issue. In this particular scenario the "listener" then no longer has to make a choice between these connections, the old connection remains unaffected, the "dialer" eventually closes its new connection attempt upon discovering the peer ID mismatch.

As a result, Node 2 will discover a node with a different peer ID from Node 1 but with address /ip4/<IP_ADDRESS>/tcp/30333. It will try to connect to it as part of the DHT lookups.

It seems to me that it should not attempt dialing an address that's already connected in the first place.

In general and at the level of libp2p, I don't think it is desirable to disallow multiple connections to the same address. Of course - and I think that is what you are referring to - in the context of a specific protocol, like Kademlia, one could argue that connections should be uniquely identified by such an address. However, the (logical) overlay network of Kademlia only operates opaquely on a uniformly distributed keyspace, which also contains the node / peer IDs. Kademlia only uniquely identifies peers by these IDs and addresses to connect to are a secondary implementation artifact. In the scenario here Kademlia sees a different peer ID for the same address, i.e. another peer that supposedly also has that address (among others, possible). While you could argue that it should disregard the peer ID in this case, seeing that it already has a connection to the same address, even though with a different peer ID, I'm really not sure this is a good idea. If multiple peers are seen advertising the same address, who is to decide which is "right", i.e. which to connect to, respectively which connection to keep and which others to ignore.

Example situation: Node 1 and Node 2 are connected. Node 2 loses its Internet connection, realizes it, and kills all existing sockets. No FIN is actually being sent because of no Internet access. Node 2 then gains back its Internet connection and tries to re-connect to Node 1. Node 1 isn't aware that the previous connection is dead.
In this situation, the new connection is the right choice.

I'd argue that new connection should not replace existing.  Dead connections will eventually drop because we have keep-alive or ping protocols. Waiting for 30 seconds to restore connectivity is fine for substrate.

If multiple peers are seen advertising the same address, who is to decide which is "right", i.e. which to connect to, respectively which connection to keep and which others to ignore.

You don't drop existing connections. Otherwise it's an attack vector.
I'd like to clarify that "multiple connections" being discussed are to support connections to the same address with different node IDs. Multiple connections to the same address/node_id still won't be allowed, right?
Regarding multiple connections to the same node id, we probably don't want that in substrate/polkadot. Proposed use case sounds like: "Let's allow the second connection because the first one might be actually dead" sounds like a hack. What if the first one never closes after all? It look like we are struggling with managing connections even now, when duplicates are not allowed. This looks like it will introduce a lot of unneeded complexity for no good reason.
Additionally, can there be an additional authentication mechanism introduced to Kademlia layer? Devp2p discovery would not propagate unconfirmed addresses. "Confirmed" here means that there was a signed UDP ping/pong exchange with that address first.

Example situation: Node 1 and Node 2 are connected. Node 2 loses its Internet connection, realizes it, and kills all existing sockets. No FIN is actually being sent because of no Internet access. Node 2 then gains back its Internet connection and tries to re-connect to Node 1. Node 1 isn't aware that the previous connection is dead.
In this situation, the new connection is the right choice.

I'd argue that new connection should not replace existing. Dead connections will eventually drop because we have keep-alive or ping protocols. Waiting for 30 seconds to restore connectivity is fine for substrate.

I agree, hence my first reaction was to change that, as I mentioned at the end of my first comment. The same thing (i.e. not dropping the existing connection) also happens with libp2p-core permitting multiple connections.

If multiple peers are seen advertising the same address, who is to decide which is "right", i.e. which to connect to, respectively which connection to keep and which others to ignore.

You don't drop existing connections. Otherwise it's an attack vector.

Sure, I hinted at the same thing at the end of my first comment. I think we are on the same page here.

I'd like to clarify that "multiple connections" being discussed are to support connections to the same address with different node IDs. Multiple connections to the same address/node_id still won't be allowed, right?

I see no reason for a general-purpose networking library like libp2p to disallow that, so yes, that will be allowed.

Regarding multiple connections to the same node id, we probably don't want that in substrate/polkadot. Proposed use case sounds like: "Let's allow the second connection because the first one might be actually dead" sounds like a hack. What if the first one never closes after all? It look like we are struggling with managing connections even now, when duplicates are not allowed. This looks like it will introduce a lot of unneeded complexity for no good reason.

It's fine if substrate/polkadot do not intentionally make use of multiple connections per peer. Indeed, in https://github.com/libp2p/rust-libp2p/pull/1440 even libp2p-swarm retains these semantics. Nevertheless, two peers may connect to each other "simultaneously" and that is the part where trying to enforce a single connection per peer at all times adds complexity that is removed in https://github.com/libp2p/rust-libp2p/pull/1440. If even a temporary second connection is undesirable for a specific application protocol, it is up to that protocol to decide which connection to close and when.

Additionally, can there be an additional authentication mechanism introduced to Kademlia layer? Devp2p discovery would not propagate unconfirmed addresses. "Confirmed" here means that there was a signed UDP ping/pong exchange with that address first.

That would need to be laid out in more detail in order for me to make an informed comment. In general I expressed my desire in the past to allow better curation of Kademlia's k-buckets through the public API offered by libp2p-kad, i.e. to provide more control over which peers and addresses are in the routing table (and thus advertised to others) at any time. This may or may not already be sufficient to implement such a use-case. There is also some related work proposed in https://github.com/libp2p/rust-libp2p/issues/1352, though that is primarily a means for prioritizing entries in already full k-buckets.

Start charlie but this time using bob's old IP address (<IP_ADDRESS>):

docker run --rm --name charlie --network substrate --ip <IP_ADDRESS> \
  parity/substrate:2.0.0-646e7fb \
  --chain local \
  --validator \
  --node-key<PHONE_NUMBER>000000000000000000000000000000000000000000000000000003 \
  --charlie \
  --no-mdns \
  --bootnodes /ip4/<IP_ADDRESS>/tcp/30333/p2p/QmRpheLN4JWdAnY7HGJfWFNbfkQCb6tFf4vvA6hgjMZKrR

Then charlie will repeatedly try to connect to alice which the connection will stay connected for very short moment then gets dropped.
And alice will repeatedly try to find bob at <IP_ADDRESS> but every time it sees charlie's peer ID instead so the connection then gets dropped. This is a problem on its own too as bob will never be at that IP anymore.

Should have been fixed by #5278, although I didn't verify that it actually is.

It is now much worse
020-04-09 11:55:41.460 main-tokio- TRACE sync  Connecting QmX6ck5cwxsiSUbWrCZNKUeY188AAb4dvreYEFh6BtMcPQ
2020-04-09 11:55:41.460 main-tokio- TRACE sync  New peer QmX6ck5cwxsiSUbWrCZNKUeY188AAb4dvreYEFh6BtMcPQ Status { version: 6, min_supported_version: 3, roles: FULL, best_number: 1181553, best_hash: 0x06ba23f8e56cd2b99ef5998bb5eab05bd6ed81afc76699b9f313abcaf59e92d1, genesis_hash: 0xb0a8d493285c2df73290dfb7e61f870f17b41801197a149ca93654499ea3dafe, chain_status: [] }
2020-04-09 11:55:41.460 main-tokio- DEBUG sync  Connected QmX6ck5cwxsiSUbWrCZNKUeY188AAb4dvreYEFh6BtMcPQ
2020-04-09 11:55:45.808 main-tokio- TRACE sync  QmX6ck5cwxsiSUbWrCZNKUeY188AAb4dvreYEFh6BtMcPQ disconnected
2020-04-09 11:55:45.824 main-tokio- TRACE sync  QmX6ck5cwxsiSUbWrCZNKUeY188AAb4dvreYEFh6BtMcPQ disconnected
2020-04-09 11:55:51.164 main-tokio- TRACE sync  QmX6ck5cwxsiSUbWrCZNKUeY188AAb4dvreYEFh6BtMcPQ disconnected
2020-04-09 11:55:51.264 main-tokio- TRACE sync  QmX6ck5cwxsiSUbWrCZNKUeY188AAb4dvreYEFh6BtMcPQ disconnected
2020-04-09 11:55:53.20 main-tokio- TRACE sync  QmX6ck5cwxsiSUbWrCZNKUeY188AAb4dvreYEFh6BtMcPQ disconnected
2020-04-09 11:55:53.30 main-tokio- TRACE sync  QmX6ck5cwxsiSUbWrCZNKUeY188AAb4dvreYEFh6BtMcPQ disconnected
2020-04-09 11:55:53.148 main-tokio- TRACE sync  QmX6ck5cwxsiSUbWrCZNKUeY188AAb4dvreYEFh6BtMcPQ disconnected
2020-04-09 11:55:56.144 main-tokio- TRACE sync  QmX6ck5cwxsiSUbWrCZNKUeY188AAb4dvreYEFh6BtMcPQ disconnected
2020-04-09 11:55:56.233 main-tokio- TRACE sync  QmX6ck5cwxsiSUbWrCZNKUeY188AAb4dvreYEFh6BtMcPQ disconnected
2020-04-09 11:56:03.729 main-tokio- TRACE sync  QmX6ck5cwxsiSUbWrCZNKUeY188AAb4dvreYEFh6BtMcPQ disconnected
2020-04-09 11:56:03.872 main-tokio- TRACE sync  QmX6ck5cwxsiSUbWrCZNKUeY188AAb4dvreYEFh6BtMcPQ disconnected
2020-04-09 11:56:03.904 main-tokio- TRACE sync  QmX6ck5cwxsiSUbWrCZNKUeY188AAb4dvreYEFh6BtMcPQ disconnected
2020-04-09 11:56:05.132 main-tokio- TRACE sync  QmX6ck5cwxsiSUbWrCZNKUeY188AAb4dvreYEFh6BtMcPQ disconnected

The peer is immediately reported as disconnected after connection.  After that TCP connection stays open, and block requests from that peer come through. So they still consider the connection to be active.

Does this affect nodes behind NAT? E.g. if we have two nodes running behind a NAT router, they share the same IP address, but of course with different port number and peer id. Is there any reference how the DHT stores the peer id?

Closing as stale and probably resolved.


Needs release of 3.1.0

The recent blueprint updates and version bumps that are on master need to be released (to go along with ember-cli@2.16.0-beta.1).  Can we get a 3.1.0 released?
Since this is included in ember-cli by default I wonder if you would mind allowing @stefanpenner or myself to publish/release also (I believe we have merge access but not npm publish access)?
/cc @taras @alexlafroscia

I don't have release access, only @taras does :(
I think we should move this to the ember-cli org, probably.

Actually, I can release, and will do so.
I still think we should move this to the ember-cli org, though.

I have publish access on the NPM package, but not push access to master here...
So I published the NPM package, just can't update this, too

@rwjblue and @stefanpenner: I added you both as collaborators, so you can push versions now too

@alexlafroscia - Thank you!


Incorrect link for MSIX download

The download link for the MSIX file is wrong, it redirects to a Microsoft Learn page for Sharepoint 2016.
https://learn.microsoft.com/en-us/microsoftteams/new-teams-vdi-requirements-deploy#deploy-the-new-microsoft-teams-client
Step 2 has the wrong link.

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

ID: db74252a-f531-8fcf-4da0-5e439cfdfd8d
Version Independent ID: db74252a-f531-8fcf-4da0-5e439cfdfd8d
Content: New Microsoft Teams for Virtualized Desktop Infrastructure (VDI) - Microsoft Teams
Content Source: Teams/new-teams-vdi-requirements-deploy.md
Service: msteams
GitHub Login: @JoanneHendrickson
Microsoft Alias: jhendr

Already fixed. thanks


TextureFX: Levels defaults

Let's set the right defaults for the pins.
The idea of the Levels is to stretch or contract the brightness. Ok, it's on steroids in TextureFX in a way that you can control also color, not only the brightness. But the idea stays the same. Exactly like in Photoshop.

Photoshop.
You define were your highest and lowest brightness begins in the Histogram. Of course it's very very primitive tool to adjust the brightness, that's why they have Curves where you map as many points you like.

@antongit Feel free to set the defaults as you think they should be.

See also: #349


What is the best way to update an existing app?

Apologies if this is published elsewhere, I seem to have missed it.
I jumped on early with Z4A and am still loving it! I noticed that 1.1 is out and I know there have been fixes aplenty, so I'm thinking it is time for me to update my existing app. What's the recommended way of doing this?
I see I need to do an npm update -g foundation-cli to update the CLI, but from there do I do a foundation update to update my existing app, or would it be better to do a more standard bower update since all of the foundation packages are referenced there.
Thanks in advance!

The CLI will work with your current projects, so you can update it no problem.
As you correctly guessed, most of the CLI's commands are wrappers for Bower and npm functions. So foundation-apps update is the same as bower update, and foundation-apps watch is running npm start, which runs a local copy of Gulp. (This means you don't need Gulp installed globally for it to work.)
This abstraction will make more sense when we move Foundation 6 and Ink 2 onto this CLI, and then all three frameworks will use the same tool. The command name will also change to just foundation.
Glad you're loving it! We feel really good about 1.1, it's way more stable than 1.0. :)


Make error msg for asserting Tuple easier to copy into code

Example & feature description
    @Test
    void test() {
        List<Foo> actual = List.of(
            new Foo(1, 1, 1),
            new Foo(2, 2, 2));
        assertThat(actual)
            .extracting(Foo::x, Foo::y)
            .containsExactly(); // empty in order to fail and show error msg
    }

    record Foo(int x, int y, int z) {

    }

Output is:
java.lang.AssertionError:
Expecting actual:
  [(1, 1), (2, 2)]
to contain exactly (and in same order):
  []
but some elements were not expected:
  [(1, 1), (2, 2)]

Would be nice to have:
java.lang.AssertionError:
Expecting actual:
  [tuple(1, 1), tuple(2, 2)]
to contain exactly (and in same order):
  []
but some elements were not expected:
  [tuple(1, 1), tuple(2, 2)]

so I could easily copy tuple(1, 1), tuple(2, 2) into .containsExactly(..).
What do you think?
Is it easy to implement?
Or is there any nice workaround?

You could create your own representation:
class CustomRepresentation extends org.assertj.core.presentation.StandardRepresentation {
    @Override
    protected String toStringOf(Tuple tuple) {
      return "tuple" + super.toStringOf(tuple);
    }
  }

and use it in withRepresentation:
assertThat(actual)
    .withRepresentation(new CustomRepresentation())
    .extracting(Foo::x, Foo::y)
    .containsExactly(); // empty in order to fail and show error msg

The output would be:
java.lang.AssertionError:
Expecting actual:
  [tuple(1, 1), tuple(2, 2)]
to contain exactly (and in same order):
  []
but some elements were not expected:
  [tuple(1, 1), tuple(2, 2)]

Thanks @scordio!
How about making this representation a default one?

Tuple is currently rendered as other iterables and I personally don't see the prefix as generally useful, so I'd prefer to keep the current representation knowing it can be customized as in the example above.
@assertj/core thoughts?

I prefer it without the prefix, it focuses more on the data than the data structure, similar to representing an array as [1,2,3] and not array[1,2,3] or array(1,2,3)


[] build failure

Host Environment

OS: [e.g. Windows/Linux etc...]
Compiler: revision

To Reproduce
Steps to reproduce the behavior:
./vcpkg install xxxx
Failure logs
-Cut and past the appropriate build messages from the console output.
-Please attach any additional failure logs mentioned in the console output.
Additional context
Add any other context about the problem here, such as what you have already tried to resolve the issue.

It seems that you create a invalid bug. If not, please reopen this issue and fill the related information.


Tools for metrics logging

As a geocoding system administrator, I want to log metrics using ElasticSearch, Logstash, Kibana (ELK) so that I cover all of the systems used in the geocoder to obtain metrics for each

Done


String route param values being encoded

When I pass a string value to the destination of a navigate call, all the spaces in the string are replaced by +.
This wasn't the default behaviour when using the normal Jetpack compose routing. Is there a nice way to solve this globally? The solution I came up with was just a holding dataclass:
data class SafeString(
    val value: String,
)

fun String.safe() = SafeString(this)

With then a custom DestinationsNavTypeSerializer to handle the string properly.
Thanks!

Hi @mevans !
Thank you so much for reporting. I found the issue, it was a regression on my previous version where I changed the URI encoding algorithm to be compatible with unit tests (with no instrumentation).
In the meantime use the version before latest 1.7.25-beta (or 1.x.25-beta where x depends on your compose version).

In any way, I'm expecting to make a new release with the fix in the next 24h, so stay tuned for that 🙂

@mevans please retry this with the new version 1.x.27-beta, and thank you so much again for reporting 🙇


What was the motivation for this lib?

Hey 👋,
Nice job on the library. I was wondering, what was the motivation of creating this library instead of using this one
https://github.com/tienphaw/react-native-figma-squircle
I have used the 'react-native-figma-squircle' library in the past but I have found it to be buggy, especially on Android, so I was just wondering if that was the reason for you to create your own library using Skia.

hey 👍
thx for your interest.
to start from my motivation, I had to create an squircle shape for work. I looked up for other projects and using svg in application environment is not that efficient.
then I saw react-native-skia, which will release my stress, cuz it was built with such good graphic library, I just had to make it.
that was my motivation, and i am looking forward to other libraries that i can make out of it.
hope you had my answer!

@yjb94
I see, thank you for creating this library. I am going to try it out :D


solving the negative followers issue

I added an if statement when displaying the followers (if it's smaller than 0 display 0 else display the number of followers)
note: not tested but it should work, just an if

I need to solve this on the Elixir side


NullExpression with type

Return a null expression of a specific type passed as parameter.

For when is this used? Just wondering.
I did some testing way back when, when we decided that we could get away with a singleton.
Just curious what I might have missed. 🤔

For when is this used? Just wondering.
I did some testing way back when, when we decided that we could get away with a singleton.
Just curious what I might have missed.

I had a demand here, where I had 3 queries that are joined in a union, in the first and the second, I have a select list with 5 items, the third one also, but the last two items are null. When I do the projection, I have the constructor passing the parameters, as it should be, and a constructor with Object.class types for expressions that are null. It would be a better way to reuse the same constructor choosing the type, than having a constructor only, receiving object, and having to check if it is not null and cast for the type you want..
Sorry for the poor description, I'll give you an example to present the idea better.
//Perfect Scenario: Constructor with Integer.class and String.class
query1.select(Projections.constructor(SomeDTO.class,  entity.id, entity.name).from(entity);

//Problem: Constructor with Integer.class and Object.class
query2.select(Projections.constructor(SomeDTO.class,  entity.id, Expressions.nullExpression()).from(entity);

queryUnion.union(query1, query2);

:+1:

@Shredder121 Any update?

@timowest

:shipit:

+1

+1


Cannot stream video with media plugin

When i give a *.ts or *.m3u8 file as a source to media.open() i get the following error on my browser:
undefined:1 Uncaught (in promise) DOMException: Failed to load because no supported source was found.
media.js:107 MediaError is occured: {"type":"ERROR","data":{}}

cagdassalur,
Hello.
This is Sue. First, thank you for your concern.
Unfortunatly, some media formats(*.ts, *.m3u8, etc.) are not supported On Chrome browser.
On chrome browser, TOAST uses Video tag.
So formats to be supported on Video tag are supported.
Please check it.
Thanks.
Sue

Hello.
Please, could you tell how to test application with an HLS(m3u8) stream?
Thanks.
Alina


Check for multiple decorator lines

When upgrading from 5.4.2 to 5.5.0 I received an error saying the path of the entity couldn't be found, after find where the path is resolved, I logged out the stack from the error thrown in Utils.lookupPathFromDecorator and it looks like the assumption was only one line would have a decorator identifier, but mine had two as seen in the logged output below. This PR is an attempt to fix account for multiple lines or just a single. Thank you.
[
  'Error',
  '    at Function.lookupPathFromDecorator (/Users/rstimmler/Code/mpx-api-service/node_modules/@mikro-orm/core/utils/Utils.js:508:26)',
  '    at Function.getMetadataFromDecorator (/Users/rstimmler/Code/mpx-api-service/node_modules/@mikro-orm/core/metadata/MetadataStorage.js:26:36)',
  '    at /Users/rstimmler/Code/mpx-api-service/node_modules/@mikro-orm/core/decorators/Entity.js:8:49',
  '    at DecorateConstructor (/Users/rstimmler/Code/mpx-api-service/node_modules/reflect-metadata/Reflect.js:541:33)',
  '    at Reflect.decorate (/Users/rstimmler/Code/mpx-api-service/node_modules/reflect-metadata/Reflect.js:130:24)',
  '    at Object.__decorate (/Users/rstimmler/Code/mpx-api-service/node_modules/tslib/tslib.js:99:96)',
  '    at Object.<anonymous> (/Users/rstimmler/Code/mpx-api-service/src/entity/requirement.ts:23:23)',
  '    at Module._compile (node:internal/modules/cjs/loader:1159:14)',
  '    at Module.m._compile (/Users/rstimmler/Code/mpx-api-service/node_modules/ts-node/src/index.ts:1618:23)',
  '    at Module.m._compile (/Users/rstimmler/Code/mpx-api-service/node_modules/ts-node/src/index.ts:1618:23)'
]

Codecov Report
Base: 99.91% // Head: 99.90% // Decreases project coverage by -0.00% :warning:

Coverage data is based on head (3010983) compared to base (cb11469).
Patch coverage: 80.00% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #3668      +/-   ##
==========================================
- Coverage   99.91%   99.90%   -0.01%
==========================================
  Files         211      211
  Lines       13206    13210       +4
  Branches     3066     3069       +3
==========================================
+ Hits        13195    13198       +3
- Misses         11       12       +1

Impacted Files
Coverage Δ

packages/core/src/utils/Utils.ts
99.78% <80.00%> (-0.22%)
:arrow_down:

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

also I'd be interested in hearing how did you end up with such stack trace :]

I honestly have no clue. Any thing you want me to test?

Let's start with your tsconfig.json and ORM config, and info about how you build the app - also check if it happens only in dev mode (via ts-node) or also when running against compiled JS.

Let's start with your tsconfig.json and ORM config, and info about how you build the app - also check if it happens only in dev mode (via ts-node) or also when running against compiled JS.
edit: and of course provide your entity definition, maybe you are using multiple decorators on one property or something like that? but we have tests for that too...

Hmmm, wonder if using it with Type GraphQL is causing it.... otherwise, I'll post those other things ASAP.

I would assume it's related to importHelpers: true in tsconfig.

I would assume it's related to importHelpers: true in tsconfig.

@oxc Here is what the stack looks like after making importHelpers false
'Error',
  '    at Function.lookupPathFromDecorator (/Users/rstimmler/Code/mpx-api-service/node_modules/@mikro-orm/core/utils/Utils.js:508:26)',
  '    at Function.getMetadataFromDecorator (/Users/rstimmler/Code/mpx-api-service/node_modules/@mikro-orm/core/metadata/MetadataStorage.js:26:36)',
  '    at /Users/rstimmler/Code/mpx-api-service/node_modules/@mikro-orm/core/decorators/Entity.js:8:49',
  '    at DecorateConstructor (/Users/rstimmler/Code/mpx-api-service/node_modules/reflect-metadata/Reflect.js:541:33)',
  '    at Reflect.decorate (/Users/rstimmler/Code/mpx-api-service/node_modules/reflect-metadata/Reflect.js:130:24)',
  '    at __decorate (/Users/rstimmler/Code/mpx-api-service/src/entity/requirement.ts:5:21)',
  '    at Object.<anonymous> (/Users/rstimmler/Code/mpx-api-service/src/entity/requirement.ts:36:15)',
  '    at Module._compile (node:internal/modules/cjs/loader:1159:14)',
  '    at Module.m._compile (/Users/rstimmler/Code/mpx-api-service/node_modules/ts-node/src/index.ts:1618:23)',
  '    at Module.m._compile (/Users/rstimmler/Code/mpx-api-service/node_modules/ts-node/src/index.ts:1618:23)'

Looks like the previous implementation would have caught that. I can confirm though that importHelper:true works for me in v5.5.1
@rstims, have you tried the latest releases?

@oxc yes! Works great 🎉


Oid investigation

This branch tests uses of namespaces as OIDs instead of generating new one.
We can solve this issue of OID using this way without adding much complex solution.

I pulled it down and the build failed -
CREATE EXTENSION
============== running regression test queries        ==============
test graphid                      ... ok
test agtype                       ... ok
test cypher                       ... ok
test catalog                      ... FAILED
test scan                         ... ok
test expr                         ... FAILED
test cypher_create                ... ok
test cypher_match                 ... ok
test cypher_unwind                ... ok
test cypher_set                   ... ok
test cypher_remove                ... ok
test cypher_delete                ... ok
test cypher_with                  ... ok
test cypher_vle                   ... ok
test cypher_union                 ... ok
test cypher_merge                 ... ok
test age_load                     ... ok
test drop                         ... ok
============== shutting down postmaster               ==============

=======================
 2 of 18 tests failed.
=======================

Additionally, you need to make your commit comments more verbose -
commit 2fc8d73f284a8d7f827c05643c7953fa83d9281c
Author: Shoaib<EMAIL_ADDRESS>Date:   Wed Mar 9 10:04:38 2022 +0100

    modified label ids

commit e99c2c785e83389fd6e8f4266df911117919ed17
Author: Muhammad Shoaib<EMAIL_ADDRESS>Date:   Wed Mar 9 08:30:23 2022 +0100

    modified graph id from integer to serial

commit 4ef46d0aaec741e541d44ba122e0e80602b5d67a
Author: Muhammad Shoaib<EMAIL_ADDRESS>Date:   Wed Mar 2 00:18:05 2022 +0100

    inital changes in graphid

Both tests are failing because I didn't update the regression tests without consultations. Please have a look at diff file and advise if it is safe to update regression tests.

I'm not so sure about using graphid, I do believe this was mentioned before with Alex's changes. graphid is too similar, if not identical, to other uses that it will cause confusion. If we are using the namespace as the id, we should name it so that is obvious. So, something like, graph_namespace_id.

@muhammadshoaib Is this PR still needed?

This pull request have already been incorporated in other pull requests for PG12 and PG13


quick question

how can i massdm a server if i don t have permissions to write

You cant xd?

how can i massdm a server if i don t have permissions to write

If you mean that you dont have permission to send messages in channels in the server but there are members in the server that have their DMs open. Then you can massdm but you will need to find a tool that will do it without using a selfbot.


i18n(zh-cn): Fix typo in integrations-reference.mdx

Description (required)
missing a line of code.

Related issues & labels (optional)

Closes #
Suggested label:

Lunaria Status Overview
🌑 This pull request will not trigger status changes.

Learn more
Lunaria automatically ignores changes on specific PRs by adding a ignored keyword in its title. Found: typo.
You can change this by either removing the keyword above from the PR's title, or modifying the ignoreKeywords property in your Lunaria configuration file.

Tracked Files

[!NOTE]
The notes below indicate what would happen if the pull request is merged when triggering status changes. Since a ignored keyword was found in the PR's title, the status changes indicated below won't be applied.

Locale
File
Note

zh-cn
reference/integrations-reference.mdx
Localization changed, will be marked as complete.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.


Mocha test timeouts [fixes #955]

Added a timeout of 10000 ms to each server test file. This is an attempt
to solve the timeout issues that we're experiencing with the Mocha
tests. Especially, this is hoping to address the build fails that are
caused by such timeouts.
Issue is described in https://github.com/meanjs/mean/issues/955

@lirantal That's unfortunate :( The build didn't fail due to test timeouts. It was caused by "network connectivity" though.
And chance of re-running the build?

@mleanos You can close and reopen the PR to force Travis to rerun.

@mleanos Also, that could indicate that the timeout was due to network connectivity issues and an issue with Travis, not with our code.

@lirantal @ilanbiala Any thoughts on fast tracking this one? I really think it's gonna help out with all the build fails we're having.

@mleanos I'm ok, but let's see if we get some better ideas from @bastianwegge or anyone else on how to deal with it.

BTW looks like other projects are using similar method (namely meanio, and mongoose https://github.com/Automattic/mongoose/search?utf8=✓&q="this.timeout"&type=Code)

@lirantal Fair enough. And yea, it seems like a straight forward method. Especially, since we can't predict the environmental factors that might contribute to these issues.
I'm definitely curious to understand what @bastianwegge had in mind though.

I investigated into the last failing builds on travis and found out that the node-pre-gyp ist mostly the reason for the build to fail, when it's trying to rebuild node.
Would you point me to any failing build you're according to? Since I can't reproduce it neither on my local jenkins nor on travis.
Is this a point where mongoose is sometimes taking longer?

@bastianwegge We've been having trouble with the Travis CI builds when submitting, or committing to, a PR. More often than not the issue seems that the test is taking longer than 2000ms, as indicated on the Travis logs.
There may be other issues that are causing a periodic build fail, but mostly they've been the timeout errors, on any given test. There doesn't seem to be a pattern with which tests fail.

Ok maybe I'm missing out on something. The idea of "let's raise the timeout" didn't look good to me at first.

As @lirantal pointed out, it seems that others are using the timeout increase as a method to combat these Travis issues. It's been very frustrating to have the builds fail for no apparent reason, other than a test timeout. So I think this may be a fine solution for now. Perhaps, it's something on Travis' side.

@bastianwegge the timeouts aren't related to node build, they are happening as part of our tests suite when it runs. Some of them are related to interacting with the server API and others are related to database operations

@lirantal the timeouts michael is having locally are due to his connection from the local machine to mongolab. He's doing it right testing against a service instead of a local database to avoid issues in that case and he convinced me that it makes sense to set up a higher timeout. We never ran into such issues since our Jenkins has a mongodb locally installed that gets cleared before every run. Do you know what database travis uses?

@bastianwegge we got those timeouts as well on Travis, and I personally also getting them from time to time with a local mongodb installed here

@bastianwegge I believe travis is using a local mongo instance inside the container that the tests are ran in.

Yeah, seems to be just fine if nobody's concerned, I just wanted to jump to make you think about it. Go ahead and merge it, let's see if this breakes down the whole "timout" discussion. Otherwise I'd love to investigate with you into it ! :+1:

Cool.


Compile-time checked element names

Element names should be checked at compile-time for the view! macro. This will be implemented by declaring structs for all possible html tags, e.g.
struct a;
struct button;
struct div;
// etc...

This will also allow the opportunity to have nice ide hover support and hopefully completions for html tags.
For custom elements, the syntax will be slightly changed to force the name to be in quotes, e.g.
view! {
    "my-custom-element" {
        // ...
    }
}

Do you think it's worth dynamically generating these for the HTML backend with a build script?

Do you think it's worth dynamically generating these for the HTML backend with a build script?