Implement interfaces in mock tokens

Currently MockERC20 and MockERC721 don't implement their respective interfaces. This PR fixes that.

Thanks for your PR :)
What is the benefit of having them inherit from the interfaces? This feels like a nontrivial diff that adds code for unclear benefit, since these ERC interfaces are finalized and static, and the mocks are already compliant. I'd like to keep everything in forge-std as simple as possible so it's easy to read/maintain and to reduce compilation times.
I'm also not a fan of making the variables private since that limits devs from inheriting the mock and adding e.g. new methods to set approvals

It is unintuitive for there to be an interface as well as an implementation of that interface in the same repo but them not be tied together at all. I came across this when using the interface and the mock token in a situation shown below:
IERC20 fromToken;
fromToken = IERC20(address(new MockERC20()));

It is highly preferred for the below to work:
IERC20 fromToken;
fromToken = new MockERC20();

That would be really nice but I don't think that is supported since solidity doesn't have structural typing: https://forum.soliditylang.org/t/making-interfaces-structural/1790
import {MockERC20} from "../src/mocks/MockERC20.sol";
import {IERC20} from "../src/interfaces/IERC20.sol";
import {Test} from "../src/Test.sol";

contract ATest is Test {
    IERC20 public token;

    function setUp() public {
      IERC20 fromToken;
      fromToken = new MockERC20();
    }
}

$ forge build
[⠢] Compiling...
[⠊] Compiling 26 files with 0.8.23
[⠒] Solc 0.8.23 finished in 648.53ms
Error:
Compiler run failed:
Warning (3420): Source file does not specify required compiler version! Consider adding "pragma solidity ^0.8.23;"
--> test/A.t.sol

Error (7407): Type contract MockERC20 is not implicitly convertible to expected type contract IERC20.
  --> test/A.t.sol:19:19:
   |
19 |       fromToken = new MockERC20();
   |                   ^^^^^^^^^^^^^^^

@mds1 Consider running that test in the context of that PR. It works.

@mds1 let me know if any other changes are needed


how to run a build job on multiple agent in parallel?

I have a build pipeline that contains one task and linked to an agent pool that have 2 self-hosted agents.
I set Parallelism to Multi-agent and Number of agents to 2.
Both of agents in agent pool are online.
But when I queue new build, it doesn't run in parallel and run Twice on first agent !

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

ID: cb26f633-6068-0e2a-0b8d-e97f8acdbb09
Version Independent ID: 449ffa66-9707-c87a-6128-57beeb22f0fc
Content: Parallel jobs in Azure Pipelines
Content Source: docs/pipelines/licensing/concurrent-jobs-vsts.md
Product: devops
GitHub Login: @andyjlewis
Microsoft Alias: alewis

This could happen for two reasons:

You do not have enough concurrency in your org. By default, all orgs get a concurrency of 1 for free. You can purchase additional concurrency by clicking on "Manage parallel limits".

You have enough concurrency, but the second agent does not satisfy the demands of your job. You can check this by looking at the demands of the job and by matching those to the capabilities of each of the agents.

@vijayma No. It works as it should. But @hamed-shirbandi need to setup pipeline in different way.
The manner in which the job’s tasks are parallelized.
None: Tasks will run on a single agent.
Multi-configuration: Run the same set of tasks on multiple configurations as specified in the multipliers. Configurations will run in parallel and each configuration will use a single agent. The total number of agents used by the job will depend on the number of configurations, and can be limited by specifying the maximum number of agents.
Multi-agent: Run the same set of tasks on multiple agents using the specified number of agents.
More information.


chore: update dependencies and lockfile

Apart from the TODOs mentioned in the events PR, frontend needs a lot more work to upgrade the rest of the dependencies. Some just need to be tested but others require Vue 3 which might become quite a rewrite. Unfortunately our theme does not support Vue 3 nor has been updated in the recent years.

:tada: This PR is included in version 1.33.35 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Double Decoding in AbstractUriAssert

Summary
AbstractUriAssert does double-decoding on URL parameters, thus some tests fail incorrectly.
Example
Both tests should pass but do not:
URI uri = URI.create("http://host/?p=%2B&p2=%2525");
assertThat(uri).hasParameter("p", "+");
assertThat(uri).hasParameter("p2", "%25");

The reason is, that in org.assertj.core.internal.Uris, the getParameters() call is always made using "actual.getQuery()" which already decodes the query string. getParameters() then decodes it a second time.
The fix would be to replace all actual.getQuery() with actual.getRawQuery()

Fixed in 7b0b49d.


A challenger emerges ...

Hello there,
I modified an existing tldr client to be extremly fast. I did some benchmarks and it seems to be faster than tealdeer, though not by a lot. You can find it here: https://github.com/gutjuri/fast-tldr
I'd appreciate it if you could add it to your listed benchmarks :) If problems occur during the installation, let me know.
Best regards, Juri

Hi @gutjuri. Nice! See #129, feel free to add a comment there with a link to your client!


Add Announcemnt info?

In the Google Home APp you can do an announcement on a device ... Does anyone discovered how to send it to the device?

There are 2 ways to do it generally:

The announce that works with Google Assistant (where you ask Google from another device like a phone, to say something on the GH device at home, etc.) This - like other Google Assistant features - goes through Google's servers and won't be documented in this API since this is only for local communication. If you really want to dig into it and make it work, see https://github.com/rithvikvibhu/GHLocalApi/issues/39#issuecomment-644959103 and https://github.com/rithvikvibhu/GHLocalApi/issues/39#issuecomment-650590500
Use something like https://github.com/vervallsweg/cast-web-api that does text-to-speech and then plays it with Cast like normal audio. It's relatively easier and is enough for most cases.


[Feature Request] - Gitlab Provider: ability to add custom ca pem file for validation tls.

Describe the solution you'd like
Gitlab provider secretstore should be able to use a custom tls certificate from a private CA
What is the added value?
Some customers use a gitlab self hosted instance with private CA.  The current crd doesn't give this option to validate the certificate.
Give us examples of the outcome
spec:
  provider:
    # provider type: gitlab
    gitlab:
      url: https://gitlab.example.com <<<< custom https tls from private CA
      privateCA:
        type: "Secret"
        name: tls-ca
        key: "cacerts.pem". <<< private ca-cert pem
      auth:

Observations (Constraints, Context, etc):
kubernetes version: v1.22.7+k3s1
external secrets version: 0.5.6
log:
{"level":"error","ts":1654164267.811398,"logger":"controller.secretstore","msg":"Reconciler error","reconciler group":"external-secrets.io","reconciler kind":"SecretStore","name":"gitlab-dev-secret-store","namespace":"default","error":"could not validate provider: could not verify if the client is valid: Get \"https://<REDACTED>/api/v4/projects/803/variables\": x509: certificate signed by unknown authority","stacktrace":"sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.2/pkg/internal/controller/controller.go:266\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.2/pkg/internal/controller/controller.go:227"}

Hi @aboe76 ! One thing you can do is mount the certs as a volume into external-secrets pod.

Hi @gusfcarvalho, the Operator/Helm chart does not offer a way to mount volumes. I've opened #1286 to add it

Any luck with volume mount approach? I have tried with additional volume mount override on /etc/ssl/certs/ca-certificates.crt, also explicitly setting SSL_CERT_FILE path variable to no avail. OperatorConfig successfully updates Deployment, but it seems to be ignored in runtime. Using external secrets v0.5.7

Never mind, confirming /etc/ssl/certs/ca-certificates.crt is used correctly, caused by incomplete certificate chain on Gitlab serving instance

I can confirm that mounting the volumes to any location and setting SSL_CERT_FILE works.
The below example (the secret name and mount path are arbitrary) should be all you need if for whatever reason you can't override the default ca-certificates.crt file.
extraVolumes:
  - name: certs
    secret:
      secretName: my-corp-ca
extraVolumeMounts:
  - name: certs
    mountPath: /var/run/secrets/corp.internal/ca
    readOnly: true
extraEnvs:
  - name: SSL_CERT_FILE
    value: /var/run/secrets/corp.internal/ca/ca.crt

yea can use the extraVolume and extraMount like:
extraVolumes:
  - name: certificate-authority
    secret:
      secretName: my-vault-ca
      optional: false

extraVolumeMounts:
  - name: certificate-authority
    mountPath: /usr/local/share/ca-certificates
    readOnly: true

From man update-ca-certificates FILES section:

/usr/local/share/ca-certificates
Directory of local CA certificates (with .crt extension).

I was able to get this to work with the following:
external-secrets:

  extraVolumeMounts:
  - mountPath: "/etc/ssl/certs"
    name: ca-bundle
  extraVolumes:
  - name: ca-bundle
    secret:
      secretName: ca-bundle

What's important about this is, though we've all got this working using extra volume mounts, we solved it in several different ways cause we don't know the inner-workings.  This is why its easier if this ability is provided via the helm chart ... let's us get this use case working faster without having to reinvent.

For users of the Openshift Operator of External-Secrets, the solution is to add the extraVolumeMounts and the extraVolumes, as described above, into the OperatorConfig-Ressource.
apiVersion: operator.external-secrets.io/v1alpha1
kind: OperatorConfig
metadata:
  name: cluster
spec:
  # ...other values
  extraVolumes:
    - name: ca-bundle
      secret:
        secretName: ca-bundle
  extraVolumeMounts:
  - mountPath: "/etc/ssl/certs"
    name: ca-bundle


Enhancement - grid digitizer - match identifiers to ones currently in system and add depiction to current collection objects

If I am using the grid digitizer and add identifiers to what is being grid digitized - then a check should run to see if those identifiers are already in use. If found - an option should be given to add the depiction to the current collection object instead of blocking the depictions from being created.

We will modify the code to always look for an existing match on creation, and not fail if one is found.

Done, just waiting for comment from @tmcelrath (see gitter).

For record tags, determinations, and notes are not added to existing objects lest they are duplicates and break the process.  The thought is:
1 - Images are intended to have verbatim info in this workflow
2 - because of this, I we only add the depiction to exsting object
because 3 - all really critical information will be there
and 4 - interruptions because of duplicated data will minimized


ci pipeline failed

Looks like CI has failed because of https://github.com/ramonhagenaars/nptyping/issues/124

OK, it will get fixed in the next cadquery release https://github.com/CadQuery/cadquery/pull/1617


Switch between rounded and non-rounded corners based on window corners in windows 11

Description of the new feature / enhancement
It would be nice if the border could switch between rounded and non-rounded corners based on window corners in windows 11.
Scenario when this would be used?
Not all windows have rounded corners, this would make the non rounded corners have a better looking border.
Supporting information
For eg. I faced this on the settings window for the spacedesk app which has sharp corners and the rounded border looks weird.
I've faced this with other apps as well, but I can't remember them specifically right now

.

It would be nice to remove the rounded corners on Android device.


How to define specific category ordering

For a single Class, the categories appear in the same order they have been defined and that's OK. But when using a "SuperClass" the properties of that super Class appear at the end in the PropertyGrid. Is it possible to change this behavior and set a specific order for all categories used in Classes and their SuperClasses?

We have the SortIndexAttribute, but I think this is only used for properties, not for groups/categories.
You can subclass the PropertyGridOperator to create a customized model that supports ordering of groups/categories.


Unused std::vector waitFences in VulkanExampleBase class

VulkanExampleBase declares std::vector<VkFence> waitFences,  createSynchronizationPrimitives()  resizes the vector and creates fences and  ~VulkanExampleBase() destroys them,  yet the examples that need fences use their own waitFences.

Yes, that's a left-over from trying to rework synchronization. As that's something I want to try in the future, I'll keep the fences in the base class.


Password and confirmation password

Hi,
is there a way to check if the password and confirmation password are the same?
Thank you in advance

From the API docs:
<MyInputComponent name="password"/>
<MyInputComponent name="repeated_password" validations="equalsField:password"/>

Thank you very much, my bad!


Node.js client SDK

SDK created: https://github.com/hyperledger/firefly-sdk-nodejs
Need a follow-up task to convert existing samples to use it.


Bad interaction between JAX and Reactant on aarch64-linux

We are currently running into this error on aarch64-linux CI for the Python-JAX test:
2024-12-30 21:52:33.649409: I external/xla/xla/service/llvm_ir/llvm_command_line_options.cc:50] XLA (re)initializing LLVM with options fingerprint:<PHONE_NUMBER>0584806018
--
  | 'neoverse-n1' is not a recognized processor for this target (ignoring processor)
  | '+crc' is not a recognized feature for this target (ignoring feature)
  | '+fp-armv8' is not a recognized feature for this target (ignoring feature)
  | '+lse' is not a recognized feature for this target (ignoring feature)
  | '+neon' is not a recognized feature for this target (ignoring feature)
  | '+sha2' is not a recognized feature for this target (ignoring feature)
...
LLVM ERROR: 64-bit code requested on a subtarget that doesn't support it!

[740] signal (6.-6): Aborted
--
  | in expression starting at /cache/build/default-aws-aarch64-ci-0-4/julialang/reactant-dot-jl/test/integration/python.jl:7

Incidentally this seems like jax itself doesn’t support aarch64 is the issue (and the same llvm initialization we use gets broken).
If we don’t initialize jax I presume this succeeds?

Also on a debug build I’m curious what the backtrace is

mmm but there are aarch64-linux wheels for jaxlib https://pypi.org/project/jaxlib/#files

Also on a debug build I’m curious what the backtrace is

too bad i don't have access to a aarch64-linux machine right now 🥲 i should get access to Fugaku at some moment, but maybe @giordano has sth?

What should I try to do (but probably I won't have much time before a couple of days)

yeah, don't worry. there is no rush.
basically...

set the preference for Reactant_jll such that we use the variant mode+dbg. i think LocalPreferences.toml should look similar to this

[Reactant_jll]
mode = "dbg"

try running this test https://github.com/EnzymeAD/Reactant.jl/blob/main/test/integration/python.jl

Precompiling Reactant_jll...

julia> Reactant_jll.is_available()
false

julia> Reactant_jll.host_platform
Linux aarch64 {cxxstring_abi=cxx11, gpu=cuda, julia_version=1.11.2, libc=glibc, libgfortran_version=5.0.0, libstdcxx_version=3.4.30, mode=dbg}

Reactant isn't available for me.  Is that because this system has got an Nvidia GPU and we don't have a CUDA build for for aarch64?

Yeah we don't make debug cuda builds because there's so much debug info that it breaks things

I had the same also without debug mode. OK, next time I'll need to try a machine without a GPU

You should also be able to just force the jll preferences to not auto detect the cuda version

i think you just need to put
cuda = "none"

in the LocalPreferences.toml


Button padding on mobile device is too much

Describe the Issue
left right padding is too much for mobile view and font size is bigger

we can adjust padding and font size for small device
demo:

Affected Page
https://contribute.freecodecamp.org/
Steps to Reproduce
set left right padding 1.6rem;
and font size 16/18px
Expected behavior
if font size 16px+

if font-size 15px

Screenshots
No response
System

Device: [e.g. iPhone 6, Laptop]
OS: [e.g. iOS 14, Windows 10, Ubuntu 20.04]
Browser: [e.g. Chrome, Safari]
Version: [e.g. 22]

Additional context
No response

please assign me

Hi, I would like to work on this. Please assign it to me if the issue hasn't been resolved.

@cybraia  i created this issue to work on it🥲

@media screen (min-width: 768px) and (min-width: 1200px) {
// if padding == 2rems,
} // For Laptops, Tablets
@media only screen and (max-width: 767px) {
padding == (2 - 2/3) rems
} // For mobile devices.


v1.8.3 results in permanent windows cursor in the middle of the screen

v1.8.3 results in permanent windows cursor in the middle of the screen
Downgrading to 1.8.2 seems to solve this issue with the same config properties.

yeah,me too,bor.

yeah,me too,bor.

Tbh, this is very poor info...

post your log (found inside plugins/cyber_engine_tweaks/cyber_engine_tweaks.log)
post your OS
post wheter you use fullscreen or borderless (if fullscreen, try right away with borderless please)
if you are running ANY other overlay OR recording software, try to disable it completely (turn it off, not just hide it)

Tbh, this is very poor info...

post your log (found inside plugins/cyber_engine_tweaks/cyber_engine_tweaks.log)
post your OS
post wheter you use fullscreen or borderless (if fullscreen, try right away with borderless please)
if you are running ANY other overlay OR recording software, try to disable it completely (turn it off, not just hide it)

same problem

cyber_engine_tweaks.log
Windows 10 Pro x64 20H2 (19042.685)
fullscreen
reshade & rivatuner (I disabled both and it was not fixed)

same problem

cyber_engine_tweaks.log
Windows 10 Pro x64 20H2 (19042.685)
fullscreen
reshade & rivatuner (I disabled both and it was not fixed)

+1

+1

Confirming that bug.

Confirming that bug.

There was a small finding - try to disable virtual_input patch in config.json if it does not help.

There was a small finding - try to disable virtual_input patch in config.json if it does not help.

also for me, disabling virtual input doesn't help

also for me, disabling virtual input doesn't help

@nirkons @cyb3rm4n @tkp206093 @emaf94 @cj0293 @marcusds
I found out what is an issue finally, will not happen in next release.
You guys disabled console, didn't you?
You need to have it enabled in current release.

@nirkons @cyb3rm4n @tkp206093 @emaf94 @cj0293 @marcusds
I found out what is an issue finally, will not happen in next release.
You guys disabled console, didn't you?
You need to have it enabled in current release.

@yamashi this can be closed, have been confirmed as a fix for this on Discord by user with exact same issue.

@yamashi this can be closed, have been confirmed as a fix for this on Discord by user with exact same issue.


⚠ Jenkins Plugins Artifactory has degraded performance

In ad47f1c, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1190 ms

Resolved: Jenkins Plugins Artifactory performance has improved in 0fae1c0 after 32 minutes.


Add pretty_version and best_version to linux_distribution()

This passes them through as pretty and best when calling version().
Resolves #263

This is way overdue, but also interesting. I mean.. it's extremely opinionated (regardless of the fact that it's ultra-breaking).
Thanks @terminalmage, but can you clarify why this warrants the breakage?

Did you read the linked issue?

I have indeed, but I now see that I missed the last part.
I'll comment in the issue.


A Error when doing the example

Thank you for providing this good package. But I have encountered a Error when I am running the example (Standardize)
#########################################
rdkit.Chem.rdmolfiles.MolFromSmiles(unicode)
did not match C++ signature:
MolFromSmiles(std::string SMILES, bool sanitize=True, boost::python::dict replacements={})
##########################################
Because of the "Chem.MolFromSmarts('CX3[OX2H1]')" need a string. While ''from future import unicode_literals" was added at the top .
If I remove the "from future import unicode_literals". Things goes well.
Could you please explain how to avoid this error? or this "from future import unicode_literals" is used in the other latter code? Can I just remove it?

What version of RDKit do you have installed? I thought this issue had been fixed since 2013 (see https://github.com/rdkit/rdkit/issues/179).

Thank you for your reply. I am using a rdkit(201309-1) from Ubuntu. It is not convenient for me to change the version because other projects relies on it. Can I just remove the "from future import unicode_literals"?

Yes I think removing the future import should be fine. The main reason it is used is to ensure consistent behaviour across python 2 and 3.


Vue MDC

Current state of Vue MDL
As some of you may know, Material design Lite is now in Limited Support:

Limited support
Material Design Lite is now in limited support, with development having moved to the
Material Components for the web repository.
No further development is taking place in MDL by the core team, but we are happy to review PRs, fix critical bugs and
push out new releases. No breaking changes will be accepted.

You can check a demo of Material web components at http://material-components-web.appspot.com/
Future of Vue MDL
This means that vue-mdl will be placed in a similar state: some issues will be tagged as contribution welcome.
But don't worry, I'm moving to Material components Web progressively 🙂 . You can actually check the work on the mdc branch.
This next version will start from 0.0.1 in a new package: vue-mdc.
I'll probably rename this repository, keep an mdl branch for the old version and move the docs too. I still have to test things out as I don't want to break existing links
This time I want to change some things, I want vue-mdc to be easier to contribute. I put a lot of effort on creating a good DX in the mdc branch that you can already test and give feedback 📝
I'll really like to create a little team of contributors and move this project to an organisation. I'm thinking of some persons that have contributed to vue-mdl and who may be interested in helping with vue-mdc. If you're interested, you can reach out on gitter with your github profile so I can check out some of your work 😄
Last but not least, docs should be faster, I'll probably use nuxt to ensure the vue-mdc is SSR ready
If you have questions around vue-mdl or vue-mdc, suggestions or feedback, please, share them here 🙂

Awesome! Just in case you missed it, there are some framework-examples for vue on the material-components-web repo https://github.com/material-components/material-components-web/tree/master/framework-examples/vue - might be a good starting point for some components, but there aren't that many yet either.

Hey, yes, I took some inspiration from there. the v-ripple looks a lot like the one there

It doesn't look like this is being implemented according to the MDC guidelines for frameworks https://github.com/material-components/material-components-web/blob/master/docs/integrating-into-frameworks.md
Will you be changing to implement more like https://github.com/material-components/material-components-web/tree/master/framework-examples/vue or planning to just use the MDC CSS?

hey, yes it is. I'll implement it to make it performant and offer a good api. It's not just CSS, I'll add more js (on top of what is there already) with more dynamic components like the menu

I just renamed the repository to vue-mdc and added a note at the top of the readme. I'll leave that note until a v1 version is released.
Vue MDC is still at very early stages but I really want it to be easier to contribute. I'll still accept contributions to vue mdl and release fixes so people who have started using it can continue doing so 🙂
If you can try out the setup and have some feedback, please, post it here 😄

Hey posva! Really enjoying your work on Google's Material Design Components, im not really Vue guy(angular background) but how can i help to build the components on Vue? Any examples?

Hey @MishUshakov Thanks for the interest!
ATM it's a bit hard to work on things because I'm not providing visibility of what I'm working on, but if you want to get started you can look at existing tests and the ripple.js as well as the material components web code
If you have done some Angular, Vue will be very easy 🙂
I'll post more information once I have it

@posva https://github.com/stasson/vue-mdc-adapter

@spyhole Thanks for sharing. I wonder why they would start a new project instead of contributing to this one... On top of that, they're not writing any tests and are creating full components everywhere which aren't optimal. It looks like they're building it for their own use

im pleasure to see this project to use Google official components and css. @posva

This "project" is impossible to use. I haven't seen nothing like this before.

@posva We are thinking about using «vue-mdc» for a really big project. We would also be willing to contribute where needed (ie. something we need is missing). I wonder how committed you are to the project right now?

@jeremyzahner on the scale from 0 to 10 I'd say 0

@jeremyzahner Right now I'm unable to do much open source because of personal matters.
I'll keep adding things with time, and I'll love to have some active contributors for this project
Right now vue-mdc is far from complete, some components are usable but most things are still missing. I'll get involved again after I solved my problems, which would probably be in 2 or 3 weeks. I can recontact you at that moment if you want

@posva Please do. In 2 to 3 Weeks we will be starting our project. We just wanted to make sure that you still have the intention of keeping the project alive. =)

I am also planning to start rather big project and trying to choose from this and vue-material. Components in this projects seem to work faster


Update Documentation to Fix v8.x.x Changes

Some of the documentation has not been updated to reflect the refactor in v8, especially relating to the new UserManager. With this PR, I update the documentation under the Usage -> Routes page. For instance, the docs still reference an after_register handler, but that is now the on_after_register handler within a UserManager.
This will address #769

Very nice catch @jdukewich, thank you 🙏
@all-contributors add @jdukewich for docs


Nodejs programming model

*Issue #, if available:
None
*Description of changes:

Fix nodejs code samples
Add async lambda handler

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Thanks. I've included these changes as part of an overall rewrite of this topic.


Error converting to my own dataset:AttributeError: 'NoneType' object has no attribute 'decode'

Hello! ^_^
I changed the dataset to my own according to your method, but there is the following error, I don't know how to solve it.

It has been resolved that the dataset generation format does not match the model


chore: DBTP-768 - Publish to PyPi

Not much to see here, just re-enabling the PyPi publish.
The main change is that the CodeBuild job for buildspec.pypi.yml now triggers on release. I have updated buildspec.test.yml CodeBuild job to still run the tests on push to main.

Is there a gitlab PR for the change to the codebuild job?

@gabelton

Is there a gitlab PR for the change to the codebuild job?

No... but it sounds like there should be 😅 I'm not sure I can see the relevant project in GitLab, do you know which one it is?

@gabelton

Is there a gitlab PR for the change to the codebuild job?

No... but it sounds like there should be 😅 I'm not sure I can see the relevant project in GitLab, do you know which one it is?

Could be a misunderstanding on my part, but I think we'd want the change recorded in this repo, rather than just manually updated in AWS UI https://gitlab.ci.uktrade.digital/webops/terraform-tools

@gabelton
Related CodeBuild changes https://gitlab.ci.uktrade.digital/webops/terraform-tools/-/merge_requests/28


spec v1, pubsub transport: couldn't make it work, errs

I used this example as base:
https://github.com/cloudevents/sdk-go/tree/master/cmd/samples/pubsub
Using PubSub Transport, everything worked fine when used v03.
When trying to use v1, just changing cloudevents.VersionV03 for cloudevents.VersionV1 in:
https://github.com/cloudevents/sdk-go/blob/master/cmd/samples/pubsub/sender/main.go#L45
Throws this error on a loop:
{"level":"error","ts":1573823257.217474,"logger":"fallback","caller":"pubsub/transport.go:241","msg":"failed to decode message","error":"unknown encoding: Unknown Encoding","stacktrace":"github.com/cloudevents/sdk-go/pkg/cloudevents/transport/pubsub.(*Transport).startSubscriber.func1\n\t/Users/lopezator/go/pkg/mod/github.com/cloudevents/sdk-go@v0.10.0/pkg/cloudevents/transport/pubsub/transport.go:241\ngithub.com/cloudevents/sdk-go/pkg/cloudevents/transport/pubsub/internal.(*Connection).Receive.func1\n\t/Users/lopezator/go/pkg/mod/github.com/cloudevents/sdk-go@v0.10.0/pkg/cloudevents/transport/pubsub/internal/connection.go:187\ncloud.google.com/go/pubsub.(*Subscription).receive.func3\n\t/Users/lopezator/go/pkg/mod/cloud.google.com/go@v0.40.0/pubsub/subscription.go:633"}

What could I do?
Maybe this also could be a good opportunity to update the examples ans start using v1 on them. I could take over this if you give me any hint.

Try setting the content encoding. There was a breaking change where that is no longer defaulted to "applicaiton/json" so you setting it directly might fix this issue.

Code:
cloudEvent.SetDataContentEncoding(cloudevents.ApplicationJSON)

Raise a panic:
deprecated: SetDataContentEncoding is not supported in v1.0 of CloudEvents

MY BAD! (was at kubecon, not at computer...)
I meant cloudEvent.SetDataContentType()

cloudEvent.SetDataContentType(cloudevents.ApplicationJSON) (application/json)
throws on receiver:
{"level":"error","ts":1574785676.018278,"logger":"fallback","caller":"pubsub/transport.go:241","msg":"failed to decode message","error":"unknown encoding: Unknown Encoding","stacktrace":"github.com/cloudevents/sdk-go/pkg/cloudevents/transport/pubsub.(*Transport).startSubscriber.func1\n\t/Users/d.lopez/go/pkg/mod/github.com/cloudevents/sdk-go@v0.10.0/pkg/cloudevents/transport/pubsub/transport.go:241\ngithub.com/cloudevents/sdk-go/pkg/cloudevents/transport/pubsub/internal.(*Connection).Receive.func1\n\t/Users/d.lopez/go/pkg/mod/github.com/cloudevents/sdk-go@v0.10.0/pkg/cloudevents/transport/pubsub/internal/connection.go:187\ncloud.google.com/go/pubsub.(*Subscription).receive.func3\n\t/Users/d.lopez/go/pkg/mod/cloud.google.com/go@v0.40.0/pubsub/subscription.go:633"}

And:
cloudEvent.SetDataContentType(cloudevents.ApplicationCloudEventsJSON) (application/cloudevents+json)
throws:
{"logging.googleapis.com/sourceLocation":{"file":"cdc.go","function":"(*Cdc).Run.func1","line":"214"},"message":"[encode] unsupported content type: \"application/cloudevents+json\"","severity":"error","time":"2019-11-26T16:29:34.401252Z"}


Airdrop Error

I fulfill all the requirements for the airdrop, however, when I tried to apply, I did not have the backup devices. Now that I have them I'm not able to find the apply button again. How can I access to the airdrop check again?

Hịi

Hello anh

https://keybase.io/a/i/r/d/r/o/p/spacedrop2019


Crossref import with DOI URI behaves incorrectly

Describe the bug
In DSpace 7.6.1 and current DSpace 8.0-SNAPSHOT at least, if you try to import an item using a DOI using its URI form from Crossref, you get millions of results.

To Reproduce
Steps to reproduce the behavior:

Log into DSpace
Go to MyDSpace
Use the dropdown menu for importing metadata from an external source
Choose Crossref and enter a DOI in URI format such as https://doi.org/10.1108/CAER-03-2020-0040

Expected behavior
DSpace should show exactly one result for the DOI.

Crossref's API supports retrieving the DOI in various formats, so I'm not sure what is going on. See:

http://api.crossref.org/works/https://dx.doi.org/10.1108/CAER-03-2020-0040
http://api.crossref.org/works/https://doi.org/10.1108/CAER-03-2020-0040
http://api.crossref.org/works/10.1108/CAER-03-2020-0040

Related work
#9385

@alanorth The current implementation https://github.com/DSpace/DSpace/blob/823ade958ed42fb57f4f1de6a90a3b51fcf99304/dspace-api/src/main/java/org/dspace/importer/external/crossref/CrossRefImportMetadataSourceServiceImpl.java#L152 uses some search via query parameter, not the direct access to the doi resource.
So the effective Queries called in the search are e.g.

https://api.crossref.org/works?query=10.1108/CAER-03-2020-0040
https://api.crossref.org/works/?query=https://doi.org/10.1108/CAER-03-2020-0040
containing in total the million records.

Reproduced on todays sandbox:

Also searching after the title is possible.

@floriangantner Ah I see! It's hard to imagine this free-text search being useful. Returning more than a single page of results—leave alone millions!—is a terrible user experience. Unless there's some way to make that free-text search more useful, I would say that we should make this explicitly use DOIs because that will return an exact match and is more likely the workflow that submitters will be using (at least at our institute, where our submitters are cataloging a journal article authored by one of our scientists).

I'd blame DoiChecker:  https://github.com/DSpace/DSpace/blob/1517e8cd0fe59645827164099060b1d3e80b9f9f/dspace-api/src/main/java/org/dspace/importer/external/crossref/CrossRefImportMetadataSourceServiceImpl.java#L119
The crossrefimport explicitly checks if a DOI is given or not and only searches by query if no DOI is provided:
https://github.com/DSpace/DSpace/blob/1517e8cd0fe59645827164099060b1d3e80b9f9f/dspace-api/src/main/java/org/dspace/importer/external/crossref/CrossRefImportMetadataSourceServiceImpl.java#L83-L87
However only an extremely limited set of prefixes is recognized by isDoi:
https://github.com/DSpace/DSpace/blob/1517e8cd0fe59645827164099060b1d3e80b9f9f/dspace-api/src/main/java/org/dspace/importer/external/service/DoiCheck.java#L22
so that https://doi.org/10.1108/CAER-03-2020-0040 is used with a query parameter and not as an ID

@hutattedonmyarm Wow yes this is very simple and obviously correct. While there doesn't seem to be a single canonical form for DOIs, I think it has become more common to use the https://doi.org/10.xxxx/xxxxx URI format in the last few years. In our repository I have begun normalizing all DOIs to that format upon deposit. Crossref at least recommends this since 2017
Could you submit a patch with your additions?


Add MAST-related content to the webpage.

Hi,
I've added some MAST-related content. Let me know if you have any comments.

Thanks for the update.


[FEATURE] create a Typography component

Description
Currently in our application we are using texts in random manner. Size mismatch and style mismatch is happening. To fix this issue we need to create a typography component.
Requirement:

Create a typography component
It should be polymorphic component - see this for reference
all styles should be customisable
all appropriate text props should be there

Hi, I'd like to work on this issue. Can you assign it to me?

Hi @rosita-dmello please feel free to create a PR and mention the issue number# 👍


Problems with pnpm and the way loaders are resolved

Do you want to request a feature or report a bug?

bug?
What is the current behavior?
I can't create libs which use webpack and loaders, install these libs with pnpm and try to use them, because the modules can't be found.
It looks like pnpm installs my lib here: /Users/foo/test/ws-pnpm-test/node_modules/.registry.npmjs.org/@mercateo/ws/1.0.2/node_modules/@mercateo/ws.
The loader is here /Users/foo/test/ws-pnpm-test/node_modules/.registry.npmjs.org/string-replace-loader and here<EMAIL_ADDRESS>I think webpack only looks here for loaders: /Users/foo/test/ws-pnpm-test/node_modules/string-replace-loader, but this does not exist.
I think webpack resolves loaders in node_modules relative to process.cwd(), but not relative to my lib.
I can't just rewrite my config to something like this:
{
  resolveLoader: {
    modules: [
       // goes up '@mercateo/ws/dist' to match<EMAIL_ADDRESS>       // this could lead to different directories, if my lib isn't installed with pnpm
       join(__dirname, '..', '..', '..'),
       // this would match `'/Users/foo/test/ws-pnpm-test/node_modules/.registry.npmjs.org/string-replace-loader'`
       // but I can't be sure, that my users use the official registry and not a private mirror or something like that
       join(process.cwd(), 'node_modules/.registry.npmjs.org'),
      'node_modules'  // default
    ]
  }
}

What is the most robust way to solve this?
Can I specify something like that? resolveLoaders.basedir: __dirname, so all loaders can be resolved relative to my lib?
// cc @zkochan
If the current behavior is a bug, please provide the steps to reproduce.

package.json:
{
  "name": "ws-pnpm-test",
  "version": "1.0.0",
  "private": true,
  "scripts": {
    "ws": "ws"
  },
  "ws": {
    "type": "browser"
  },
  "dependencies": {
    "@mercateo/ws": "^1.0.2"
  }
}

tsconfig.json:
{}

src/index.ts:
console.log('hello');

$ pnpm install
$ npm run -s ws -- build
ERROR in Entry module not found: Error: Can't resolve 'string-replace-loader' in '/Users/foo/test/ws-pnpm-test'

What is the expected behavior?
Build without error.
If this is a feature request, what is motivation or use case for changing the behavior?
Please mention other relevant information such as the browser version, Node.js version, webpack version and Operating System.
Node LTS, Webpack 2.6, pnpm 0.71, Mac OS X.

Maybe I can just use resolveLoaders.modules: [ join(__dirname, '..', '..', '..'), 'node_modules' ]?
If my lib is installed with pnpm the path matches<EMAIL_ADDRESS>For npm and yarn it would match '/Users/foo/test/ws-pnpm-test/node_modules'. Looks okay I guess?
Feel free to close this issue, if this is the intended way.

cc @yegor-sytnyk, @max-devjs
Ref https://github.com/pnpm/pnpm/issues/801
We have issues in lots of applications because webpack can't resolve packages in the node_modules created by pnpm. I think it is because webpack doesn't resolve dependencies the way Node does. Node resolves requires from the real path of a module. That is why the symlink approach pnpm uses works with all Node apps. However, it seems to confuse webpack and some other tools like browserify and eslint.

Also, I believe @andreypopp has looked into these issues in scope of CRA https://github.com/pnpm/pnpm/issues/581
And @vjpr has investigated it a bit

bump

Problem still exists? Can you create minimum reproducible test repo?

Minimum reproducible case
In empty directory, run:
pnpm install<EMAIL_ADDRESS>
create test.js:
const http = require('http')
const ream = require('ream')

const app = ream()

async function serve_ream () {
    const handler = await app.getRequestHandler()
    const server = http.createServer(handler)
    server.listen(3000)
}

serve_ream()

run it:
node test

output:
❯ node test.js
(node:46371) UnhandledPromiseRejectionWarning: Error: Cannot find module 'webpack/lib/RuleSet'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:581:15)
    at Function.Module._load (internal/modules/cjs/loader.js:507:25)
    at Module.require (internal/modules/cjs/loader.js:637:17)
    at require (internal/modules/cjs/helpers.js:20:18)
    at Object.<anonymous> (/Users/semenov/tmp/pp/node_modules/.registry.npmjs.org/vue-loader/15.4.2/css-loader@1.0.0/node_modules/vue-loader/lib/plugin.js:2:17)
    at Module._compile (internal/modules/cjs/loader.js:689:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Function.Module._load (internal/modules/cjs/loader.js:530:3)
(node:46371) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:46371) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

then, rm -rf node_modules and yarn, and the problem is gone.

I think I'm hitting this issue or something similar in this React project:
https://github.com/dirtprotocol/dirt/tree/master/sampleprojects/sample-web-react
If I install with npm or yarn, everything is fine when I run npm start. If I install with pnpm, I get this error:
/Users/sendrecv/sproj/dirt/packages/lib/dist/services/StaticContractProvider.js
Module not found: Can't resolve '@dirt/contracts' in '/Users/sendrecv/sproj/dirt/packages/lib/dist/services'

i also get a similar issue with pnpm
this webpack.config.js works when i have no node_modules and run npm install
however it does not work when i have no node_modules and run pnpm install
const HtmlWebPackPlugin = require("html-webpack-plugin")
const path = require("path")

const htmlWebpackPlugin = new HtmlWebPackPlugin(
{
  template: "./public/index.html",
  filename: "index.html",
})

module.exports =
{
  entry: ["./src/index.js"],
  devServer: {
    historyApiFallback: true,
    overlay: true,
  },
  resolve: {
    modules: [
      path.resolve(__dirname, "node_modules"),
      path.resolve(__dirname, "src")
    ],
  },
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        use: {
          loader: "babel-loader",
        },
      },
      {
        test: /\.css$/,
        use: [
          { loader: "style-loader" },
          {
            loader: "css-loader",
            options:
            {
              modules: true,
              importLoaders: 1,
              localIdentName: "[name]_[local]_[hash:base64]",
            },
          },
        ],
      },
    ],
  },
  plugins: [htmlWebpackPlugin],
}

also my package.json
{
  "name": "mydashboard",
  "version": "1.0.0",
  "description": "",
  "scripts": {
    "start": "webpack-dev-server --mode development --hot --port 3000",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "@babel/cli": "^7.2.3",
    "@babel/core": "^7.3.4",
    "@babel/preset-env": "^7.3.4",
    "@babel/preset-react": "^7.0.0",
    "babel-loader": "^8.0.5",
    "css-loader": "^2.1.0",
    "html-webpack-plugin": "^3.2.0",
    "style-loader": "^0.23.1",
    "webpack": "^4.29.5",
    "webpack-cli": "^3.2.3",
    "webpack-dev-server": "^3.2.1"
  },
  "dependencies": {
    "react": "^16.8.3",
    "react-dom": "^16.8.3"
  }
}

@sokra any ideas? This issue is still prevalent and old. pnpm is very promising and this is blocker.

webpack should have a peeDependency to events, because hot module loading requires it
https://github.com/webpack/webpack/blob/81cf088cd6a0231b94fa2399bd29294eccee1907/hot/emitter.js#L1

failed in pnpm 3.8, too

/cc @sokra i think we need add to peeDependency optional dep events

@NikitaIT what is problem?

@evilebottnawi

it all started with this error https://github.com/vuejs/vue-cli/issues/4571
i update pnpm to 3.8.1 and solve it
after build I found an error Module not found: Error: Can't resolve 'ts-loader' and same errors for tslib and @types/node.
after forse install tslib and @types/node in package.json my app started
but failed in runtime with Module not found: Error: Can't resolve 'ts-loader'
after install ts-loader same as in vue-cli deps, i found Module build failed (from ../common/temp/node_modules/.registry.npmjs.org/babel-loader/8.0.6_@babel+core@7.6.0+webpack@4.12.0/node_modules/babel-loader/lib/index.js):
I gave up and switched to rush + npm.

@NikitaIT i think problem in vue-cli, webpack doesn't provide ts-loader out of box

@evilebottnawi i now, but i followed https://github.com/pnpm/pnpm/issues/1678 and this problem mark as related.
I have Module not found: Error: Can't resolve 'ts-loader' when loader was already installed as a dependency for cli-plugin-typescript.

It's a shame this hasn't been resolved yet. I love using pnpm because it treats dependencies in a sane way and it's fast. I also like the simplicity of vue-cli and the power of webpack.
Could we attempt to fix this somehow? I don't even know who should change.
This caught my eye in pnpm/pnpm#1678

I think the best/cleanest/most portable solution is to use resolveLoader.alias and require.resolve to map loaders directly to absolute paths. (i.e. config.resolveLoader.alias.set('babel-loader$', require.resolve('babel-loader')))

Any help is appreciated here @evilebottnawi .

Have you tried to put a file .npmrc in your project root folder? The content is just like this:
shamefully-hoist=true

@fengerzh in my case I'm using rush, which will break if I try to do that I think. So all the shameful options are not an option for me. In my monorepo I would prefer not to break the boundaries between the packages anyway.

@wbern What is problem? webpack should works (some plugins/loaders/tools can don't work), what is error or example of error?

@fengerzh
It still occurs even with shamefully-hoist=true.
@evilebottnawi
ERROR in Entry module not found: Error: Can't resolve 'babel-loader' in '…/Mozilla/kuma'

@fengerzh
It still occurs even with shamefully-hoist=true.
@evilebottnawi
ERROR in Entry module not found: Error: Can't resolve 'babel-loader' in '…/Mozilla/kuma'
Regardless of shamefully-hoist

Did you firstly rm -rf node_modules and rm -rf pnpm-lock.yaml?

Yes, yes I did run:
Remove-Item .\node_modules\,.\pnpm-lock.yaml -Force -Recurse

Confirmed. If you git clone this repository, it will cause this problem:
https://github.com/mdn/kuma

The bug is in enhanced‑resolve, in that it doesn’t correctly handle NODE_PATH with multiple entries.
Error log
resolve 'babel-loader' in '…\Mozilla\kuma'
  Parsed request is a module
  using description file: …\Mozilla\kuma\package.json (relative path: .)
    resolve as module
      looking for modules in …\Mozilla\kuma\node_modules\.pnpm\registry.npmjs.org\webpack\4.41.2_@babel+core@7.6.4+webpack@4.41.2\node_modules\webpack\bin\webpack.js\node_modules;…\Mozilla\kuma\node_modules\.pnpm\registry.npmjs.org\webpack\4.41.2_@babel+core@7.6.4+webpack@4.41.2\node_modules\webpack\bin\node_modules;…\Mozilla\kuma\node_modules\.pnpm\registry.npmjs.org\webpack\4.41.2_@babel+core@7.6.4+webpack@4.41.2\node_modules\webpack\node_modules;…\Mozilla\kuma\node_modules\.pnpm\registry.npmjs.org\webpack\4.41.2_@babel+core@7.6.4+webpack@4.41.2\node_modules;…\Mozilla\kuma\node_modules\.pnpm\registry.npmjs.org\webpack\node_modules;…\Mozilla\kuma\node_modules\.pnpm\registry.npmjs.org\node_modules;…\Mozilla\kuma\node_modules\.pnpm\node_modules;…\Mozilla\kuma\node_modules;…\Mozilla\node_modules;…\node_modules;D:\node_modules;…\Mozilla\kuma\node_modules\webpack\bin\webpack.js\node_modules;…\Mozilla\kuma\node_modules\webpack\bin\node_modules;…\Mozilla\kuma\node_modules\webpack\node_modules
        using description file: …\Mozilla\kuma\node_modules\.pnpm\registry.npmjs.org\webpack\4.41.2_@babel+core<EMAIL_ADDRESS>(relative path: ./bin/webpack.js/node_modules;D:/Coding/Mozilla/kuma/node_modules/.pnpm/registry.npmjs.org/webpack/4.41.2_@babel+core@7.6.4+webpack@4.41.2/node_modules/webpack/bin/node_modules;D:/Coding/Mozilla/kuma/node_modules/.pnpm/registry.npmjs.org/webpack/4.41.2_@babel+core@7.6.4+webpack@4.41.2/node_modules/webpack/node_modules;D:/Coding/Mozilla/kuma/node_modules/.pnpm/registry.npmjs.org/webpack/4.41.2_@babel+core@7.6.4+webpack@4.41.2/node_modules;D:/Coding/Mozilla/kuma/node_modules/.pnpm/registry.npmjs.org/webpack/node_modules;D:/Coding/Mozilla/kuma/node_modules/.pnpm/registry.npmjs.org/node_modules;D:/Coding/Mozilla/kuma/node_modules/.pnpm/node_modules;D:/Coding/Mozilla/kuma/node_modules;D:/Coding/Mozilla/node_modules;D:/Coding/node_modules;D:/node_modules;D:/Coding/Mozilla/kuma/node_modules/webpack/bin/webpack.js/node_modules;D:/Coding/Mozilla/kuma/node_modules/webpack/bin/node_modules;D:/Coding/Mozilla/kuma/node_modules/webpack/node_modules)
          using description file: …\Mozilla\kuma\node_modules\.pnpm\registry.npmjs.org\webpack\4.41.2_@babel+core<EMAIL_ADDRESS>(relative path: ./bin/webpack.js/node_modules;D:/Coding/Mozilla/kuma/node_modules/.pnpm/registry.npmjs.org/webpack/4.41.2_@babel+core@7.6.4+webpack@4.41.2/node_modules/webpack/bin/node_modules;D:/Coding/Mozilla/kuma/node_modules/.pnpm/registry.npmjs.org/webpack/4.41.2_@babel+core@7.6.4+webpack@4.41.2/node_modules/webpack/node_modules;D:/Coding/Mozilla/kuma/node_modules/.pnpm/registry.npmjs.org/webpack/4.41.2_@babel+core@7.6.4+webpack@4.41.2/node_modules;D:/Coding/Mozilla/kuma/node_modules/.pnpm/registry.npmjs.org/webpack/node_modules;D:/Coding/Mozilla/kuma/node_modules/.pnpm/registry.npmjs.org/node_modules;D:/Coding/Mozilla/kuma/node_modules/.pnpm/node_modules;D:/Coding/Mozilla/kuma/node_modules;D:/Coding/Mozilla/node_modules;D:/Coding/node_modules;D:/node_modules;D:/Coding/Mozilla/kuma/node_modules/webpack/bin/webpack.js/node_modules;D:/Coding/Mozilla/kuma/node_modules/webpack/bin/node_modules;D:/Coding/Mozilla/kuma/node_modules/webpack/node_modules/babel-loader)
            no extension
              …\Mozilla\kuma\node_modules\.pnpm\registry.npmjs.org\webpack\4.41.2_@babel+core@7.6.4+webpack@4.41.2\node_modules\webpack\bin\webpack.js\node_modules;…\Mozilla\kuma\node_modules\.pnpm\registry.npmjs.org\webpack\4.41.2_@babel+core@7.6.4+webpack@4.41.2\node_modules\webpack\bin\node_modules;…\Mozilla\kuma\node_modules\.pnpm\registry.npmjs.org\webpack\4.41.2_@babel+core@7.6.4+webpack@4.41.2\node_modules\webpack\node_modules;…\Mozilla\kuma\node_modules\.pnpm\registry.npmjs.org\webpack\4.41.2_@babel+core@7.6.4+webpack@4.41.2\node_modules;…\Mozilla\kuma\node_modules\.pnpm\registry.npmjs.org\webpack\node_modules;…\Mozilla\kuma\node_modules\.pnpm\registry.npmjs.org\node_modules;…\Mozilla\kuma\node_modules\.pnpm\node_modules;…\Mozilla\kuma\node_modules;…\Mozilla\node_modules;…\node_modules;D:\node_modules;…\Mozilla\kuma\node_modules\webpack\bin\webpack.js\node_modules;…\Mozilla\kuma\node_modules\webpack\bin\node_modules;…\Mozilla\kuma\node_modules\webpack\node_modules\babel-loader doesn't exist
            .js
              …\Mozilla\kuma\node_modules\.pnpm\registry.npmjs.org\webpack\4.41.2_@babel+core@7.6.4+webpack@4.41.2\node_modules\webpack\bin\webpack.js\node_modules;…\Mozilla\kuma\node_modules\.pnpm\registry.npmjs.org\webpack\4.41.2_@babel+core@7.6.4+webpack@4.41.2\node_modules\webpack\bin\node_modules;…\Mozilla\kuma\node_modules\.pnpm\registry.npmjs.org\webpack\4.41.2_@babel+core@7.6.4+webpack@4.41.2\node_modules\webpack\node_modules;…\Mozilla\kuma\node_modules\.pnpm\registry.npmjs.org\webpack\4.41.2_@babel+core@7.6.4+webpack@4.41.2\node_modules;…\Mozilla\kuma\node_modules\.pnpm\registry.npmjs.org\webpack\node_modules;…\Mozilla\kuma\node_modules\.pnpm\registry.npmjs.org\node_modules;…\Mozilla\kuma\node_modules\.pnpm\node_modules;…\Mozilla\kuma\node_modules;…\Mozilla\node_modules;…\node_modules;D:\node_modules;…\Mozilla\kuma\node_modules\webpack\bin\webpack.js\node_modules;…\Mozilla\kuma\node_modules\webpack\bin\node_modules;…\Mozilla\kuma\node_modules\webpack\node_modules\babel-loader.js doesn't exist
            .json
              …\Mozilla\kuma\node_modules\.pnpm\registry.npmjs.org\webpack\4.41.2_@babel+core@7.6.4+webpack@4.41.2\node_modules\webpack\bin\webpack.js\node_modules;…\Mozilla\kuma\node_modules\.pnpm\registry.npmjs.org\webpack\4.41.2_@babel+core@7.6.4+webpack@4.41.2\node_modules\webpack\bin\node_modules;…\Mozilla\kuma\node_modules\.pnpm\registry.npmjs.org\webpack\4.41.2_@babel+core@7.6.4+webpack@4.41.2\node_modules\webpack\node_modules;…\Mozilla\kuma\node_modules\.pnpm\registry.npmjs.org\webpack\4.41.2_@babel+core@7.6.4+webpack@4.41.2\node_modules;…\Mozilla\kuma\node_modules\.pnpm\registry.npmjs.org\webpack\node_modules;…\Mozilla\kuma\node_modules\.pnpm\registry.npmjs.org\node_modules;…\Mozilla\kuma\node_modules\.pnpm\node_modules;…\Mozilla\kuma\node_modules;…\Mozilla\node_modules;…\node_modules;D:\node_modules;…\Mozilla\kuma\node_modules\webpack\bin\webpack.js\node_modules;…\Mozilla\kuma\node_modules\webpack\bin\node_modules;…\Mozilla\kuma\node_modules\webpack\node_modules\babel-loader.json doesn't exist
            as directory
              …\Mozilla\kuma\node_modules\.pnpm\registry.npmjs.org\webpack\4.41.2_@babel+core@7.6.4+webpack@4.41.2\node_modules\webpack\bin\webpack.js\node_modules;…\Mozilla\kuma\node_modules\.pnpm\registry.npmjs.org\webpack\4.41.2_@babel+core@7.6.4+webpack@4.41.2\node_modules\webpack\bin\node_modules;…\Mozilla\kuma\node_modules\.pnpm\registry.npmjs.org\webpack\4.41.2_@babel+core@7.6.4+webpack@4.41.2\node_modules\webpack\node_modules;…\Mozilla\kuma\node_modules\.pnpm\registry.npmjs.org\webpack\4.41.2_@babel+core@7.6.4+webpack@4.41.2\node_modules;…\Mozilla\kuma\node_modules\.pnpm\registry.npmjs.org\webpack\node_modules;…\Mozilla\kuma\node_modules\.pnpm\registry.npmjs.org\node_modules;…\Mozilla\kuma\node_modules\.pnpm\node_modules;…\Mozilla\kuma\node_modules;…\Mozilla\node_modules;…\node_modules;D:\node_modules;…\Mozilla\kuma\node_modules\webpack\bin\webpack.js\node_modules;…\Mozilla\kuma\node_modules\webpack\bin\node_modules;…\Mozilla\kuma\node_modules\webpack\node_modules\babel-loader doesn't exist

Without using shamefully-hoist, this still seems like a problem when using a packager that depends on webpack behind the scenes, like Rails' webpacker. Loaders don't seem to, well load, without manually resolving them via require.resolve('babel-loader'), etc in the resolve config.
This is a major roadblock for rails/webpacker/issues/2467.

Could you try with webpack@next?

Has anyone already tested if the issues are resolved with Webpack 5?

Should be yes, feel free to test it and report if you have problems

beep

beep

it there a workaround in webpack@1?

it there a workaround in webpack@1?

If it's unclear from the above concersation, the resolution problems with webpack loaders were fixed when I upgraded to webpack@5 (while using node@ˆ14 and<EMAIL_ADDRESS>. I'm not familiar enough with webpack 5 to know why this is the case, but I was able to repro the issue by reverting the change and then applying the change again.

same problem

I think the way to solve this, if you intend to use a config package that provides a webpack config for you, is to use require.resolve for all of your loader references, like for example require.resolve('babel-loader') instead of plain babel-loader as a string in the webpack config.
I don't have these issues anymore, as long as I use the above.

has workspace demo or use with lerna demo

Should work with webpack@5. Feel free to report new issue with reproducible repo.

https://github.com/icecream17/solver/runs/3694840400
I'm getting this error in create-react-app, react-scripts version ^5.0.0-next.37 and webpack 5.41.1 according to pnpm-lock.yaml.

Repro that's easy to do yourself (but not necessarily minimal):

npx create-react-app@next --scripts-version=@next --template=typescript@next my-ts-app
cd my-ts-app
Remove package-lock.json and node_modules

The command is different based on os, but if it matters I'm on windows vscode so rm -Force node_modules in the terminal and Backspace on the package-lock file.

pnpm install
pnpm run build

Terminal output
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

Try the new cross-platform PowerShell https://aka.ms/pscore6

PS C:\Users\Steven\Documents\code\js\test> npx create-react-app@next --scripts-version=@next --template=typescript@next my-ts-app
Need to install the following packages:
  create-react-app@next
Ok to proceed? (y) y
npm WARN deprecated<EMAIL_ADDRESS>This version of tar is no longer supported, and will not receive security updates. Please upgrade asap.

Creating a new React app in C:\Users\Steven\Documents\code\js\test\my-ts-app.

Installing packages. This might take a couple of minutes.
Installing react, react-dom, and react-scripts with cra-template-typescript...

added 1675 packages in 5m

163 packages are looking for funding
  run `npm fund` for details

Initialized a git repository.

Installing template dependencies using npm...

added 45 packages, and changed 1 package in 12s

164 packages are looking for funding
  run `npm fund` for details

We detected TypeScript in your project (src\App.test.tsx) and created a tsconfig.json file for you.

Your tsconfig.json has been populated with default values.

Removing template package using npm...

removed 1 package, and audited 1720 packages in 4s

164 packages are looking for funding
  run `npm fund` for details

3 moderate severity vulnerabilities

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.

Created git commit.

Success! Created my-ts-app at C:\Users\Steven\Documents\code\js\test\my-ts-app
Inside that directory, you can run several commands:

  npm start
    Starts the development server.

  npm run build
    Bundles the app into static files for production.

  npm test
    Starts the test runner.
    Removes this tool and copies build dependencies, configuration files
    and scripts into the app directory. If you do this, you can’t go back!

We suggest that you begin by typing:

  cd my-ts-app
  npm start
Happy hacking!
PS C:\Users\Steven\Documents\code\js\test> cd my-ts-app
PS C:\Users\Steven\Documents\code\js\test\my-ts-app> rm -F node_modules
Remove-Item : Parameter cannot be processed because the parameter name 'F' is ambiguous. Possible matches include: -Filter -Force.
At line:1 char:4
+    ~~
    + CategoryInfo          : InvalidArgument: (:) [Remove-Item], ParameterBindingException
    + FullyQualifiedErrorId : AmbiguousParameter,Microsoft.PowerShell.Commands.RemoveItemCommand

PS C:\Users\Steven\Documents\code\js\test\my-ts-app> rm -Force node_modules

Confirm
The item at C:\Users\Steven\Documents\code\js\test\my-ts-app\node_modules has children and the Recurse parameter was not specified. If you continue, all children will be removed with the item. Are you sure you want to
 continue?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"):
PS C:\Users\Steven\Documents\code\js\test\my-ts-app> pnpm install
 WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
Packages: +1340
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Packages are hard linked from the content-addressable store to the virtual store.
  Content-addressable store is at: C:\Users\Steven\.pnpm-store\v3
  Virtual store is at:             node_modules/.pnpm
<EMAIL_ADDRESS>Running postinstall script, done in 199ms
<EMAIL_ADDRESS>Running postinstall script, done in 198ms
<EMAIL_ADDRESS>Running postinstall script, done in 241ms
Cannot link binary 'jest' of 'jest-cli' to<EMAIL_ADDRESS>binary of 'jest' is already linked

dependencies:
+ @testing-library/jest-dom 5.14.1
+ @testing-library/react 11.2.7 (12.1.0 is available)
+ @testing-library/user-event 12.8.3 (13.2.1 is available)
+ @types/jest 26.0.24 (27.0.2 is available)
+ @types/node 12.20.26 (16.9.6 is available)
+ @types/react 17.0.24
+ @types/react-dom 17.0.9
+ react 17.0.2
+ react-dom 17.0.2
+ react-scripts 5.0.0-next.37
+ typescript 4.4.3
+ web-vitals 1.1.2 (2.1.0 is available)
PS C:\Users\Steven\Documents\code\js\test\my-ts-app> pnpm run build

><EMAIL_ADDRESS>build C:\Users\Steven\Documents\code\js\test\my-ts-app
> react-scripts build

Creating an optimized production build...
Failed to compile.

Module not found: Error: Can't resolve 'source-map-loader' in 'C:\Users\Steven\Documents\code\js\test\my-ts-app'

 ELIFECYCLE  Command failed with exit code 1.
PS C:\Users\Steven\Documents\code\js\test\my-ts-app>

Repo: https://github.com/icecream17/my-ts-app

Easy fix is to install source-map-loader at the top of your monorepo/project.

I kinda fixed it in package.json, but now react-scripts gets an error. I will try your idea
{
  "pnpm": {
    "overrides": {
      "webpack": "^5.51.0"
    }
  }
}

Unfortunately when source-map-loader is installer, there's another error

something wring with postcss-normalize

make sure you have resolve.symlinks set to true

pnpm/pnpm#581

Wow, you saved my day... Was very frustrated by that issue but require.resolve made the thing for me

Most likely, the issue comes from ember-semantic-test-helpers, which hasn't been updated in 5 years and therefore is not a V2 addon.


Optimize Test Suite

This implements some additional instrumentation for the test-suite and adds
some additional Python 3 tricks to make the tests go faster.

It is important to note here, that we could not use the chunksize argument of the map function. According to the docs, this should make the tests run much quicker. Unfortunately, the tests occasionally timeout and the only way to detect this is by setting the chunksize to 1 as this adds an optional timeout parameter to the next method of the iterator. See the following for more details:
https://docs.python.org/3.7/library/multiprocessing.html

Next steps would be to take a closer look at which tests could be 'deserialized' i.e. moved from the serial test-suite to the parallel one.

I should probably also note that, this will give an increase of about 10% on my 12-core MBP.

Looks like the Linux py37_np114  build is crashing due to these:
======================================================================
ERROR: test_stack_effect_error_npm (numba.tests.test_dataflow.TestDataFlow)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/vsts/work/1/s/numba/tests/test_dataflow.py", line 175, in test_stack_effect_error_npm
    self.test_stack_effect_error(no_pyobj_flags)
  File "/home/vsts/work/1/s/numba/tests/test_dataflow.py", line 169, in test_stack_effect_error
    cr = compile_isolated(pyfunc, (types.int32,), flags=flags)
  File "/home/vsts/work/1/s/numba/compiler.py", line 157, in compile_isolated
    flags, locals)
  File "/home/vsts/work/1/s/numba/compiler.py", line 940, in compile_extra
    return pipeline.compile_extra(func)
  File "/home/vsts/work/1/s/numba/compiler.py", line 372, in compile_extra
    return self._compile_bytecode()
  File "/home/vsts/work/1/s/numba/compiler.py", line 871, in _compile_bytecode
    return self._compile_core()
  File "/home/vsts/work/1/s/numba/compiler.py", line 858, in _compile_core
    res = pm.run(self.status)
  File "/home/vsts/work/1/s/numba/compiler_lock.py", line 32, in _acquire_compile_lock
    return func(*args, **kwargs)
  File "/home/vsts/work/1/s/numba/compiler.py", line 254, in run
    raise patched_exception
  File "/home/vsts/work/1/s/numba/compiler.py", line 245, in run
    stage()
  File "/home/vsts/work/1/s/numba/compiler.py", line 496, in stage_nopython_frontend
    self.locals)
  File "/home/vsts/work/1/s/numba/compiler.py", line 1089, in type_inference_stage
    infer.build_constraint()
  File "/home/vsts/work/1/s/numba/typeinfer.py", line 846, in build_constraint
    self.constrain_statement(inst)
  File "/home/vsts/work/1/s/numba/typeinfer.py", line 1125, in constrain_statement
    self.typeof_assign(inst)
  File "/home/vsts/work/1/s/numba/typeinfer.py", line 1188, in typeof_assign
    self.typeof_global(inst, inst.target, value)
  File "/home/vsts/work/1/s/numba/typeinfer.py", line 1285, in typeof_global
    typ = self.resolve_value_type(inst, gvar.value)
  File "/home/vsts/work/1/s/numba/typeinfer.py", line 1206, in resolve_value_type
    return self.context.resolve_value_type(val)
  File "/home/vsts/work/1/s/numba/typing/context.py", line 358, in resolve_value_type
    ty = typeof(val, Purpose.constant)
  File "/home/vsts/work/1/s/numba/typing/typeof.py", line 30, in typeof
    ty = typeof_impl(val, c)
  File "/home/vsts/miniconda3/envs/travisci/lib/python3.7/functools.py", line 827, in wrapper
    return dispatch(args[0].__class__)(*args, **kw)
  File "/home/vsts/work/1/s/numba/typing/typeof.py", line 96, in typeof_type
    from numba.typed import Dict
  File "/home/vsts/work/1/s/numba/typed/__init__.py", line 3, in <module>
    from .typeddict import Dict
  File "/home/vsts/work/1/s/numba/typed/typeddict.py", line 4, in <module>
    from collections import MutableMapping
  File "<frozen importlib._bootstrap>", line 1032, in _handle_fromlist
  File "/home/vsts/miniconda3/envs/travisci/lib/python3.7/collections/__init__.py", line 52, in __getattr__
    DeprecationWarning, stacklevel=2)
DeprecationWarning: Failed in nopython mode pipeline (step: nopython frontend)
Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working

I am unable to reproduce this locally, will wait for #3935 to be merged and then try this one again.

@stuartarchibald do you have any hints as to how to discover tests that are marked as 'serial' but could be done in 'parallel'?

Typically, if a test mutates something in a way that might impact another process running a different test then the first test needs to be serial, for example, a test writing to an on-disk cache. Since all the threading layer work, it might be work seeing if the tests which use threads (i.e. parallel target tests) can now also run concurrently (they exhibit little to no workload in practice so this should be fine, so long as runtime can handle it).

Since we were looking at this bit of code this morning:
https://github.com/numba/numba/blob/master/numba/caching.py#L190-L210

I wonder if we could have most all of the caching tests use a custom, test-specific temp location and then only have a handful of tests check the other caching locations.

Merged master, giving this another run through CI now.

I think the failure here https://dev.azure.com/numba/numba/_build/results?buildId=1595 (Linux py37_np116_tbb) may well be genuine.

@stuartarchibald what does the suffix tbb stand for?

@esc Threading Building Blocks https://01.org/tbb, suggested reading: http://numba.pydata.org/numba-doc/latest/user/threading-layer.html

@stuartarchibald yeah, I concur the tbb failure is legit.

It was 681 commits behind master, let's re-roll this.

Closing in favor of #4781 and setting to 'abandoned'.


cli: Fix crash on "More than one series matches" message

Fix the following crash:
$ patchew-cli apply -s has_dynamic_sysbus list
More than one series matched:
Traceback (most recent call last):
File "/home/ehabkost/rh/proj/patchew/patchew-cli", line 837, in
sys.exit(main())
File "/home/ehabkost/rh/proj/patchew/patchew-cli", line 832, in main
return args.cmdobj.do(args, argv)
File "/home/ehabkost/rh/proj/patchew/patchew-cli", line 760, in do
print(r["project"], r["subject"])
TypeError: list indices must be integers or slices, not str
Signed-off-by: Eduardo Habkost<EMAIL_ADDRESS>

Merged, thanks!


App couldn't remember Check Spelling While Typing setting

By default, app is checking spelling:
Edit > Spelling and Grammar > ✓ Check Spelling While Typing
I turned off the spell check, quit and reopen it. Unfortunately, the app couldn't remember the Check Spelling While Typing setting that has been turned off.
I need to do it manually everytime I quit and reopen the app.

Would accept a PR for this.
Not sure how to make this happen.

I'd like to look into this, because I think I also broke the spellcheck menu when I disabled the context menus.


Change openshift-ansible to track ocp version

@kargakis QE is asking for a change here. Hopefully a simple rebase.

fyi @sdodson

Yeah, it was simple, thanks for letting me know.


WIP: Just declare one trigger type for file watch sensor

(virtualenv)vagrant@st2dev /m/s/s/st2 ❯❯❯ st2 rule-enforcement list                                           file_watch_line_trigger ✭ ✱ ◼
+--------------------------+------------------------+------------------------+------------------------+------------------------+
| id                       | rule.ref               | trigger_instance_id    | execution_id           | enforced_at            |
+--------------------------+------------------------+------------------------+------------------------+------------------------+
| 59372ad6d9d7ed0fe08ff0f1 | examples.sample_rule_f | 59372ad5d9d7ed0fe08ff0 | 59372ad6d9d7ed0fe08ff0 | Tue, 06 Jun 2017       |
|                          | ile_watch              | ed                     | f0                     | 22:21:09 UTC           |
+--------------------------+------------------------+------------------------+------------------------+------------------------+
(virtualenv)vagrant@st2dev /m/s/s/st2 ❯❯❯ st2 trigger-instance get 59372ad5d9d7ed0fe08ff0ed                   file_watch_line_trigger ✭ ✱ ◼
+-----------------+-----------------------------------------------------------+
| Property        | Value                                                     |
+-----------------+-----------------------------------------------------------+
| id              | 59372ad5d9d7ed0fe08ff0ed                                  |
| trigger         | {                                                         |
|                 |     "type": "linux.file_watch.line",                      |
|                 |     "ref": "linux.5a0829e8-5135-4e8e-9482-1ecd6d5082f6",  |
|                 |     "parameters": {                                       |
|                 |         "file_path": "/tmp/st2_test"                      |
|                 |     }                                                     |
|                 | }                                                         |
| occurrence_time | 2017-06-06T22:21:09.824000Z                               |
| payload         | {                                                         |
|                 |     "file_name": "st2_test",                              |
|                 |     "line": "I am a ttiny little star",                   |
|                 |     "file_path": "/tmp/st2_test"                          |
|                 | }                                                         |
| status          | processed                                                 |
+-----------------+-----------------------------------------------------------+
(virtualenv)vagrant@st2dev /m/s/s/st2 ❯❯❯ st2 execution get 59372ad6d9d7ed0fe08ff0f0                          file_watch_line_trigger ✭ ✱ ◼
id: 59372ad6d9d7ed0fe08ff0f0
status: succeeded (1s elapsed)
parameters:
  cmd: 'echo "{''file_name'': ''st2_test'', ''line'': u''I am a ttiny little star'', ''file_path'': ''/tmp/st2_test''}"'
result:
  failed: false
  return_code: 0
  stderr: ''
  stdout: '{''file_name'': ''st2_test'', ''line'': u''I am a ttiny little star'', ''file_path'': ''/tmp/st2_test''}'
  succeeded: true
(virtualenv)vagrant@st2dev /m/s/s/st2 ❯❯❯

I dug in and tried to track down why the you never actually see corresponding trace and trigger instance being created and rule being matched and executed.
You were correct and it's indeed a more systematic issue with triggers with parameters. The problem is that corresponding TriggerDB object is not found in the database (we don't create trigger objects for triggers with parameters) and as such, trigger instance and trace creation fails inside the rules engine fail.
The reason why this worked in the past (long time ago when I created a PR with that change) is because at that time traces concept didn't exist yet.
There are probably some quick workarounds possible (I quickly looked in ignoring trigger doesn't exist error in the rules engine, but it turned out a bit in a rabbit whole and without better and more thought out approach it's possible we / I are missing something important by doing that).
So the best approach probably is to think this through and come with a real solution (which might as well be what I proposed as a quick hack, but needs more digging in).
For demo the best short-term solution probably is to not use trigger with parameters (even if we can get a quick change / fix out, it will only be available in dev and future v2.3.0 packages).
/cc @lakshmi-kannan @dzimine

@lakshmi-kannan Did more research, I believe the change which should work is modifying rules engine and all the trigger retrieval methods so they also know how to handle triggers with parameters inside the rules engine. We already do that right now in some scenarios where we pass around TriggerDB object, but that's not the case in rules engine (right now we don't have that context there).
It's also worth nothing that this is quite tricky because the rules engine code previously wasn't designed to handle that scenario.
For it to work, we would need to do the following:

Rules engine would need to be made aware of not just the trigger type, but also the corresponding trigger id or parameters (preferably id, because dict look ups are hacky and messy).

This would require changes to the sensor dispatch code and rules engine and trigger retrieval stuff.
One of the problems with this approach is that sensor would need to know for each payload to which actual TriggerDB it belongs to. Right now we don't have this information in the sensor code, but we didn't really use this approach before so we can update sensors which utilize triggers with parameters to internally store this info and then do something like:
self._dispatcher.dispatch_for_trigger_with_parameters(trigger_db_id='trigger_db_id, trigger='trigger ref', payload={})

And then we would manipulate rules engine and trigger retrieval code so it also works if we already have TriggerDB id around.
WDYT?

@Kami I verified your claim and we do create "trigger" object in db.
> db.trigger_type_d_b.find({"_id": ObjectId("592601d5d9d7ed24a5453062")})
{ "_id" : ObjectId("592601d5d9d7ed24a5453062"), "description" : "Trigger which indicates a new line has been detected", "tags" : [ ], "uid" : "trigger_type:linux:file_watch.line", "name" : "file_watch.line", "pack" : "linux", "payload_schema" : {  }, "parameters_schema" : { "additionalProperties" : false, "type" : "object", "properties" : { "file_path" : { "required" : true, "type" : "string", "description" : "Path to the file to monitor" } } } }
> db.trigger_d_b.find({"_id": ObjectId("592601efd9d7ed24a545324e")})
{ "_id" : ObjectId("592601efd9d7ed24a545324e"), "uid" : "trigger:linux:b72b9c38-708f-4872-9a52-efae449d5221:851746484aeb7ece7f72c1e68c2d91a3", "name" : "b72b9c38-708f-4872-9a52-efae449d5221", "pack" : "linux", "type" : "linux.file_watch.line", "parameters" : { "file_path" : "/tmp/st2_test" }, "ref_count" : 1 }
>
bye
(virtualenv)vagrant@st2dev /m/s/s/st2 ❯❯❯ st2 rule get examples.sample_rule_file_watch                           file_watch_line_trigger ✭ ◼
+-------------+--------------------------------------------------------------+
| Property    | Value                                                        |
+-------------+--------------------------------------------------------------+
| id          | 592601efd9d7ed24a545324f                                     |
| uid         | rule:examples:sample_rule_file_watch                         |
| ref         | examples.sample_rule_file_watch                              |
| pack        | examples                                                     |
| name        | sample_rule_file_watch                                       |
| description | Sample rule custom trigger type - add a file to be watched   |
|             | by file_watch_sensor in linux pack.                          |
| enabled     | False                                                        |
| action      | {                                                            |
|             |     "ref": "core.local",                                     |
|             |     "parameters": {                                          |
|             |         "cmd": "echo "{{trigger}}""                          |
|             |     }                                                        |
|             | }                                                            |
| criteria    |                                                              |
| tags        |                                                              |
| trigger     | {                                                            |
|             |     "type": "linux.file_watch.line",                         |
|             |     "ref": "linux.b72b9c38-708f-4872-9a52-efae449d5221",     |
|             |     "parameters": {                                          |
|             |         "file_path": "/tmp/st2_test"                         |
|             |     }                                                        |
|             | }                                                            |
| type        | {                                                            |
|             |     "ref": "standard",                                       |
|             |     "parameters": {}                                         |
|             | }                                                            |
+-------------+--------------------------------------------------------------+
(virtualenv)vagrant@st2dev /m/s/s/st2 ❯❯❯

This is as per https://github.com/StackStorm/st2/blob/master/st2common/st2common/models/api/rule.py#L241.
So we are still back to not understanding the root cause :)

@lakshmi-kannan You are talking about Trigger Type and I was talking about Trigger.
We also create Trigger object, but the problem is because the way everything is currently structured right now, rules engine doesn't know anything about it since it's trigger with parameters and it fails to match it. My proposed solution above still stands, notably something along the lines of:

For it to work, we would need to make rules engine aware of not just the trigger type (ref), but also the corresponding trigger id or parameters (preferably id, because dict look ups are hacky and messy).

In any case, I followed it through the pipeline last time - you can easily amend rules engine by add some logging / printf and you will see where it fails / gets stuck (nothing to do with Trigger Type).
If you do that, I think you will come to the same conclusion as I did.

@Kami I dug in further and now I am on the same page with you :). RulesEngine, Trace and some other parts of the platform do not handle triggers with parameters. I added some commits and now I have the end-to-end trigger->rule->execution working but the commits are not final. I only did the changes to see what needs to be changed to get it to work. I learnt few ugliness in our data models. Over the next day or two, I'll get the PR to a point where we can merge an initial version that's acceptable and we can iterate again on the models and UX.

+1
Thanks for digging to the bottom of it. (and bunch of extra improvements in process).
Also, looks like we need good example on how to write a "proper" sensor.

LGTM.
I didn't see any additional tests, but it would be nice if we could write tests at least for all the edge cases for get_matching_rules_for_trigger method.

And we should also update changelog :)


Add configurable for PR approver token

Allow customization of the git trailer token used to annotate approvers when generating the default merge message for pull requests. Also  simplify the logic that writes the trailer string for each reviewer.
fixes #24797
With default ini

With custom APPROVER_TRAILER_TOKEN in ini

I think it would be fun to make it configable for each repository.


wip: factor out the papers

What does this do? Why is it desirable? Esp given it apparently needs some hacks? Do we have linked issues for the todos?

Tested:
nix-repl> :lf .
warning: Git tree '/home/blaggacao/src/github.com/input-output-hk/plutus' is dirty
Added 17 variables.

nix-repl> __std.actions.x86_64-linux.plutus.papers.utxoma-paper.build
«derivation /nix/store/11gh3biry6fqiwkwdpb39s4hzbjad9ay-build.drv»

nix-repl> :b __std.actions.x86_64-linux.plutus.papers.utxoma-paper.build

This derivation produced the following outputs:
  out -> /nix/store/qyn4b1zr6625cbsawvpa8chg46ii6na6-build

$ /nix/store/qyn4b1zr6625cbsawvpa8chg46ii6na6-build
$ ❯ ls -T result/
result
├── nix-support
│  └── hydra-build-products
└── utxoma.pdf

Restaggering (& squasing) this on https://github.com/input-output-hk/plutus/pull/5055. Thanks for the feedback Michael!!

I'm still not sure I follow, but "build" seems like a sensible action for these PDFs, so I'm not sure what the issue is :thinking:

Yes, that is absolutly the case! With this change it is also concise implements "build" (and only "build").


Rephrase

Target Live Date: 2018-03-19

[x] This has been reviewed and approved by @mathiasbynens
[x] I have run gulp test locally and all tests pass.
[x] I have added the appropriate type-something label.
[x] I've staged the site and manually verified that my content displays correctly.

CC: @petele

Whoops!
There were 1 warnings that will prevent this PR from being merged. Please take a look, and either fix, or provide a justification for why they can't be fixed.
WARNINGS
src/content/en/updates/2018/03/smooshgate.md#L7 - Common typo found: 'javascript' Should it be 'JavaScript'?

The javascript “typo” is a tag, which needs to be lowercase. So please ignore @WebFundBot here :)

:tada: This has been pushed live to https://developers.google.com/web/


The taint mechanism will be deprecated in Ruby 2.7

The Ruby core team decided to deprecate the taint mechanism in Ruby 2.7
and will remove that in Ruby 3.
https://bugs.ruby-lang.org/issues/16131
https://github.com/ruby/ruby/pull/2476
In Ruby 2.7, Object#{taint,untaint,trust,untrust} and related
functions in the C-API no longer have an effect (all objects are always
considered untainted), and are now warned deprecation message.
https://buildkite.com/rails/rails/builds/65069#dddcc2a1-a23c-4bc2-9eaf-351295244d1f/991-993

TZInfo currently supports running in safe mode with Ruby < 2.7. With this pull request applied, this scenario no longer works:
$ ruby -v
ruby 2.6.4p104 (2019-08-28 revision 67798) [x86_64-linux]
$ bundle exec ruby -Itest/tzinfo-data2 \
   -e 'require "tzinfo"; require "tzinfo/data"; $SAFE=1; puts TZInfo::Timezone.get("Europe/London")'
Traceback (most recent call last):
        11: from -e:1:in `<main>'
        10: from /home/philr/tzinfo/tzinfo/lib/tzinfo/timezone.rb:128:in `get'
         9: from /home/philr/tzinfo/tzinfo/lib/tzinfo/timezone.rb:235:in `data_source'
         8: from /home/philr/tzinfo/tzinfo/lib/tzinfo/data_source.rb:54:in `get'
         7: from /home/philr/tzinfo/tzinfo/lib/tzinfo/data_source.rb:54:in `synchronize'
         6: from /home/philr/tzinfo/tzinfo/lib/tzinfo/data_source.rb:55:in `block in get'
         5: from /home/philr/tzinfo/tzinfo/lib/tzinfo/data_source.rb:154:in `create_default_data_source'
         4: from /home/philr/tzinfo/tzinfo/lib/tzinfo/data_source.rb:154:in `new'
         3: from /home/philr/tzinfo/tzinfo/lib/tzinfo/data_sources/ruby_data_source.rb:57:in `initialize'
         2: from /home/philr/tzinfo/tzinfo/lib/tzinfo/data_sources/ruby_data_source.rb:122:in `require_index'
         1: from /home/philr/tzinfo/tzinfo/lib/tzinfo/data_sources/ruby_data_source.rb:129:in `require_data'
/home/philr/tzinfo/tzinfo/lib/tzinfo/data_sources/ruby_data_source.rb:129:in `require': Insecure operation - require (SecurityError)

I'd prefer to maintain support for safe mode for the time being, but avoid the warnings when running on Ruby 2.7. I'd probably look to conditionally define a helper 'untaint' method and use that in place of calls to Object#untaint:
if RUBY_VERSION >= '2.7'
  def untaint(obj)
    obj
  end
else
  def untaint(obj)
    obj.untaint
  end
end

Rather than testing the RUBY_VERSION, it'd probably better to find a way to check if Object#untaint is either non-existent or a no-op.

Closing this in favor of #109.


Bug 1808505: only process install config changes to configmaps in the…

… kubesystem namespace

/bugzilla refresh

/bugzilla refresh

/bugzilla refresh

/retest

/assign @adambkaplan @dmage

/retest

/retest

/retest
infrastructure issues

/refresh bugzilla

/bugzilla refresh

@dmage @adambkaplan The other two prs have merged and this one is now ready to be reviewed.

@dmage I removed the extraneous comment and set the loglevel back to 1 instead of 0 for the klog statements in the add/update/delete functions

/retest
Infra flake

/lgtm

/retest

/bugzilla refresh

/bugzilla refresh

/bugzilla refresh

@sdodson The associated bug priority has been updated.


Language Service Plugin not working with javascript files

Bug Report

🔎 Search Terms

jsconfig plugins
🕗 Version & Regression Information

This is the behavior in every version I tried, and I reviewed the FAQ for entries about plugins

^4.7.0-dev.20220421, ^4.4.3

⏯ Playground Link

The official sample project
A bunch of these language plugins as well
💻 Code
The same from the sample project. Here is my jsconfig.json.
jsconfig.json
{

  "compilerOptions": {
    "plugins": [{
        "name": "tsserver-plugin"
    }]
  }
}

🙁 Actual behavior
With JS files, I can't make my custom code to work, like the debugger instruction in auto completion, or filter any kind of entry.
🙂 Expected behavior
Work the same as a .ts file, which works as expected.

Can you describe exactly what you’re doing to repro this?

Hi, exactly what is described in the README, reproducing here
git clone https://github.com/orta/TypeScript-TSServer-Plugin-Template
cd TypeScript-TSServer-Plugin-Template

# Install deps and run TypeScript
npm i
npx tsc --watch

# Set up the host app to work in
cd example
npm i
cd ..

# Or to hook up a debugger, use this command
# or use this to hook in later:
TSS_DEBUG=9559 code example

Then
CTRL + SHIFT + P -> Typescript: Select typescript Version.. -> Use Workspace Version: node_modules/typescript/lib
To test, turn on the debug (F5) in the main project's VsCode and in the example's VsCode you try out the auto completion
projects/TypeScript-TSServer-Plugin-Template/example/index.js:4
const anExampleVariable = "Hello World"
console.log(anExampleVariable)
a // here, test the autocompletion

You can also simplify sligthly this line like this
projects/TypeScript-TSServer-Plugin-Template/src/index.ts:7
      const whatToRemove: string[] = 'anExampleVariable';

And then test that the auto completion is not filtering the value.
This will show it not working. Do the same in the example/index.ts and you can see it works.

The tsconfig.json in question doesn’t include JS files. Add allowJs: true?

Well, I see the original post you said you had a jsconfig.json. The template repo only has a tsconfig.json. At any rate, you should verify with tsc --listFilesOnly that whatever configuration you’re using actually includes the files you want to operate on before proceeding.

allowJs: true

That did the trick, thank you! Should this be required? I'm fine closing this issue either way.

Never mind, I deleted tsconfig.json and it worked. I didn't know they were mutually exclusive.

I didn't know they were mutually exclusive.

Yeah, in general the intent is that jsconfig.json is what you use when you only have JS code but you need to configure the language service for better IDE support.  If you have a tsconfig then it becomes a full-blown TypeScript project so the jsconfig is irrelevant (as tsconfig supports all the same options).


Remove labeled_assets from LoadedAsset and ErasedLoadedAsset

Objective
Fixes #15417.
Solution

Remove the labeled_assets fields from LoadedAsset and ErasedLoadedAsset.
Created new structs CompleteLoadedAsset and CompleteErasedLoadedAsset to hold the labeled_subassets.
When a subasset is LoadContext::finished, it produces a CompleteLoadedAsset.
When a CompleteLoadedAsset is added to a LoadContext (as a subasset), their labeled_assets are merged, reporting any overlaps.

One important detail to note: nested subassets with overlapping names could in theory have been used in the past for the purposes of asset preprocessing. Even though there was no way to access these "shadowed" nested subassets, asset preprocessing does get access to these nested subassets. This does not seem like a case we should support though. It is confusing at best.
Testing

This is just a refactor.

Migration Guide

Most uses of LoadedAsset and ErasedLoadedAsset should be replaced with CompleteLoadedAsset and CompleteErasedLoadedAsset respectively.

Just to make it clear what the rationale for this is. This makes implementing asset saving easier, since we don't need to deal with recursive types. We just have to borrow the root assets, and borrow the subassets and we're done. Without this PR, for each subasset, we'd need to create a new type like SubAssetHolder that holds the borrow to the subasset, and a Vec of SubAssetHolder which in turn hold borrows to the nested subassets (and so on and so on).

Rebased after #15509. Nothing really affected.

Rebased since this PR was a little stale.

Rebase after #15487 was merged, fairly trivial overall. This also had the funny side-effect that I could remove an expect lint for "large error result type", since apparently removing the meta field was enough to consider the struct "small".


Review of Tool Option Documentation

I've reviewed all the released tools to make sure the help text, man pages, and option parsing matches. Fixes #272.

this is the first step of #273

Thanks @gonsie !


Refactor Remove AcceptedErrorCodes from MirrorNodeClient - GET_ACCOUNTS_BY_ID_ENDPOINT

Description:
Refactor methods that use mirror node endpoint GET_ACCOUNTS_BY_ID_ENDPOINT: getAccount, getAccountLatestEthereumTransactionsByTimestamp, getAccountPageLimit to stop accepting error codes 400 and 404, but instead to throw the error and moved the handling of the error to be specific of those methods and not as a general handler for all errors on the mirror node requests
Related issue(s)
Addresses #1276
Notes for reviewer:
This replaces this other PR
Checklist

[ ] Documented (Code comments, README, etc.)
[x] Tested (unit, integration, etc.)

Codecov Report
Patch coverage: 86.56% and project coverage change: +0.17% :tada:

Comparison is base (6724e2a) 77.29% compared to head (d1c3c8f) 77.46%.
 Consider uploading reports for the commit 53b8cd0 to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1649      +/-   ##
==========================================
+ Coverage   77.29%   77.46%   +0.17%
==========================================
  Files          36       36
  Lines        2739     2778      +39
  Branches      554      565      +11
==========================================
+ Hits         2117     2152      +35
- Misses        447      449       +2
- Partials      175      177       +2

Files Changed
Coverage Δ

packages/relay/src/lib/relay.ts
68.62% <0.00%> (-2.81%)
:arrow_down:

packages/server/src/validator/methods.ts
100.00% <ø> (ø)

packages/server/src/validator/utils.ts
89.47% <88.88%> (+1.37%)
:arrow_up:

packages/relay/src/lib/clients/mirrorNodeClient.ts
88.45% <94.73%> (+0.18%)
:arrow_up:

packages/relay/src/lib/eth.ts
85.39% <95.83%> (+0.14%)
:arrow_up:

packages/relay/src/lib/precheck.ts
58.53% <100.00%> (ø)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Closed in favor of https://github.com/hashgraph/hedera-json-rpc-relay/pull/1651


miscellaneous doc enhancements

PR Checklist

[x] This comment contains a description of changes (with reason)
[x] Referenced issue is linked fixes #811
[ ] If you've fixed a bug or added code that should be tested, add tests!
[x] Documentation in docs is updated

Description of changes
Some doc enhancements, see linked issue

Technical details

Additional context

Not the sexiest of all icons ^_^
Maybe something like https://thumbs.dreamstime.com/b/therapy-journey-rgb-color-icon-taking-medications-treatment-private-psychotherapy-practice-health-problem-remediation-204816600.jpg? I did not check copyright

We could rename usage.md to API.md


Remove stale credential types

Description
It was noted in #260 that some credential types are no longer valid/necessary, i.a. {"type":"ResiliencyCredential"}.
Acceptance Criteria

[x] All stale/unnecessary credential types are removed from the business logic
[x] All stale/unnecessary credential types are removed from tests
[x] All stale/unnecessary credential types are removed from docs

Fixed with: https://github.com/eclipse-tractusx/managed-identity-wallet/pull/315


Remove frontend code

Frontend code is now at https://github.com/grafana/grafana-aws-sdk-react
Closes #26
Closes #27 (CI/CD is already set in both repos)

I think it's safe. In the unlikely event that we need an urgent update of the NPM package and the other repo is somehow broken we could always revert this commit but it doesn't hurt to be extra careful.

It's probably safe to remove but I think it'll be confusing if anyone new joins and is trying to understand where this code is coming from, +1 for keeping this pr open until we have an alternative ready to be consumed, but otherwise this is a ✅ from me!

Any insights on the motivation for this?  is it just to have different repos for frontend+backend.  Is there anything wrong with having them together?
obviously if we have two repos, the same code should not be duplicated in both places!

Any insights on the motivation for this? is it just to have different repos for frontend+backend. Is there anything wrong with having them together?

The major reason is that the two code bases are not related. Apart from that:

It's easier/faster to set CI (you only run go or typescript tests)
To make releases are consistent.  In order to know what is the latest version of the NPM package, you need to go to the package.json or to the package view that by the way, they report different versions.

Although not technically bound together, I guess they are related in the sense that they both interact with the data source json model. However, keeping them in one repo does not cater for safe, canonical interaction with the json model.
@ryantxu are there any reasons for keeping them in the same repo? The only one I can think of is if we could use a shared schema for describing the data source jsondata model. That way we could theoretically build the backend and the frontend together. You know this better so correct me if I'm wrong, but I believe that's not something that the cue will be able to solve anytime soon?
Here are my reasons for splitting the repo. None of them are absolutely necessary, but I think it's the combination of them that makes it the right decision:

It makes for cleaner code
Consistent releases, having each repo produce one release/artifact only
Should make CI slightly easier
Makes local development slightly easier, not having to yarn link the go packages that you don't need in your frontend code
Following the same structure as the google and the azure sdk, which should make life easier for our team since we're the ones maintaining all these sdk:s

@sunker -- only reason is to avoid having lots of repos, and no real good reason to keep them separate.  github has gotten better at managing cross-repo and that cat is a bit out of the bag so :man_shrugging:
I don't feel too strongly, just don't see any reason for it.  In parallel we trying to figure out how to have multiple projects/plugins in a single repo.


Fix /cdns/{name}/federations?id=# to search for CDN

This Bug Report affects these Traffic Control components:

Traffic Ops

Current behavior:

The API endpoint /cdns/{name}/federations?id=# will return the federations information as long as the id is valid, even if the CDN is not valid or does not exist or the federation is not part of that CDN.
Expected behavior:

That endpoint should only return the information for federations within the CDN provided
Steps to reproduce:

Go to the API at /cdns/nonsense/federations?id=# with a valid federation id and see that it returns the information even though nonsense is not a valid CDN

@mattjackson220 I can take this one.


Research zkApp Auro Wallet compatibility bug

To confirm if an issue exists. High priority if so.

Transaction JSON:
zkapp_command.json

Same error was reported by a user on discord:
https://discord.com/channels/484437221055922177/1080198932992372776/1080808510566178869

Can we add to this issue how to reproduce the bug?

To reproduce, this should work:
await window.mina.sendTransaction({
  transaction: txJSON, // <--- JSON file linked above
  feePayer: ... // any fee payer
})

I reported this issue on discord;  error occured in my ui after upgrading from snarky js 0.7.* to 0.9.* . code of ui & contracts is available here https://github.com/iam-robi/zkapp-monorepo.

Indeed, v.2.1.7 fixes the issue, thank you.


Fix customtypes classloader, issue #673

@bbohl I am curious about the situation motivating this change, for my own benefit.  There may be some other problems related to this same situation.

@ctrimble, see issue #673.  Just trying to use custom classes for the date-time, date, and time formats with the maven plugin.  The classes come from a dependency in my project.
The plugins inject a classloader that contain the dependencies to the current thread's contextcontextloader.  However Class.forName ends up using the original classloader, which don't contain the dependencies.

Thanks for the details!


Possible to release new NPM version?

It looks like the latest package for ocaml-language-server is out-of-date - it was last updated 4 months ago. There have been several fixes between then and now.
It'd make it easier to consume this language server from Oni (https://github.com/extr0py/oni/pull/488), either via a package.json dependency or directly installed by npm install -g.
Thanks!

Yeah, I was just thinking about this earlier. I've been planning a release soon but was waiting on a few other items first. But I can just go ahead and make an interim release. I'll take a look at doing that tomorrow or so.

Awesome, thanks @freebroccolo !

Sorry for the delay on this. New version is released now.