Collect failed tasks and report as TeamCity build problems

In the past, if code quality tasks (checkstyle/codenarc/ktlint) failed, it's a bit hard for developers to find out the problems. This PR adds a build service to collect the failed tasks and report TeamCity build problems, which can be clicked directly Example:
https://builds.gradle.org/buildConfiguration/Gradle_Master_Check_SanityCheck/54874906?buildTab=overview&expandBuildProblemsSection=true&hideProblemsFromDependencies=false&hideTestsFromDependencies=false&expandBuildChangesSection=true

Because the new code shares a lot with previous cache-miss-monitor, a common method is extracted.

@bot-gradle test this

OK, I've already triggered the following builds for you:

PullRequestFeedback build

@bot-gradle test this

OK, I've already triggered the following builds for you:

PullRequestFeedback build

Let's try this to see if people like it.
@bot-gradle test and merge

OK, I've already triggered a build for you.


AFNetWorking

Update .gitmodules

The 4.0 branch is deprecated. We are using 4.x, but no merge is needed yet between the two.


no connection

Dears,
I have downloaded and started the explorer 2, I had python 3.9.5 , it gave me hard time with errors, so I downgraded to python 3.7.9 and the explorer is working but with this error when I try to connect to chain1 and chain2

Exception happened during processing of request from ('<IP_ADDRESS>', 10142)
Traceback (most recent call last):
File "C:\Program Files\Python37\lib\socketserver.py", line 316, in _handle_request_noblock
self.process_request(request, client_address)
File "C:\Program Files\Python37\lib\socketserver.py", line 347, in process_request
self.finish_request(request, client_address)
File "C:\Program Files\Python37\lib\socketserver.py", line 360, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "C:\Program Files\Python37\lib\socketserver.py", line 720, in init
self.handle()
File "C:\Program Files\Python37\lib\http\server.py", line 426, in handle
self.handle_one_request()
File "C:\Program Files\Python37\lib\http\server.py", line 414, in handle_one_request
method()
File "C:\Users\Amer\Downloads\multichain-explorer-2-master\multichain-explorer-2-master\multichain-explorer-2\server.py", line 89, in do_GET
content=self.handler(self.chain,self.params,self.nparams)
File "C:\Users\Amer\Downloads\multichain-explorer-2-master\multichain-explorer-2-master\multichain-explorer-2\data.py", line 584, in handle_chains
native_flag=self.chain_native_flag(chain,response)
File "C:\Users\Amer\Downloads\multichain-explorer-2-master\multichain-explorer-2-master\multichain-explorer-2\data.py", line 539, in chain_native_flag
return chain.config['native-flag']
KeyError: 'native-flag'

the browser hangs for a while and gives no connection in the state of connection, and I tried to revise everything from the config.ini to the node it self, I have chain1 and chain2 on the same server, I run only one instance at a time, this is for testing purposes as I'm new to multichain

I have commented out the following in data.py

    if response['result'] is not None:
        if 'rewards' in response['result']:
            if response['result']['rewards'] > 0:
                chain.config['native-flag']=True
            else:
                chain.config['native-flag']=False
        return chain.config['native-flag']

starting line 533 and the node is connected now, I have no antivirus problems and firewalls, checked the network multiple times

The Explorer requires MultiChain 2.2 beta 2 or later, which is not yet released :)


Roulette pointer image

It's a really cool thing. Thanks to the authors.
How can I change the roulette wheel picture?

@KirillVasilev I had same issue and worked around,
you can try with this code
img[alt~="roulette-static"] {       position: absolute;       z-index: 5;       width: 10%;       right: 35px;       top: 35px;       content: url("http://imgur.com/SZ8Cm.jpg");     }

@Woverlin thank you for you solution, hope you were able to solve it using CSS.
In version 1.3.2 we've added a pointerProps prop to customize the wheel pointer with props instead.
interface PointerProps {
  src?: string; // Optional
  style?: React.CSSProperties; // Optional
}

Hi, I want to shape the outerBorder, how can I do it?  for example

pointerProps={{ src: CustomPointerImage }}


Add Vite icon for VSCode

Description
As a developer using Vite I want the Vite icon to appear in VSCode file explorer and tab bar, so the Vite config file is easily recognizable.
Suggested solution
Seeking review from Vite maintainers for https://github.com/jesseweed/seti-ui/pull/709
Before

After

Alternative
The official Vite logo is this. However, the accepted icon format can only contain a single color from this list:

blue
grey
green
orange
pink
purple
red
white
yellow

Given this constraint I chose yellow because the thunder in the official logo as well as the JavaScript file type have the same color. I also tried to include the triangle together with the thunder, but due to the constraint above, it didn't look as good as the original logo.
Additional context
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

I don't think we have a branding rule about how the logo should be used, so personally I think that's fine.

I agree, let's track this proposal directly in https://github.com/jesseweed/seti-ui/pull/709

Thank you ! I opened this issue to check with you about the change. Since you're fine with the proposed icon, I'm closing it in favor of https://github.com/jesseweed/seti-ui/pull/709. Regards.


[Question] The line extends further than it should

Issue
I would like the line to only highlight the appropriate code blocks (if statements, loops, etc). Currently the indent line is displayed even between the statements which don't have indentation (e.g. lines 96-98 below), however if a single space is inserted at the beginning, it starts to behave as expected. Is there a way to make this behaviour persistent without including a space in each blank line?
Current behaviour

Desired behaviour

Config
Here is my minimal config file.

You can turn this off with :help g:indent_blankline_show_trailing_blankline_indent

Thank you! I was looking through the settings trying to find a solution, but somehow missed this one ¯_(ツ)_/¯


Alignment for nested typedef incorrect

typedef int I1 __attribute__((aligned(8)));
typedef I1 I2 __attribute__((aligned(1)));

_Static_assert(sizeof(I2) == 4,"record I2 wrong sizeof");
_Static_assert(_Alignof(I2) == 1, "record I2 wrong alignment");

AFAICT I2 is not attributed when ty.alignof() is called.
For clang/gcc on systemV systems typedefs it should be the last one, regardless of the size of any others.
For MSVC I think it should be the max of the two.

Some more info on this. It looks like I2 has I1 attributes as well as it's own. I think this is the main issue.
typedef: 'attributed(int)'
 attr: aligned alignment: Attribute.Alignment{ .node = Tree.NodeIndex.none, .requested = 8 }
 name: I1

typedef: 'attributed(int)'
 attr: aligned alignment: Attribute.Alignment{ .node = Tree.NodeIndex.none, .requested = 8 }
 attr: aligned alignment: Attribute.Alignment{ .node = Tree.NodeIndex.none, .requested = 1 }
 name: I2


GhostScript 9 compatibility

I tested this with GS 9.00 and it works fine in my case:
  $pdflib = new PDFLib();
  $pdflib->setPdfPath($pdf_realpath);
  $pdflib->setOutputPath($img_realpath);
  $pdflib->setDPI(150);
  $pdflib->convert();

Is there a specific need for the 9.16 version guard?

hmm, i'm not sure why I put that... but if you can run the tests against 9.0 and if all of them passes please create a pull request

Actually, it looks like it doesn't work as expected here after all ;) Could be because of the version difference. I'll look into it within a few weeks.

Great... I would be really happy if you keep me posted 👍

not working.. :(
Exception information:
Date: Oct 27, 2017 14:29PM
Message: Your version of GhostScript 9.1 is not compatible with the library
Code: 403
File: /home/vagrant/project.dev/vendor/imal-h/pdf-box/src/PDFLib.php
Line: 64

@anotherbird at the moment PDFLib requires Ghostscript version >= 9.16


Proposal for HttpClientExtensions

https://github.com/FastEndpoints/FastEndpoints/blob/9d983c2dadad9c9d0f6e114934f25a26725abec1/Src/Library/Testing/HttpClientExtensions.cs#L33
In our use cases we throw Exceptions if e.g. a user does not exist and want to forward them to the client (as NotAuthorized response).
Using your implementation it will first try to deserialize the response content which of course throws a JsonExceptions as the content is not TResponse but a string.
We solved it by first checking if the response was successful, and if not to return the response without deserializing:
if (!res.IsSuccessStatusCode || typeof(TResponse) == EmptyResponse)
{
    if (res.Content.Headers.ContentType?.MediaType == "text/plain")
    {
        res.ReasonPhrase = await res.Content.ReadAsStringAsync();
    }

    return (res, default);
}

TResponse? body;

try
{
    body = await res.Content.ReadFromJsonAsync<TResponse>();
}
catch (JsonException)
{
    var reason = $"[{res.StatusCode}] {await res.Content.ReadAsStringAsync()}";
    throw new InvalidOperationException(
        $"Unable to deserialize the response body as [{typeof(TResponse).FullName}]. Reason: {reason}");
}

return (res, body);

What is your opinion about this?

looks alright at first glance.
is there a potential for breaking existing tests for people is the question 🤔
if there's a chance it could break our users tests, we could make this into a new overload maybe?
or let's add an optional argument to all the methods:
public static async Task<(HttpResponseMessage? response, TResponse? result)>
        POSTAsync<TRequest, TResponse>(this HttpClient client,
                                       string requestUri,
                                       TRequest request,
                                       bool neverThrow = false) //add it here at the end


Create Posts “luniversité-cest-fini”

Automatically generated by Netlify CMS

👷 Deploy Preview for shiny-babka-998c7e processing.

Name
Link

🔨 Latest commit
140716c662ede8ec80c050a3959113797d752800

🔍 Latest deploy log
https://app.netlify.com/sites/shiny-babka-998c7e/deploys/66d567f319a19600081af88f


unable to resolve class MergingReport.Result

@adwiv
When I use fat-aar.gradle, it occurred this error: "unable to resolve class MergingReport.Result "
My project configuration：

Gradle v2.12.
compileSdkVersion 22
buildToolsVersion "22.0.1"
com.android.tools.build:gradle:2.0.0

Same here, gradle v 2.12

Fixed in latest release. Kindly test.


add more than 20 torrents at a time

Cannot add more than 20 torrents at a time as the "max_file_uploads = 20" is set in php. Could we please get a facility to edit this variable? thanks!

or would it be better to have a php.ini additional config file somewhere on the mapped drive location to add custom parameters? i see multiple php parameters being passed along as env variables now. the linuxserver container has this implementation

@deepika05 You can try to mount PHP ini configs like my.ini:/etc/php7/conf.d/thismy.ini.

thanks. i just did this and it seems to have fixed the max 20 torrents limitation! "/etc/php7/conf.d/php-local.ini". i increased the limit to 100 on my system.


builtins.NameError: name 'reduce' is not defined

When running RuleFit, the error returned: builtins.NameError: name 'reduce' is not defined.
It is caused by the moving of reduce() to functools

Thanks for the feedback.


Batch effects in combining multiple loom files

I have samples are the spread across batches and I'm running velocyto for each batch (having its own cellranger folder) separately and finally combining all the loom files into one. When I tried to inspect the gene-wise counts (mean count in each gene) and cell-wise counts (mean count in each cell) compare it to cellranger's counts, I get the following results:
Mean counts per gene are higher in velocyto output as compared to cellRanger's count

Mean counts per cell maybe higher or lower depending on the batch

Clearly, there is a batch effect here. Most approaches I've seen (from publicly shared repositories) just combined the loom files and merge it with their processed (and batch corrected) data.
Has anybody encountered this problem ? What could be the possible solution to address this before carrying out velocity analysis?
Ran the velocyto without repeat masks (if that makes any difference).
Versions
Chemistry : Single Cell 3' v2
Transcriptome: GRCh38-3.0.0
Cellranger : 3.1.0
velocyto: 0.17.17

A very new paper by Farrell et al. talks about batch effect and they also published a tool written in python for batch correction

Thank you @AlePur ! I'll check out and update this thread accordingly.


initial commit of libbech32 and libtxref

This is the initial commit of the work I have done on libbech32 and libtxref. Please see the README.md for quick instructions on how to build and run the tests.

These old commits have incorrect user info for me--I'd like to change them before they get into dcdpr's repo.


[BACKLOG-21806][BACKLOG-21868] - Implementing ActiveMQ Provider for J…

…MS streaming step

Build Completed
:x: This pull request has errors. They will need to be addressed before it can be accepted. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
mvn -Dsurefire.runOrder=alphabetical -B -fn -f 'pom.xml' -pl 'plugins/streaming/impls/jms' -P '!assemblies' -amd clean install && mvn -B -f 'pom.xml' -pl 'plugins/streaming/impls/jms' -P '!assemblies' -amd site

Cleanup Commands
mvn -B -f 'pom.xml' -pl 'plugins/streaming/impls/jms' -P '!assemblies' -amd build-helper:remove-project-artifact

Changed files
  plugins/streaming/assemblies/feature/pom.xml
  plugins/streaming/assemblies/feature/src/main/feature/feature.xml
  plugins/streaming/impls/jms/pom.xml
  plugins/streaming/impls/jms/src/main/java/org/pentaho/di/trans/step/jms/JmsConsumerMeta.java
  plugins/streaming/impls/jms/src/main/java/org/pentaho/di/trans/step/jms/JmsDelegate.java
  plugins/streaming/impls/jms/src/main/java/org/pentaho/di/trans/step/jms/JmsProducerMeta.java
  plugins/streaming/impls/jms/src/main/java/org/pentaho/di/trans/step/jms/context/ActiveMQProvider.java
  plugins/streaming/impls/jms/src/main/java/org/pentaho/di/trans/step/jms/context/JmsProvider.java
  plugins/streaming/impls/jms/src/main/java/org/pentaho/di/trans/step/jms/context/WebsphereMQProvider.java
  plugins/streaming/impls/jms/src/main/java/org/pentaho/di/trans/step/jms/context/WrappedWebsphereMQProvider.java
  plugins/streaming/impls/jms/src/main/java/org/pentaho/di/trans/step/jms/ui/ConnectionForm.java
  plugins/streaming/impls/jms/src/main/java/org/pentaho/di/trans/step/jms/ui/JmsConsumerDialog.java
  plugins/streaming/impls/jms/src/main/java/org/pentaho/di/trans/step/jms/ui/JmsProducerDialog.java
  plugins/streaming/impls/jms/src/main/resources/OSGI-INF/blueprint/blueprint.xml
  plugins/streaming/impls/jms/src/test/java/org/pentaho/di/trans/step/jms/context/ActiveMQProviderTest.java
  plugins/streaming/impls/jms/src/test/resources/amq-consumer.ktr
  plugins/streaming/impls/jms/src/test/resources/amq-producer.ktr
  plugins/streaming/impls/jms/src/test/resources/amq-subtrans.ktr

Unit Test Coverage
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.

:warning: Coverage Changes: +8.9% (click to expand)
:new: org.pentaho.di.trans.step.jms.context.ActiveMQProvider

Branch Coverage: 50% :exclamation:
Complexity Coverage: 66.7% :exclamation:

org.pentaho.di.trans.step.jms.context.WebsphereMQProvider

Complexity Change: -3.6% :small_red_triangle_down:
Instruction Change: -4.5% :small_red_triangle_down:
Line Change: -6.8% :small_red_triangle_down:
Method Change: -5% :small_red_triangle_down:

:new: org.pentaho.di.trans.step.jms.context.WrappedWebsphereMQProvider

Branch Coverage: 0% :exclamation:

Checkstyle violations
The code submitted is not complying with one or more of our guidelines. To perform these checks locally, please use this tool.
/home/buildguy/project/plugins/streaming/impls/jms/src/main/java/org/pentaho/di/trans/step/jms/JmsDelegate.java

:heavy_exclamation_mark: Unused import - org.pentaho.di.trans.step.jms.context.JmsProvider.ConnectionType.WEBSPHERE. at Line: 41 Column: 15

@pentaho/ackbar please review

Build Completed
:fire: This pull request has some issues. It would be preferable to fix them in order for it to be just perfect. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
mvn -Dsurefire.runOrder=alphabetical -B -fn -f 'pom.xml' -pl 'plugins/streaming/impls/jms' -P '!assemblies' -amd clean install && mvn -B -f 'pom.xml' -pl 'plugins/streaming/impls/jms' -P '!assemblies' -amd site

Cleanup Commands
mvn -B -f 'pom.xml' -pl 'plugins/streaming/impls/jms' -P '!assemblies' -amd build-helper:remove-project-artifact

Changed files
  plugins/streaming/assemblies/feature/pom.xml
  plugins/streaming/assemblies/feature/src/main/feature/feature.xml
  plugins/streaming/impls/jms/pom.xml
  plugins/streaming/impls/jms/src/main/java/org/pentaho/di/trans/step/jms/JmsConsumerMeta.java
  plugins/streaming/impls/jms/src/main/java/org/pentaho/di/trans/step/jms/JmsDelegate.java
  plugins/streaming/impls/jms/src/main/java/org/pentaho/di/trans/step/jms/JmsProducerMeta.java
  plugins/streaming/impls/jms/src/main/java/org/pentaho/di/trans/step/jms/context/ActiveMQProvider.java
  plugins/streaming/impls/jms/src/main/java/org/pentaho/di/trans/step/jms/context/JmsProvider.java
  plugins/streaming/impls/jms/src/main/java/org/pentaho/di/trans/step/jms/context/WebsphereMQProvider.java
  plugins/streaming/impls/jms/src/main/java/org/pentaho/di/trans/step/jms/context/WrappedWebsphereMQProvider.java
  plugins/streaming/impls/jms/src/main/java/org/pentaho/di/trans/step/jms/ui/ConnectionForm.java
  plugins/streaming/impls/jms/src/main/java/org/pentaho/di/trans/step/jms/ui/JmsConsumerDialog.java
  plugins/streaming/impls/jms/src/main/java/org/pentaho/di/trans/step/jms/ui/JmsProducerDialog.java
  plugins/streaming/impls/jms/src/main/resources/OSGI-INF/blueprint/blueprint.xml
  plugins/streaming/impls/jms/src/test/java/org/pentaho/di/trans/step/jms/context/ActiveMQProviderTest.java
  plugins/streaming/impls/jms/src/test/resources/amq-consumer.ktr
  plugins/streaming/impls/jms/src/test/resources/amq-producer.ktr
  plugins/streaming/impls/jms/src/test/resources/amq-subtrans.ktr

Unit Test Coverage
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.

:warning: Coverage Changes: +8.9% (click to expand)
:new: org.pentaho.di.trans.step.jms.context.ActiveMQProvider

Branch Coverage: 50% :exclamation:
Complexity Coverage: 66.7% :exclamation:

org.pentaho.di.trans.step.jms.context.WebsphereMQProvider

Complexity Change: -3.6% :small_red_triangle_down:
Instruction Change: -4.5% :small_red_triangle_down:
Line Change: -6.8% :small_red_triangle_down:
Method Change: -5% :small_red_triangle_down:

:new: org.pentaho.di.trans.step.jms.context.WrappedWebsphereMQProvider

Branch Coverage: 0% :exclamation:


update of gfastats to version 1.3.4

TODO: Please replace this header with a description of your pull request.
Installation sequence for tool-installers

[x] Test using @galaxybot test this
[ ] Inspect CI output for expected changes
[ ] Deploy using @galaxybot deploy this if test install was successful
[ ] Merge this PR

@galaxybot deploy this


fix to build with boxed-cpp

Description
The PR is related to https://github.com/contour-terminal/boxed-cpp/pull/9
How Has This Been Tested?

[ ] Please describe how you tested your changes.
[ ] see how your change affects other areas of the code, etc.

Checklist:
Go over all the following points, and put an x in all the boxes that apply.
If you're unsure about any of these, don't hesitate to ask. We're here to help!

[ ] I have read the CONTRIBUTING document in my spoken language, and understand the terms
[ ] I have updated (or added) the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] I have gone through all the steps, and have thoroughly read the instructions

@topazus  Can you update github action then please? If you are bussy i can do it as well

I do not have a compuer at hand right now. Grateful if you do this. @Yaraslaut

@topazus  I updated PR, builds are fine now, if you fill that PR is no longer in draft, make it then ready for review to proceeed with merging


Update multi-chain relayer docs for upcoming launch

Add details about manual settlement
needs further info from @ravigautham @anthony-near

Settlement is needed because the Gas Station contract is accumulating NEAR, while the paymaster accounts on foreign chains are spending native foreign chain gas tokens (ETH, BNB, SOL, etc). Manual Settlement involves several steps:

Withdrawing the NEAR held in the gas station contract and swapping for a token that can be bridged
i. may be the native gas token of the foreign chain, another token like USDC that has wide bridge support, or NEAR
Bridging the token from NEAR to the foreign chain
i. Here's an overview of bridging related to NEAR: https://knotty-marsupial-f6d.notion.site/NEAR-Bridging-Guides-f4359bd35c794dc184b098f7ed00c4ce
Sending the native gas tokens to the paymaster accounts on the foreign chains
i. A swap from the bridged token to the native gas token before sending to the paymaster accounts is necessary if the token that was bridged was not the foreign chain native gas token

Settlement, paymaster, and gas fees details added in #1819


Error when installing mozjpeg - mozjpeg/vendor/cjpeg ENOENT

I'm trying to install mozjpeg in a Docker container which runs
NAME="Alpine Linux"
ID=alpine
VERSION_ID=3.11.7
PRETTY_NAME="Alpine Linux v3.11"
HOME_URL="https://alpinelinux.org/"
BUG_REPORT_URL="https://bugs.alpinelinux.org/"

And I get the following error
yarn install --frozen-lockfile
yarn install v1.19.2
[1/4] Resolving packages...
[2/4] Fetching packages...
info<EMAIL_ADDRESS>The platform "linux" is incompatible with this module.
info<EMAIL_ADDRESS>is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
warning " ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>|| ^6.0.0".
warning " ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>|| ^6.0.0".
warning " ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>|| ^6.0.0".
warning "serverless > @serverless/components ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>|| ^6.0.0 || ^7.0.0 || ^8.0.0".
warning " ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>[4/4] Building fresh packages...
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
error /builds/conversion-handler/node_modules/mozjpeg: Command failed.
Exit code: 1
Command: node lib/install.js
Arguments:
Directory: /builds/conversion-handler/node_modules/mozjpeg
Output:
⚠ spawn /builds/conversion-handler/node_modules/mozjpeg/vendor/cjpeg ENOENT
  ⚠ mozjpeg pre-build test failed
  ℹ compiling from source
  ✖ Error: Command failed: /bin/sh -c ./configure --enable-static --disable-shared --disable-dependency-tracking --with-jpeg8  --prefix="/builds/conversion-handler/node_modules/mozjpeg/vendor" --bindir="/builds/conversion-handler/node_modules/mozjpeg/vendor" --libdir="/builds/conversion-handler/node_modules/mozjpeg/vendor"
configure: error: in `/tmp/5165e468-cf39-4de1-843a-506698a12de7':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... ./install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking whether make supports the include directive... yes (GNU style)
checking for gcc... no
checking for cc... no
checking for cl.exe... no
    at /builds/conversion-handler/node_modules/execa/index.js:231:11
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at async Promise.all (index 0)

I tried running - apk add automake autoconf libtool dpkg pkgconfig nasm libpng before calling yarn install but that did not help.
Please advise how can I resolve this?

+1

+1

+1

+1

This is an issue specific to Node Alpine images, as Alpine is missing some of the libraries required for mozjpeg. More information about what libraries may be missing can be found here. However, different Node versions seem to require different/additional libraries, so I have not been able to reproduce this solution on my setup. An alternative solution would be using a different image (e.g. Slim).


Move compilation steps to copr/epel

Interestingly, the ldap plugin is natively available for Fedora: https://src.fedoraproject.org/rpms/openvpn-auth-ldap
But the CentOS versions aren't updated, looks like dependencies are the issue.
Trying a copr version of it isn't too helpful: https://copr.fedorainfracloud.org/coprs/kyl191/openvpn-auth-ldap/
gcc-objc was removed in RHEL8, there's no EPEL replacement, so it has to be pulled in from an external repo. (copr supports this, thankfully)
re2c just isn't updated: https://src.fedoraproject.org/rpms/re2c
I can build it locally on CentOS 8, so that should be easier to solve.

Add re2c to epel8: https://bugzilla.redhat.com/show_bug.cgi?id=1971366
Also requested to add the openvpn-ldap epel8, but that is difficult: https://bugzilla.redhat.com/show_bug.cgi?id=1971331
Once re2c is added, I can simplify the ldap build by just installing it, and actually start on updating the copr spec to work (eg the buildrequires might be out of date compared to what's in the compile ldap steps)


Add support for encoding relationships as resource identifiers

When relationship resources are not to be added to included section it's not necessary to read all resource fields and type + id (resource identity) should be enough. Schema should have an ability to encode relationships this way. It will reduce number of requests to database to load required data.
Also check one more time how greedy parser with resource relationships reading

Got first working iteration. It needs more testing and documentation updates.


Revert series of callout guard commits

These commits attempted to fix a crash caused by freeing a timer's memory while the timer's callout is currently executing (meaning sctp_timer_stop couldn't stop it).
The attempted solution was to wait for the callout's completion in sctp_timer_stop. However, in the very likely case that the callout is waiting to acquire locks that the thread calling sctp_timer_stop owns, this will result in a deadlock.
This has a chance to happen not only when timers are being freed, but any time sctp_timer_stop is called. Effectively trading a low risk of a crash for a high risk of a deadlock.
Reverting these commits will fix #414 and fix #325.
Note that this PR attempts to solve the original problem in a different way, using pre-existing reference counts: https://github.com/sctplab/usrsctp/pull/417

OK. Thank you very much! This is a clean first step.
Let me cherry pick the cleanup changes from https://github.com/sctplab/usrsctp/pull/417. No action required by you.
After the cleanup fixes are in, you can rebase your fix, which should be much smaller then.


Updating Decimal length to match SQL Server's max values

Type of Change

[x] Bug fix (Fixes #3010)
[ ] New feature (non-breaking change, adds functionality)
[ ] Breaking change (effects multiple commands or functionality)
[ ] Ran manual Pester test and has passed (`.\tests\manual.pester.ps1)
[ ] Adding code coverage to existing functionality
[ ] Pester test is included
[ ] Nunit test is included
[ ] Documentation
[ ] Build system

Purpose
Allow for high LSN values (greater than 20 digits) to be properly piped from Get-DbaDatabase | ConvertTo-DbaDataTable | Write-DbaDataTable
Approach
Increases the max size for the columns created for the Decimal data type to match the max size available in SQL Server
Commands to test
Get-DbaDatabase | ConvertTo-DbaDataTable | Write-DbaDataTable for a database that has a high LSN number.
Screenshots

excellent, thank you!


pytest with python.testing.cwd leads to "file not found" on execution

Environment data

VS Code version: 1.45.1
Extension version (available under the Extensions sidebar): 2020.5.86398
OS and version: Linux Mint
Python version (& distribution if applicable, e.g. Anaconda): 3.7.4
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): pyenv
Relevant/affected Python packages and their versions: pytest 5.4.3

Expected behaviour
Running a Python test (using pytest) via a Code Lense should run the correct test file while starting from inside the directory specified via python.testing.cwd
Actual behaviour
Execution fails as it tries to execute the test file with a path relative to the root dir not the cwd.
Steps to reproduce:

Set "python.testing.cwd": "${workspaceFolder}/test" and make sure pytest is selected ("python.testing.pytestEnabled": true)
Create a simple test/test_foo.py file containing any test, e.g.:

def test_foo():
  assert 1 == 1

Run via code lense after test discovery via pytest

Logs
Error shown in the Output pane is:

Error: Error: cannot open file:///home/alex/project/test/test/test_foo.py. Detail: Unable to read file '/home/alex/project/test/test/test_foo.py' (Error: Unable to resolve non-existing file '/home/alex/project/test/test/test_foo.py')

Strangely using the "Run all tests" does work but it does show the same error after successfully running.
Use case: Python adds the CWD to PYTHONPATH which is unwanted in this case as it would pick up a wrong folder.

I cannot see any relevance to #8678 because what I am seeing in @Flamefire's error (and I also have), is a wrong duplication of the test folder name:
/home/alex/project/test/test/test_foo.py
This error is not mentioned in this issue and in my case is not solvable e.g. with conftest.py.
(For anyone with the same problem: I went back to a VS Code Python version from 8/2020 and it worked again.)

@simonmeggle please open a new issue.


qaf-2.1.7b.jar & qaf-support-2.1.7b.jar doesn't include qmetry package

QAF Version : 2.1.7b
I am referring to a sample test case posted on https://qmetry.github.io/qaf/latest/Creating_test_cases.html. It says, to create test class & extend to WebDriverTestCase. I am able to extend WebDriverTestCase but it doesn't come from com.qmetry.qaf.automation.ui.WebDriverTestCase rather it comes from com.infostretch.automation.ui.WebDriverTestCase. Later, I found that qaf-2.1.7b.jar & qaf-support-2.1.7b.jar both jar's doesn't include a package com.qmetry. Request to make the appropriate jars available
Expected behavior
A jar with com.qmetry be made available to execute sample project
Actual behavior
Is the issue reproductible on runner?

[x] QAS
[ ] Maven
[ ] Gradle
[x] Ant
[x] Eclipse

Test case sample

Please, share the test case (as small as possible) which shows the issue

If QAF version >= 2.1.8, then its  com.qmetry.qaf package.
For QAF version < 2.1.8 then it was com.infostretch.automation.

@Nandesh7 If you are planning to use QAF, please use latest version to get all new features' and more support

Hi Nandesh,
Please use QAF version 2.1.8 or above to support ‘com.qmetry.qaf’ package.
Thanks,
Mishal Shah
From: Nandesh7<EMAIL_ADDRESS>Sent: Wednesday, November 1, 2017 4:54 PM
To: qmetry/qaf<EMAIL_ADDRESS>Cc: Subscribed<EMAIL_ADDRESS>Subject: [qmetry/qaf] qaf-2.1.7b.jar & qaf-support-2.1.7b.jar doesn't include qmetry package (#149)
QAF Version : 2.1.7b
I am referring to a sample test case posted on https://qmetry.github.io/qaf/latest/Creating_test_cases.html. It says, to create test class & extend to WebDriverTestCase. I am able to extend WebDriverTestCase but it doesn't come from com.qmetry.qaf.automation.ui.WebDriverTestCase rather it comes from com.infostretch.automation.ui.WebDriverTestCase. Later, I found that qaf-2.1.7b.jar & qaf-support-2.1.7b.jar both jar's doesn't include a package com.qmetry. Request to make the appropriate jars available
Expected behavior
A jar with com.qmetry be made available to execute sample project
Actual behavior
Is the issue reproductible on runner?

[X] QAS
[ ] Maven
[ ] Gradle
[X] Ant
[ ] Eclipse

Test case sample
Please, share the test case (as small as possible) which shows the issue
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/qmetry/qaf/issues/149, or mute the threadhttps://github.com/notifications/unsubscribe-auth/APSiLuO49k_c3mZVzqwCgUyoYGuwb1nIks5syFTcgaJpZM4QOEb8.

Could you please help me with a link to download QAF  2.1.8 version? I am unable to locate on Qmetry site. Thanks

https://github.com/qmetry/qaf
https://qmetry.github.io/qaf/latest/download.html
Thanks,
Mishal Shah
From: Nandesh7<EMAIL_ADDRESS>Sent: Wednesday, November 1, 2017 5:31 PM
To: qmetry/qaf<EMAIL_ADDRESS>Cc: Mishal Shah<EMAIL_ADDRESS>Comment<EMAIL_ADDRESS>Subject: Re: [qmetry/qaf] qaf-2.1.7b.jar & qaf-support-2.1.7b.jar doesn't include qmetry package (#149)
Could you please help me with a link to download QAF 2.1.8 version? I am unable to locate on Qmetry site. Thanks
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/qmetry/qaf/issues/149#issuecomment-341087525, or mute the threadhttps://github.com/notifications/unsubscribe-auth/APSiLg7eid2MLFZWllcy4_0V1Yv9Vb-Zks5syF2AgaJpZM4QOEb8.

I downloaded & added a QAF jar 2.18 & 2.1.9 respectively & still can't see the expected method showing up "getDriver().get();"from com.qmetry.qaf.automation.ui.WebDriverTestBase. It would be helpful if any one can refer to detailed documentation on how to set up & test a sample test case. Thanks in advance.

I would recommend walk through qaf-step-by-step-tutorial. For any new automation use latest version of QAF.

Closing inactive issue. If required further help post into users group.


Where is process_train_split.py file?

where is process_train_split.py file?

hey did you get that file "process_train_split.py" ?

hey did you get that file "process_train_split.py" ?

I didn't get it.😞


[EdgeTPU] Update Toolchain run notification and log

Modify notiTitle in JobConfig.ts from 'Running onecc...' to 'Running tools...'
Use active toolchain name in notification and log of ToolchainProvider _run method
ONE-vscode-DCO-1.0-Signed-off-by: profornnan<EMAIL_ADDRESS>

Let me know when it's ready :-D

I have applied all the feedback. : )

@glistening I think you left the review to add the comment. I will merge PR right away :-D


Make them look more like baseball cards

Took a stab at this, not sure what I think. Thoughts @laurenancona @technologyriff @davewalk ? Easy to roll back.


DirectLine + Advanced Authentication - How to provide user id for reconnection?

Hello,
Using channel directline + advanced authentication. I want to be able to handle connection / reconnection in my backend and return the token for a specific user.
If I want to create a new conversation with a specific user, I can use this endpoint:
POST https://directline.botframework.com/v3/directline/conversations
Along with the post data:
{     "User": {         "Id": "dl_userId",         "name": "User Name"     } }
It works fine and I get a token containing the user context!
Now, there is no documentation as to how I can reconnect to a conversation and specify the user id.
GET https://directline.botframework.com/v3/directline/conversations/{conversationId}?watermark={watermark_value}
Error returned:
{     "error": {         "code": "MissingProperty",         "message": "Missing user ID"     } }
Surely there must be a way to generate a new token with the user context that I need?
EDIT: If I send a valid token instead of the secret, it works. But that kind of defeat the purpose of what i'm trying to do... I need to be able to join an existing conversation, even if the token expired.
Thanks for your help!

+1 to this, when performing a GET against /conversations/{conversationId} using a secret as your token you get a 400 with the body:
  {
  "error": {
    "code": "MissingProperty",
    "message": "Missing user ID"
  }

Second what @tbuquet says, whilst a token works, it leaves no way to access a conversation once a token expires if you fail to renew it, essentially expiring the conversation also.

I ran into this same issue. I didn't find anything on Stackoverflow. Did anyone ever figure out a solution to this?

+1 This is a pretty big issue for us as well. We are unable to reconnect our conversation.

I have this issue as well

@DavidCGarcia89 @adaddeo @jmurphyacc have you tried disabling enhanced authentication and seeing if that fixes it?

Yeah it fixes, but the problem is that I'm connecting to an oAuth server and is forcing me to copy a magic code which I think is a bad user experience. That is the reason I was trying to enable enhanced authentication.

I have got the exact same problem. I don't want to use the magic code, did you ever find a workaround or a fix ? @DavidCGarcia89 @calvin-evans


fix: Import path

Overview
VSCode strikes again

Fixes bad import path

PR Checklist

[ ] Related to designs:
[ ] Related to JIRA ticket: ABC-123
[ ] I have run this code to verify it works
[ ] This PR includes unit tests for the code change

📬Published Alpha Packages:@codecademy/gamut-icons@5.9.1-alpha.02c69a.0@codecademy/gamut-illustrations@0.17.19-alpha.02c69a.0@codecademy/gamut-kit@0.5.35-alpha.02c69a.0@codecademy/gamut-labs@19.22.1-alpha.02c69a.0@codecademy/gamut-patterns@0.5.7-alpha.02c69a.0@codecademy/gamut-styles@11.9.1-alpha.02c69a.0@codecademy/gamut-tests@2.4.22-alpha.02c69a.0@codecademy/gamut@36.4.4-alpha.02c69a.0@codecademy/konamimojisplosion@0.2.53-alpha.02c69a.0@codecademy/markdown-overrides@0.5.65-alpha.02c69a.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://611ad367a0fc9e2d87cee2d1--gamut-preview.netlify.appDeploy Logs


Api for get shader content ?

Hello,
i dev a free offline shader editor, and i would like to know if there a way to get the vertex and fragment from the url of vertexshaderart.
at this moment i support shadertoy and glslsandbox, and i would like to support vertexshaderart. i have analysed your repo, but im no familiar with meteor :)
thanks for your help :)

what do you want to know?
The core code runs without meteor as mentioned in the readme

I think he means if it is possible to get the shaders via http url instead of websocket connection so he can paste the shader urls into his application and load the shaders there.

ok, not really understood :)
i would like to know if there is a url where i can get for shader, a json or other thing who containt the fragment shader code :)

yep like you said  @movAX13h :)

by example, if i have this rul : https://www.vertexshaderart.com/art/mNBny7JXpBGwQnMwG
So i thinck, the id is mNBny7JXpBGwQnMwG. so what url i can have to get a json or a structure to get the vertex shader of this id ?
thanks for your help :)

There isn't a way to do that currently 😓

arf :)

Try adding ?format=json to the URL. Only works for shaders not every page
Example:
https://www.vertexshaderart.com/art/LPS8BeAeCDomFZXzX?format=json

nice, tahnks for that. im not sure i understand what you say with "Only works for shaders not every page".
there is some shader where this url style not work ?

maybe the format is partially wrong, here the json form your url 👍
{ 	"_id": "LPS8BeAeCDomFZXzX", 	"createdAt": "2017-11-28T18:41:16.304Z", 	"modifiedAt": "2017-11-28T19:14:21.200Z", 	"origId": "qtwQmSqQKkS3ptSYN", 	"name": "omg", 	"username": "gman", 	"avatarUrl": "https://secure.gravatar.com/avatar/dcc0309895c3d6db087631813efaa9d1?default=retro&size=200", 	"settings":          "{\"num\":14909,\"mode\":\"TRIANGLES\",\"sound\":\"https://soundcloud.com/dirtybirdrecords/claudevonstroke-dood\",
After settings, you have some "{" and other " outside the sahder code
i think you can remove some " and let the " only

As it says in the README the editor/visualizer and the site are 2 different apps. So the site just stores the visualizer's data as a string.
const xhr = new XMLHttpRequest();
xhr.addEventListener('load', function() {
  const art = JSON.parse(this.responseText);
  const settings = JSON.parse(art.settings);

  // inspect this in the JavaScript console
  console.log(settings);
});
xhr.open("GET", "https://www.vertexshaderart.com/art/zd2E5vCZduc5JeoFz?format=json");
xhr.send();

ok so its perfect for me, i just want the code of the sahder with the parameteres you use for load the shader. thanks. by the way can you correct a little bit the json format ? thanks

I'm not sure what you mean by "correct the json". Do you have an example where the code I provided above doesn't work?

i shared detail on top in my post.
after settings in your json you have this : "{"num":14909, so the { of the json is included between quotes. and after that you have many \ \ n and many \ " who are useless and breack the json format

ok ti works, in fact you use another json format in settings. its weird to insert a json string into another json string, but ok it work :)

it's not a poor format. Its separation of concerns. The website doesn't know the format of the visualiser. It could be xml, CSV, yaml, whatever. it just stores the data from the visualiser and passes it back

ok ok. i know what is the principle of the MVC :)

Thinking about it more I think you are right. Internally it's storing the visualizer data as an opaque chunk of data but I can see how the URL above should return just JSON.
I'll fix it.

Fixed

thanks


Common error message about stable functions

@marcocitus can I get your feedback about this? Want to be sure I'm saying the right things.


Topics aren't removed from the ROS master topic list on normal node Shutdown

Which operating system are you using?

OS

[x] Linux
[ ] Windows
[ ] macOS

Architecture

[x] amd64
[ ] arm64
[ ] arm7
[ ] arm6

Describe the issue
Topics aren't removed from the ROS master topic list on normal node Shutdown (SIGTERM)
this also applies to things like node name.

Hello, i checked and it's true that the reference C++ library does listen on SIGTERM and removes topics from the master. Probably it's better to implement this feature in Go too instead of relying on defer().

All the examples have been upgraded to correctly handle CTRL-C / SIGINT / SIGTERM, and shutdown the node thereafter.
In this way, users can choose to listen on OS signals like the standard library, or not to, since it causes quite a mess in case of complex programs with multiple objects.


Add skin forms support

What's the Problem?
Sorry for my English. I very like Apple Finder design, but windows give me more features. Some peoples like gnome, kde designs.
Solution/Idea
Add any ways to customize xaml forms for create new awesome designs.
Alternatives
no ideas
Files Version
No response
Windows Version
No response
Comments
No response

Please refer to the documentation on creating custom themes https://files.community/docs/configuring/custom-themes.

@yaichenbaum but why? Your link, it's for color schemes. But my idea, for fully customization.

@dinrise are you interested in changing the location of controls or just the styles? To change the location of controls you'll need to fork the app and modify the xaml.

@yaichenbaum i know, but my VS2022 crashes when trying to open designer( I don't know why.. Only with Files project

@dinrise there have been some issues with the designer crashing with WinUI so in the meantime you might want to disable it. Have you tried debugging the solution and using hot reload to visualize changes?

@yaichenbaum yes, but not effected

Depending on what you change you'll sometimes have to redeploy the solution.

@yaichenbaum i try to do something like that https://i.imgur.com/uzcSRuL.png

That's going to require moving a number of controls around on the different pages and you'll likely have to redeploy after modifying the different files.

@yaichenbaum thanks, will try tomorrow. Oh, and happy new year)

@yaichenbaum sorry, but i cant do that( Can you help me? https://i.imgur.com/LbRjxn9.png
I'm only frontend developer.. And dont know xaml(

@yaichenbaum can you create new branch for my project? https://github.com/dinrise/Files/tree/iFiler

@dinrise we don't have plans to incorporate alternative designs into the main repo.


Formula to calculate item score

Every item should have a score. This score will be used to to show the items to the user with the highest score.
variables available:

item_buyer_count (number of people who bought this item)
item_rating_count (number of people who rated this item)
item_rating (average rating of this item from 0 to 5)
sales_volume (in usdc cents, sales volume of the seller)
sales_count ( number of people who bought an item from this seller)

objective: Get a formula that accurately score an item with all these parameters. Rewarding seller that sells a lot and punishing sellers with bad ratings.
The score should be a positive number.

I would suggest to use the bayesian rating since it take into account the number of ratings.
Here is a great article applying bayesian method to a 5 stars ranking problem.
Do you think we can have the number of each stars for a product ?
References:
https://fulmicoton.com/posts/bayesian_rating/
https://en.wikipedia.org/wiki/Bayesian_average

Looks good ! However we don't have the number of each stars, only the average.
This solution could be implemented once we store the number of each stars which is not gonna happen soon but we might use it in the future.
There must be a simple solution that we can add to the code right now without updating the smart contracts.

It looks like the bayesian average is simpler and works: https://en.wikipedia.org/wiki/Bayesian_average.
With C=3.5 and m=100, the scores are decent.


Update part-1-overview-concepts.md

Thanks for the PR!
To better assist you, please select the type of PR you want to create.
Click the "Preview" tab above, and click on the link for the PR type:

:bug: Bug fix or new feature
:memo: Documentation Fix
:book: New/Updated Documentation Content

In the time it took you to open this passive-agressive PR, you could actually have read the tutorial and learned something.


Export-Dbainstance & Export-DbaLogin - add ExcludePassword

Type of Change

[ ] Bug fix (non-breaking change, fixes #)
[X] New feature (non-breaking change, adds functionality)
[ ] Breaking change (effects multiple commands or functionality)
[X] Ran manual Pester test and has passed (`.\tests\manual.pester.ps1)
[ ] Adding code coverage to existing functionality
[X] Pester test is included
[ ] If new file reference added for test, has is been added to github.com/sqlcollaborative/appveyor-lab ?
[ ] Nunit test is included
[X] Documentation
[ ] Build system

Purpose

This will give the option to run Export-DbaInstance without including passwords for credentials, linked servers and logins.
Export-DbaCredentials and Export-DbaLinkedServer already had the parameter, I added it to Export-DbaLogin.
Approach

Adds a switch to Export-DbaInstance that will be passed through when exporting credentials, logins and linked servers.
Default behaviour hasn't changed.
Commands to test
Export-DbaLogin -SqlInstance server1 -Path C:\temp\ -ExcludePassword
Export-DbaInstance -SqlInstance Server1 -Path C:\temp -ExcludePassword

I believe this will address #5806

fantastic, thank you!


fix(gcp): enable secretmanager api

Codecov Report

Merging #235 (6e764d3) into develop (3f0d71f) will increase coverage by 0.13%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           develop     #235      +/-   ##
===========================================
+ Coverage    35.11%   35.25%   +0.13%
===========================================
  Files           49       49
  Lines         4317     4317
===========================================
+ Hits          1516     1522       +6
+ Misses        2652     2644       -8
- Partials       149      151       +2

Flag
Coverage Δ

unittests
35.25% <ø> (+0.13%)
:arrow_up:

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

Impacted Files
Coverage Δ

pkg/provider/pulumi/gcp/project.go
74.28% <ø> (ø)

pkg/ghissue/buglink.go
90.32% <0.00%> (-9.68%)
:arrow_down:

pkg/utils/paths.go
5.00% <0.00%> (-5.00%)
:arrow_down:

pkg/provider/pulumi/azure/containerapp.go
0.00% <0.00%> (ø)

pkg/provider/pulumi/gcp/gcp.go
44.97% <0.00%> (+3.23%)
:arrow_up:

Continue to review full report at Codecov.

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


Rename Fast ring to Dev Channel for WIP

The Windows Insider Program changed their naming from Fast ring to Dev Channel.

@crahrig : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Can't configure Energy dashboard with new meters

(It's probably a configuration issue, not a bug, but I've been trying for days to fix it, and have so far failed.)
At the start of the month my meters were changed and now have SMETS2 ones. At that point I decided to start using your Integration, a year after starting to use HA. It has given me 2 devices + 12 entities, all of which look sensible.
But a week on, the Energy Dashboard graphs are still like this:

The config for the Electricity part of the dashboard is:

The Gas one is similar.
But here's the history from Octopus' own website:

And the history from looking at the entities themselves shows that the Gas data in HA is OK (similarly look OK for Electricity):

So the issue is how to best configure Energy Dashboard?
Home Assistant Version 2023.2.2
Integration Version 5.4.1
Fresh Install? Yes

I usually assign the total previous consumption entity to the option Use an entity to track total costs, especially if you're on a variable rate that can change from day to day.
I'm not sure why the energy dashboard is not reporting the data as it's working fine on my instance, but I have yet to update to 2023.2.x. Do you have any other errors appearing in your logs? I assume you've changed the names of the entities as they're not the default names? Also do you have any errors appearing in developer-tools/statistics?

Thanks for the quick response. I've left it a day to see what happens, and the good news is I now have sensible-looking bargraph usage data in the dashboard. But only for the most recent 2 out of the 9 previous days.
Now picking up on your points:

I usually assign the total previous consumption entity to the option Use an entity to track total costs, especially if you're on a variable rate that can change from day to day.

AFAICT I don't have a "total" entity to use with 'Use an entity to track total costs'. All the money entities are either costs that go up and down or rates. What should 'total' ones be called?

I'm not sure why the energy dashboard is not reporting the data as it's working fine on my instance, but I have yet to update to 2023.2.x. Do you have any other errors appearing in your logs?
I turned on logs as suggested in FAQ, but my device then ran too slowly, even on an RPi4 with a lot of RAM.

I assume you've changed the names of the entities as they're not the default names?
Yes. Here's a significant issue, which is largely beyond your ctronol. The entity names are so long that I can never see the end of the name in any of the HA screens other than Developer Tools.

Also do you have any errors appearing in developer-tools/statistics?
One. "sensor.gas (m3): There is no state available for this entity".
I pressed FIX ISSUE on this before I submitted this issue; interesting that it's back again. I've tried it again, and the issue has disappeared, but no change to the dashboard display.

Any further ideas why the first week of data is present somewhere in HA but isn't being displayed?

AFAICT I don't have a "total" entity to use with 'Use an entity to track total costs'. All the money entities are either costs that go up and down or rates. What should 'total' ones be called?

Interesting, as outlined in the readme, you'll be after sensor.octopus_energy_electricity_{{METER_SERIAL_NUMBER}}_{{MPAN_NUMBER}}_previous_accumulative_cost or sensor.octopus_energy_gas_{{METER_SERIAL_NUMBER}}_{{MPRN_NUMBER}}_previous_accumulative_cost
This does go up/down but on a daily basis which is what the energy dashboard is after.

I turned on logs as suggested in FAQ, but my device then ran too slowly, even on an RPi4 with a lot of RAM.

I have them turned on a RPi4 as well, but is fine. However I don't have a lot of intensive integrations.

Any further ideas why the first week of data is present somewhere in HA but isn't being displayed?

I'm not too sure tbh. I wonder if there's any logging around the energy dashboard that might provide some insight. Looks like other users have had issues (https://community.home-assistant.io/t/energy-dashboard-not-showing-historical-data/353494) which might help with the investigation?


Broken Documentation Links

I merged a pull request on platform to update documentation links to URLs that had previously worked.
The URL the previously worked
https://stjude.cloud/docs/guides/glossary/data-access-unit/#childhood-cancer-survivor-study-ccss
now should be
https://stjude.cloud/docs/glossary/#childhood-cancer-survivor-study-ccss.
Platform is updated again, but for future changes, is there a way we can make old links redirect to new locations so every site that links to documentation doesn't immediately have broken links?

Is this the right approach, or should it be part of Arthur's constant scanning? My concern would be that we are left with a web of redirects. I do admit, it was bad timing in this particular instance

Ideally we go through some sort of deprecation cycle to give us time to update relevant platforms/portals/sites/etc and then remove the redirect.

Closing because Arthur now checks for broken links regularly.

This has occurred again. Links on the data browser were leading to 404 pages, but has recently been fixed (https://github.com/stjude/sjcloud-platform/pull/161). Affected links were updated here on commit https://github.com/stjudecloud/docs/commit/38ae319628d7187114bf049ae02923e3482ff324.
I think this question is still relevant:

[...] is there a way we can make old links redirect to new locations so every site that links to documentation doesn't immediately have broken links?


Xfail (temporarily) hinsage test that fails with tensorflow 2.1

This is a temporary work-around to unbreak CI until we can properly determine the cause and thus the fix.
It's marked as a strict xfail (that is, causes tests to fail, if it unexpectedly passes), so that we don't accidentally fix it without noticing, and are thus reminded to remove the xfail marker.
See: #626

Would it be better to just pin tensorflow to 2.0 for now? How do we know it's not "actually" broken?

I've got that as an option in https://github.com/stellargraph/stellargraph/pull/630, but I think this is better:

only one test is failing, which hints (to me) that it's likely not major breakage
restricting the version makes it (very slightly) harder to test any fixes
sticking to an older version of dependencies is unfortunate and may restrict progress along unrelated dimensions


Add Template to "Create person if not exists"

Is your feature request related to a problem? Please describe.
I'd like to add a template to each person I'm creating.
Describe the solution you'd like
Allow setting to add from template or add to document on creation.
Describe alternatives you've considered
Manually adding the information to the page after it is created.
Additional context
My sample use case is to use dataview to add to the page all the instances where I have mentioned the individual. This snippet displays a table that shows all backlinks to the person page.
TABLE WITHOUT ID
file.inlinks AS Mentions
WHERE
file.name = this.file.name

Not sure this is what you're looking for, but if you use the templater plugin, you can have it watch file creation events and apply a template automatically. In the templater plugin settings, you could assign a person template to the directory that you set in people link. That would apply the template automatically when you create a person with people link.


Example custom validator shown in README breaks in Ruby 3

The README shows an example for a custom validator
class AlphaNumeric < Grape::Validations::Base
  def validate_param!(attr_name, params)
    unless params[attr_name] =~ /\A[[:alnum:]]+\z/
      fail Grape::Exceptions::Validation, params: [@scope.full_name(attr_name)], message: 'must consist of alpha-numeric characters'
    end
  end
end

In Ruby 2.7.2, this works just fine. In Ruby 3.0.0, however, an invalid parameter value breaks my test API with the following error:
ArgumentError: wrong number of arguments (given 1, expected 0; required keyword: params)
	/home/henning/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/gems/grape-1.5.3/lib/grape/exceptions/validation.rb:11:in `initialize'
	/home/henning/Playground/ruby/test.rb:8:in `exception'
	/home/henning/Playground/ruby/test.rb:8:in `fail'
	/home/henning/Playground/ruby/test.rb:8:in `validate_param!'

It looks like the Grape::Exceptions::Validation object doesn't receive the keyword argument params properly. This probably is because of the superfluous comma in the call to fail. Because, according to the style guide, raise should be favored over fail, I'd suggest to change the example from
fail Grape::Exceptions::Validation, params: [@scope.full_name(attr_name)], message: 'must consist of alpha-numeric

to
raise Grape::Exceptions::Validation.new params: [@scope.full_name(attr_name)], message: 'must consist of alpha-numeric characters'

The new version worked in my tests with Ruby 2.7.2, 3.0.0, 3.0.1 and 3.0.2.

Thanks for bringing this up! Please contribute?

Make sure we have a spec that replicates the example and that it runs in Ruby 3.0.
Make the change in README.


Add SMK Bina Essa

SMK Bina Essa is Vocational High School in Indonesia that provide education majoring in: Teknik Bisnis Sepeda Motor (Motorcycle System and Business) and Otomatisasi Tata Kelola Perkantoran (Office Administration and Automation)

@imansmkbinaessa First stage of verification passed, official domain is smkbinaessa.sch.id as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@imansmkbinaessa Please provide us with an URL of a page on the official website where the school offers an IT-related long-term (>1 year) course. Thank you.

https://smkbinaessa.sch.id/read/12/detail-jurusan-otkp
Office Automation & Governance or commonly abbreviated as OTKP, formerly known as Office Administration or AP is one of the branches of the field of Business and Management expertise studying Typing of scripts or documents, Telephone handling, Arrangement and management of letters or documents, Arranging and managing archives, Handling business trips , Handling petty cash funds, Preparing meetings or meetings, Handling applications, and Handling information via the internet.

Jurusan OTKP is a major that focuses on Office administration such as: document management, office automation, spreadsheet, introduction to programming language (python, javascript). The programme itself consists of three years study in vocational highschool.

@imansmkbinaessa  Thank you for the clarifications. Pull request merged.


telegraf_mx keeps restarting after adding bgp profile

Hi,
Still not sure why but when I add bgp profile to my router the telegraf_mx container is unable to start up. It keep restarting in log i see only:
2024-10-08T13:01:05Z I! Using config file: /etc/telegraf/telegraf.conf
2024-10-08T13:01:08Z I! Starting Telegraf 1.0.6
2024-10-08T13:01:08Z I! Using config file: /etc/telegraf/telegraf.conf
2024-10-08T13:01:15Z I! Starting Telegraf 1.0.6
2024-10-08T13:01:15Z I! Using config file: /etc/telegraf/telegraf.conf
2024-10-08T13:01:28Z I! Starting Telegraf 1.0.6
2024-10-08T13:01:28Z I! Using config file: /etc/telegraf/telegraf.conf
2024-10-08T13:01:54Z I! Starting Telegraf 1.0.6
2024-10-08T13:01:54Z I! Using config file: /etc/telegraf/telegraf.conf
When trying to test it with analyzer eg. /network-instances/network-instance/protocols/protocol/bgp/
All works fine and it returns the data.
Any idea what could wrong ?

Hello
Could you please the the version and model of MX you use?
Could you share docker logs telegraf_mx output ?
Thks


Create workflow: reformat-altlabel

This adds a GitHub action that automatically reformats crk.altlabel if it's changed.

@eddieantonio very cool idea but it failed. But the action failed. Some more tweaking?
ⁿᵒʷ ᵃᵘᵗᵒᵐᵃᵗⁱᶜ ᵇˡᵃᶜᵏ ᵃⁿᵈ ⁱˢᵒʳᵗ

@eddieantonio very cool idea but the action failed. Some more tweaking?

I'm on it!

ⁿᵒʷ ᵃᵘᵗᵒᵐᵃᵗⁱᶜ ᵇˡᵃᶜᵏ ᵃⁿᵈ ⁱˢᵒʳᵗ

👀


Month title text now updates when scrollEnabled=false

Fixes #11.

@aforty thanks for the PR.
Going to have to look at https://github.com/christopherdro/react-native-calendar/pull/13 as well to see what the difference between the two implementations is.

Yeah I saw that but and it seems to overcomplicate it. In _appendMonth() and with scrollEnabled=false the following code results in calendarDates array having only one element. Thus when scrollEnabled=false we can simply take 0. Same logic then applies in _prependMonth() as well. I tested with both scrollEnabled both true and false but you know the codebase better.
calendarDates.push(moment(calendarDates[calendarDates.length - 1]).add(1, 'month').format());
calendarDates.shift();


Bug report - [AttributeError in torchaudio: 'list_available_backends' missing in video processing application]

EDIT:  I updated this as Python suggested and it works now.
# .cache/torch/hub/snakers4_silero-vad_master/utils_vad.py

# if 'sox' in torchaudio.list_available_backends():
if 'sox' in torchaudio.list_audio_backends():

🐛 Bug
Encountered an AttributeError when attempting to use torchaudio within a video processing application. The application expects the function list_available_backends to be available in torchaudio, but instead, an error suggests that this attribute does not exist. The error message hints at possibly using list_audio_backends as an alternative, indicating a potential discrepancy in the torchaudio API or documentation.
To Reproduce
The error occurred in the context of running a custom video processing script, specifically at the point where read_audio function attempts to invoke torchaudio.list_available_backends().
Steps to reproduce the behavior:

Execute a video processing script that involves audio processing with torchaudio.
The script fails when it reaches the part where torchaudio.list_available_backends() is called.
An AttributeError is thrown, indicating the absence of the list_available_backends attribute.

Error Message:
AttributeError: module 'torchaudio' has no attribute 'list_available_backends'. Did you mean: 'list_audio_backends'?

Expected behavior
I expected torchaudio to provide a list_available_backends function or for the code and documentation to accurately reference the methods available for listing audio backends.
Environment

Operating System: Linux (Ubuntu), Kernel Version 5.15.0-94-generic
Python Version: 3.12.1
Installation Method: Conda
Environment Details:

Additional context
This issue has disrupted a video processing project by hindering its ability to process audio data effectively. Clarification on the correct usage of backend listing functions in torchaudio or updates to ensure such functionality aligns with the current version of the library would be greatly appreciated.

@lachlanchen
Please check now


Add source_directory() function

Edit: Hijacking original comment for visibility.
Add a source_directory() function for getting the directory containing the current file, which can be used regardless of whether it is a module or import.

Hello,
First, thanks for your tool, it replaced Makefile on all my projects, including those on windows platforms!
One of my just file which was working on just 1.21 is now broken.
It seems related to #1813
I understand why it was fixed, but it breaks my use-case, and seems to make the recipe attribute no-cd useless ?
Here's a reduced test case
/tmp/justbug/justfile
import "bar/bar.just
import "foo/foo.just

/tmp/justbug/bar/bar.just
[no-cd, private]
bar:
    @echo bar
    pwd
    # echo *.c

/tmp/justbug/foo/foo.just
foo:
    @echo foo
    pwd
    just @bar
    # cc *.c

On 1.21
/tmp> cd justbug
/tmp/justbug> just foo
foo
/tmp/justbug/foo
bar
/tmp/justbug/foo

It was nice, I could put some just files into dedicated directories & work directly into those directories. I could import other files and share their code. If I only wanted to share some code, I could use the no-cd attribute to make it explicit.
On latest version
/tmp> cd justbug
/tmp/justbug> just foo
foo
/tmp/justbug
bar
/tmp/justbug

Now, no-cd does nothing, the current directory is always the root directory. If you want to keep this behavior, may I suggest removing 'no-cd' and replace it with 'cd' so I could add it to the foo: command & avoid adding cd foo to every commands ?

I'm not sure about modules:

they are behind an --unstable flag, making commands counter-intuitive to run. job --unstable foo::foo
recipes are not imported by default from a module
just --unstable --list seems glitchy when printing module recipes, which looks like another bug

I think modules are indeed the way. It's imperfect, but I decided that imports should behave as if they were included in the justfile directly, whereas modules should behave as independent justfiles, and have their recipes run in the same directory of the module source file. Modules are unstable while they're being developed, so for now the --unstable flag is required.
To support your use-case, we could consider adding a function to get the current directory of the source file, something like source_directory() which can be used in imports to refer to the directory containing the import.

For information, I added a workaround by scripting commands, so it always tries to change directory to target directory from root directory.
My main issue is that now, most of my just scripts looks like something like that:
foobar:
    cd source_directory() && command A
    cd source_directory() && command B
    cd source_directory() && command C

source_directory() does give me the source directory efficiently, but what I'd like is to setup the working directory once per task.
I know I can do this by starting a shell script, but doing so, we enter into shell script shenanigans under windows.
I'm not asking for this as it may be too obscure, but what I'd really like is something like that:
[cwd=source_directory()]
foobar:
    command A
    command B
    command C

I think we should add a setting which causes imports to run in the same directory as the file. It would be pretty simple, just pass settings to Recipe::working_directory and if the setting is set, always return self.working_directory.

Would that be desirable? I.e., would it be okay if there was a setting which applied to all recipes in an import, or do you just want to run some of them in the import source dir? A [cd(DIR) attribute would also be reasonable.

I think we should add a setting which causes imports to run in the same directory as the file. It would be pretty simple, just pass settings to Recipe::working_directory and if the setting is set, always return self.working_directory.

I'm not sure about the syntax, do you mean something like this on top of some imported files ?
Would it be scoped to the current file only ?
set working_directory := source_directory()

In any case, it is certainly enough for my use-case.
But the attribute '[cd(DIR)]' is also much more flexible, and would give another option for https://just.systems/man/en/chapter_47.html

Yeah, something like that. I agree that [cd(DIR)] would be good too.

Since I already highjacked this thread for source_directory(), I opened #2082 for [cd(DIR)].

This was done in #2088.

Thanks !


Sorbet/rspec conflict around receive-counts when calling through

I have to apologize - I can't exactly follow the format as requested, because this issue has to do with an interaction between sorbet and rspec.  So I've made a repository to demo the issue
Some would argue that you should not be using .and_call_original in your rspec tests.  I actually agree but I am posting this anyway, in case the investigation surfaces any other problems that exist in the sorbet runtime.
Input
https://github.com/skatenerd/sorbet_rspec_error/
class Go
  extend ::T::Sig

  sig do
    void
  end
  def self.go
    p 'hi'
  end
end

describe Go do
  it 'can count the number of times the class method was called while invoking original code' do
    expect(Go).to receive(:go).and_call_original.twice
    Go.go
    Go.go
  end
end

Observed output
  1) Go can count the number of times the class method was called while invoking original code
     Failure/Error: expect(Go).to receive(:go).and_call_original.twice

       (Go (class)).go(*(any args))
           expected: 2 times with any arguments
           received: 1 time with any arguments

Expected behavior
The test should pass

I'm not sure that Sorbet can guarantee that it will call the method the same number of times. That's not really within the contract of what Sorbet guarantees.
Tests that need to make assertions like this can eagerly force the sig for the given method like this:
#
_sig = T::Private::Methods.signature_for_method(Go.method(:go))
expect(Go).to receive(:go).and_call_original.twice

and the test will pass.


Game crashing when i play a mod song (IOS)

Describe your bug here.
When i play a song from the main weeks, it doesn’t crash. But when i play a mod that i imported, it crashes.
Crash Log or logcat logs (if existing)
No response
Are you modding a build from source or with Lua?
I am not modding
What is your build target?
iOS
Did you edit anything in this build? If so, mention or summarize your changes.
I didn’t edit anything.

what mod you trying to play? can be ram issue

@BreadStock are you using devbuild

@BreadStock are you using devbuild cuz 0.7.3 release for iOS can be buggy

Yeah im using the latest (0.7.3)

the mod plays for a split second but crashes immediately. seems like the main week is also crashing when i play too much of them. could be my iphone’s fault (im using iphone 6) so im closing this.

the mod plays for a split second but crashes immediately. seems like the main week is also crashing when i play too much of them. could be my iphone’s fault (im using iphone 6) so im closing this.

the mod plays for a split second but crashes immediately. seems like the main week is also crashing when i play too much of them. could be my iphone’s fault (im using iphone 6) so im closing this.

then you might just have an outdated phone (literally discontinued) and iOS, I would probably wait until you get a new phone


Commenting API Changes

@kauffj commented on Wed Aug 05 2020

@jessopb @seanyesmunt This the issue to create the new apis moving comments server over

sneak in pinning


Library module support

Uses library plugin if project is library, app plugin otherwise.

@ynnadrules is this one still relevant?  What i remember is that this was superseded by something upstream.  If so, then let's close it.  If not then i can review and clear it out.

@kalperin maybe. It might actually be the version of the plug-in we're using. It's been a while though so I'll have to check.

Were you able to address the conflicts?

Were you able to address the conflicts?

Nope.  My goal was to be able to build MobileToolboxNavigation without Bintray so i didn't try to solve that problem.

Nope. My goal was to be able to build MobileToolboxNavigation without Bintray so i didn't try to solve that problem.

Gotcha. I just realized this was my PR haha.


In the meantime, shall we publish a version that is 0.1.17?
The 0.2.0 version has big API changes compared to last 0.1.16 version, however there are some bugs being fixed prior to those API changes. For those who is not migrating to 0.2.0 yet, the 0.1.17 version could nice. What do you think? Thx! = )

It's been more than a year, shall we focus on the next version instead? It doesn't seem obvious how to bring all the bug fixes to the older version, especially after the API change. I'd suggest for those who use ProtoActor to upgrade to the latest version.

I propose to close this one due to lack of demand. @PotterDai do you agree?


Addition of LinkTask to be able linking to data directory

Could you please provide a description of what problem you are trying to solve? Also see the contributing guidelines
And an example of how to use the task would be helpful.

I have some legacy projects I want to install and deploy using accompli. These projects have some folders containing user data (variable data) that is ignored for git and should be kept when a new release is deployed. The simplest and most 'safe' (in the way a developer has to modify/check less code) is to create symlinks to outside the projects folder representing the folder containing user data.
Every release deployed with accompli it will destroy the symlinks as a deployment is a 'fresh' checkout. This task will create the symlinks again (to the data folder)
An example can be:
{
    "class": "Accompli\\Task\\LinkTask",
    "links": {
        "var/log": "log",
        "var/uploads": "uploaded-files"
    }
}

This will create 2 symlinks (named log and uploads) in the var directory to:
{datadirectory}/{stage}/log and {datadirectory}/{stage}/uploaded-files

@niels-nijens what is the status of this?

Is this the only way to create a symlink?

Is it better to wait for this PR of should I make custom implementations for each project?


[bug] deno compile binary does not work on other machines

As I wanted to run my deno fresh app in a blacksite, with no internet access at all, I tried to use deno compile.
Issue
Starting the compiled binary on another host, than the compiling one will always throw the Error:
Could not find a deno.json file in the current directory or any parent directory.

More details

including deno.json by running deno compile --include deno.json main.ts will also create the same error.
Possibly relevant information:

I (cross) built both binaries on windows.

running the binary on the compiling host, no matter where it is on the system - will always work.

I guess, when using deno compile, something hard codes the deno.json path into the binary and it will be searched for in the hard-coded full-path, which it will never find on another system (unless the folder structure is identical).
I will link the test release with this exact binaries I built, so that they can be used for testing:
Binary Releases

Thanks for reporting this. My guess is that it breaks on the part where we search for the deno.json file in the project directory by traversing upwards from Deno.cwd(). This probably needs to be handled differently.


French translation update menu controls

Thanks! I noticed btw that "settingsMenu.controls.playerControls" and "settingsMenu.controls.resetButton" are missing translations.

playerControls

Thanks! I noticed btw that "settingsMenu.controls.playerControls" and "settingsMenu.controls.resetButton" are missing translations.

Oh yes ! I don't know why but I'll fixed this


new v8 isolates api - may be a good update for node-cluster

Hi,
v8 changelog updated recently:
2011-03-23: Version 3.2.4
Added isolates which allows several V8 instances in the same process.
This is controlled through the new Isolate class in the API.

So, we don't even need to spawn child processes to run in multi-cores anymore. Your ideas gentlemen?

With the work @ry's doing on 'domains' to bring V8 isolates into Node (its now on the roadmap for v0.8), this might not be so far fetched after all. From what I've been able to tell from the initial commits towards this, the domains module will create a wrapper around all I/O related to specific block of code (ie. a network request), and automatically clean up any open handles (fs, db, etc) if an error is thrown. This is the first baby step towards being able to use threads reliably, without fear of any one thread bringing down the process.
This is all very exciting, and definitely seems to imply that tools like cluster could be built to run in multiple threads within a single Node process in the future, but the benefits are less clear. For one, V8 isolates do not share any memory. This guarantees that your code is warm and threadsafe, but also means that many of the benefits of threads like faster spawning and lower memory usage will be much less pronounced. We'll have to wait and see how this actually plays out.


[Question] Best way to implement stochastic reinforcement learning actors?

Hello!
First of all, thanks for this project - it is a lifesaver! So I wanted to get familiar with JAX so I decided to implement a few deep reinforcement learning algorithms as a side project. I initially approached the problem by subclassing flax.nn.Module as follows:
import flax.nn as nn
import jax.numpy as jnp
import jax.random as random

class MLPCategoricalActor(nn.Module):
    def apply(self, obs, act, action_space=None, rng=None,
              hidden_sizes=(64, 64), activation_fn=nn.tanh, output_fn=None):
        assert action_space is not None, "Action space must be specified."
        if rng is None:
            rng = nn.make_rng()
        act_dim = action_space.n
        logits = _MLP(obs, sizes=list(hidden_sizes) + [act_dim], activation_fn=activation_fn)
        pi = random.categorical(rng, logits)
        logp_all = nn.log_softmax(logits)
        logp = jnp.multiply(one_hot(act, act_dim), logp_all).sum(axis=1)
        logp_pi = jnp.multiply(one_hot(pi, act_dim), logp_all).sum(axis=1)
        return pi, logp, logp_pi

I very quickly ran into the problem of having a duplicate parameter 'rng'. I dug into the flax code and discovered that 1) dropout was not implemented as a module as I believed and 2) the ModuleFrame has an rng param that I can't access (apparently). I came up with three solutions:

Get rng from the nn.stochastic context, but that would require wrapping the entire training function with it which seems a little weird to me.

Use the same solution as in the VAE example and pass rng each time as a positional argument.

Mix both solutions and try to get rng from a kwarg and if that fails fallback to the context. This may lead to a problem if someone sets the kwarg with a call to partial...

I wanted to ask you how you would go about this? My main concerns are code reusability and reproducibility.

Hi!
Basically something like (1) is the canonical way we do it!  We use a with nn.stochastic(prng_key): context around the model evaluation inside the training-step function, with a top-level prng-key fed into the training-step function from an outside split in the training loop.  The important thing is that the training-step function is jitted in its entirety - the one thing not to do is to jit across a nn.stochastic context.  Provided it's used inside a jit and the prng-keys are fed like any other function argument, there should be no trouble using it.  Using the stochastic context can save a lot of prng-key plumbing boilerplate in models.
I've typed up a quick demo of the canonical way in a colab at https://colab.research.google.com/drive/1eDXEVd8NPXgaSwn7jEMxsZTDVHNUtHYK
Let me know if that helps or if anything remains unclear!

Thank you for the amazing answer, I will get working on my project right away! Everything is clear, you even mentioned the part about passing the PRNG key itself while initializing a Module following 3, which something I had problems with.
I'm closing the issue, thanks for the help!


Provide documentation on how to use web workers for Dart 2

Dart SDK Version 2
Windows, MacOS
Chrome
I decided to try out Dart 2, and one of the first things I wanted to look into is how to run workers on the web, since Isolate is no longer available for the web. Here is the documentation: https://api.dartlang.org/stable/2.0.0/dart-html/Worker-class.html
There is no indication whatsoever on how to proceed on such an important web feature, given the ever-increasing importance of concurrent computation on modern systems.
Some questions that immediately spring to mind:

JS Worker and Dart Worker take a script url
How does that work?
Do I pass in a Dart url?
If so, what does that Dart file look like?
Can I pass in a function instead of a script url?

In a more general sense, Dart documentation for web APIs is not a good experience. Are those docs simply generated from browser IDL?  Those docs should contain API overview, working examples for each function where not immediately obvious, links to articles, etc...Almost every page I visit is just method and property names. There's no guidance for the programmer.

/cc @kevmoo @vsmenon

Yeah I would also like some documentation/examples on this.

Throwing this over to web (@vsmenon ) to see what they think the solution is: better API docs on the Worker class? An article?

I think the kicker here is web workers don't work with DDC: https://github.com/dart-lang/sdk/issues/36295


feat: JSON parsing cheatcodes

Component
Forge
Describe the feature you would like
The ability to easily parse JSON files within Solidity is very useful for things like reading deploy script outputs, config files, etc. Here is a proposed spec on how this should be implemented:
Cheatcodes
The readFile cheatcode already exists, and we just add a parseJson cheatcode which takes a string of JSON and key, specified using the same syntax as jq. It returns the data of each key as ABI-encoded bytes.
This implies parseJson will need to infer data types from the JSON to ABI-encode them appropriately. In particular, we need to distinguish between a hex string that's bytes (bytes get right-padded) vs. a hex string that's a number (numbers get left-padded). I think ethers.js has a convention for distinguishing these, we should check that convention, use the same one, document it, and make sure it's followed when the JSON output files from scripts are written. I think the convention is 0x1234 for a number and [0x12, 0x34] for a bytes but am not certain.
interface Vm {
  // Reads the entire content of file to string, (path) => (data)
  function readFile(string calldata) external returns (string memory);

  // Given a string of JSON, find the provided key, (stringified json) => (ABI-encoded data)
  function parseJson(string calldata json, string calldata key) external view returns (bytes memory);
}

forge-std
We'll also add new forge-std helpers to Test.sol, as shown below.
// Everything shown here is new and not yet present in Test
contract Test {
  // Reading in deployment logs will be common, so let's include helpers for
  // them in forge-std.
  // NOTE: Not all of the below data types are correct, we need to verify them,
  // e.g. I think nonce is really a uint64.
  struct Transaction {
    uint256 txType;
    address from;
    address to;
    uint256 gas;
    uint256 value;
    bytes data;
    uint256 nonce;
  }

  struct TransactionDetail {
    bytes32 hash;
    // e.g. F0 for CREATE, this is called `type` in the output but that's a solidity keyword.
    // We should consider changing that for consistency.
    bytes1 opcode;
    string contractName;
    address contractAddress;
    Transaction transaction;
  }

  struct Receipt {
    bytes32 transactionHash;
    // --- snip, you get the idea ---
  }

  // Read in all deployments transactions.
  function readTransactions(string memory path) internal view returns (TransactionDetail[] memory) {
    string memory deployData = vm.readFile(path);
    bytes memory parsedDeployData = vm.parseJson(deployData, ".transactions[]");
    return abi.decode(parsedDeployData, (TransactionDetail[]));
  }

  // Analogous to readTransactions, but for receipts.
  function readReceipts(string memory path) internal view returns (Receipt[] memory) {
    // --- snip, you get the idea ---
  }

  // Helpers for parsing keys into types. We'd include these for all value types
  // as well as `bytes`, `string`, `uint256[]`, and `int256[]`. Only two are shown below.
  function readUint256(string memory json, string memory key) internal view returns (uint256) {
      return abi.decode(vm.parseJson(json, key), (uint256));
  }
  function readBytes32(string memory json, string memory key) internal view returns (bytes32) {
      return abi.decode(vm.parseJson(json, key), (bytes32));
  }
}

Example Usage
The above would result in the following sample usage.
contract MyTest is Test {
  string internal constant deployFile = "broadcast/Deploy.s.sol/10/run-latest.json";

  function myFunction() public {
    // Get all deployment transactions.
    TransactionDetail[] memory transactions = readTransactions(deployFile);

    // Get the name of the first contract deployed.
    string memory deployData = vm.readJson(deployFile);
    string memory contractName = abi.decode(vm.parseJson(deployData, ".transactions[0].contractName"), (string));

    // Get the nonce and transaction hash of the first contract deployed.
    uint256 nonce = readUint256(deployData, ".transactions[0].tx.nonce");
    bytes32 txHash = readBytes32(deployData, ".transactions[0].hash");
  }
}

Additional context
No response

Where I think this would be interesting/helpful is in working with deployment artifacts. We could then write actual integration tests and interact with both L1 and L2 nodes using the scripting functionality (AFAIUI).

Bonus if the ABI-coder stuff for JSON can be re-used for https://github.com/foundry-rs/foundry/issues/858 as well (similar thoughts on ABI encoding and passing that)

For implementation, I found this crate that uses C bindings from jq to parse the syntax natively. Is it a dependency we are ok with or do we prefer to implement the parsing natively?
cc @onbjerg @mattsse

There are a number of JSON path crates in Rust as well, e.g. https://docs.rs/jsonpath-rust/latest/jsonpath_rust/
I'd prefer we don't use C bindings as it might complicate our cross platform builds

Note that part of the scope of this issue involves changing broadcast artifacts such that txs/receipts are saved with the correct types to facilitate type inference when reading JSON. For example, gas and nonce should be numbers instead of hex strings, etc.
from @mattsse in https://github.com/foundry-rs/foundry/pull/2217#issuecomment-1175354247

we'd need to do Value -> Abi types anyway, I guess

That's a good note @mds1.
I used the crate mentioned by @onbjerg and it seems to be working well. I want to see how to deal with abi encoding complex structures e.g an array of arrays.
Had some personal matters, but should resume dev from tomorrow.

I think that this would be very useful for parsing addresses out of deployment artifacts for chainops. A network could be configured and then the corresponding addresses could be read from json files and then pulled into a script. This is one of the nicer features of hardhat scripts.

As part of this workstream, I consider the ability to write JSON files as well.
I am considering the following API:

Define struct  or a single value to write
Define a string[] array that will define the keys of the values
Pass both of them to vm.writeJson()
writeJson should take a boolean on whether to append or overwrite if filename/path already exists

Thoughts?

So keys would be something like [".foo.bar"] and values would be ["baz"], resulting in { foo: { bar: "baz" } }? Seems ok, but not entirely sure how that would work w/ things like arrays and numbers?

@onbjerg you are right. It wouldn't work for arbitrary objects and paths, only if you want to add a value at the top level of the json object.
Another idea is the following:

Append to existing json object

read object with vm.readFile and vm.parseJson into a struct
modify struct
Define string[] array of key names, ordered the same way as the values are ordered in the struct
Define string[] array of types, ordered the same way as the values are ordered in the struct

Write new json object

Same as above, without first reading a json file into the struct

Example:
struct StoreToJson{
	  address receiver;
	  uint256 amount;
	  Transaction transaction; // transaction object from a forge script deployment
}

struct Transaction {
	string sender;
	uint256 nonce;
}

string[] memory keys = [ "receiver", "amount", "passphrase"];
string[] memory types = [ "address", "uint256", "tuple(\"string\", \"uint256\")" ];

vm.writeJson(abi.encode(StoreToJson), keys, types);

I don't love it, but I can't think of something better

@onbjerg you are right. It wouldn't work for arbitrary objects and paths, only if you want to add a value at the top level of the json object.
Another idea is the following:

Append to existing json object

read object with vm.readFile and vm.parseJson into a struct
modify struct
Define string[] array of key names, ordered the same way as the values are ordered in the struct
Define string[] array of types, ordered the same way as the values are ordered in the struct

Write new json object

Same as above, without first reading a json file into the struct

Example:
struct StoreToJson{
	  address receiver;
	  uint256 amount;
	  Transaction transaction; // transaction object from a forge script deployment
}

struct Transaction {
	string sender;
	uint256 nonce;
}

string[] memory keys = [ "receiver", "amount", "passphrase"];
string[] memory types = [ "address", "uint256", "tuple(\"string\", \"uint256\")" ];

vm.writeJson(abi.encode(StoreToJson), keys, types);

I don't love it, but I can't think of something better

the core problem is that we need to find a way to map fields to (name+type), there's no way around this.
one way to solve this would be with helper methods, for example:

then you'd need one function per type:
function serialize(MyStruct m, Serializer s) returns bytes {
  SerliazeMap map = s.serialize_map();

  map.serialize_entry("value", m.value);
  ...

  return map.end()
}

with a custom json serializer we can then simplify this to
function toJson(MyStruct m) {
   return serialize(m, cheats.jsonSerializer());
}

where jsonSerializer returns a cheat code contract that has bindings for all the serializer calls and creates the JSON object

Last week was quite eventful. @mattsse thanks for the spec. I will riff on that in code and report back.

I recently wrote a small Solidity library (quabi) using jq with vm.ffi to parse specific data from contract ABI files. I think the approach here is superior. However, additional helper functions in forge-std to abstract common parses such as the transaction data or, for example, lists of function selectors from a contract ABI.


cannot create vmnet interface: general failure (possibly not enough privileges)

Describe the issue
When changing shared guest network an error pops up. :
QEMU error: QEMU exited from an error: qemu-aarch64-softmmu: -netdev vmnet-shared,id=net0,start-address=<IP_ADDRESS>,end-address=<IP_ADDRESS>,subnet-mask=<IP_ADDRESS>: cannot create vmnet interface: general failure (possibly not enough privileges)

Configuration

UTM Version: 4.4.5
macOS Version: Sonoma 14.4.1
Mac Chip (Intel, M1, ...): M2 Pro

Crash log
No crash log
Debug log
Export Debug Log is greyed out, I think it never reaches this point, it crashes immediately after pressing start.
Upload VM
config.plist.zip

Duplicate of #4324

I think this is a macos bug and you have to just reboot.

I think this is a macos bug and you have to just reboot.

I can confirm rebooting does NOT fix the issue.

start-address=<IP_ADDRESS>,end-address=<IP_ADDRESS>,subnet-mask=<IP_ADDRESS>
Oh this is probably not a valid subnet. Remove those settings.

start-address=<IP_ADDRESS>,end-address=<IP_ADDRESS>,subnet-mask=<IP_ADDRESS>
Oh this is probably not a valid subnet. Remove those settings.

this is a perfectly valid subnet: <IP_ADDRESS>/24, start address the .10, end address the .100 (dhcp range) and subnetmask is the /24 from the network address.


DOC, BUG: doc build failure due to scipy.misc changes

On the rebased version of gh-21982 a clean doc build from source (i.e., time python dev.py doc -j 1) errors out due to the 11 scipy.misc warnings shown below the fold, presumably due to the removal of its internal objects. If there's a straightforward patch I may apply it directly in the cross-referenced release notes PR.

/Users/treddy/github_projects/scipy/doc/source/reference/main_namespace.rst:40: WARNING: py:obj reference target not found: misc
/Users/treddy/github_projects/scipy/doc/source/release/0.14.0-notes.rst:354: WARNING: py:obj reference target not found: scipy.misc
/Users/treddy/github_projects/scipy/doc/source/release/0.17.0-notes.rst:234: WARNING: py:obj reference target not found: scipy.misc
/Users/treddy/github_projects/scipy/doc/source/release/0.8.0-notes.rst:60: WARNING: py:obj reference target not found: scipy.misc
/Users/treddy/github_projects/scipy/doc/source/release/1.0.0-notes.rst:294: WARNING: py:obj reference target not found: scipy.misc
/Users/treddy/github_projects/scipy/doc/source/release/1.1.0-notes.rst:52: WARNING: py:obj reference target not found: scipy.misc
/Users/treddy/github_projects/scipy/doc/source/release/1.1.0-notes.rst:52: WARNING: py:obj reference target not found: scipy.misc
/Users/treddy/github_projects/scipy/doc/source/release/1.10.0-notes.rst:27: WARNING: py:obj reference target not found: scipy.misc
/Users/treddy/github_projects/scipy/doc/source/release/1.10.0-notes.rst:43: WARNING: py:obj reference target not found: scipy.misc
/Users/treddy/github_projects/scipy/doc/source/release/1.10.0-notes.rst:43: WARNING: py:obj reference target not found: scipy.misc
/Users/treddy/github_projects/scipy/doc/source/release/1.10.0-notes.rst:317: WARNING: py:obj reference target not found: scipy.misc

The most likely course of action that I think I'll follow is to suppress that warning that is coming from older versions of the releases notes.
An example of how one of those warning-related lines renders locally is below, it seems fine to me but perhaps we may want to i.e., switch from single to double backticks for forward-support, but I dunno, suppression is probably the right call for now so I'm not doing visual inspections on N different mutated versions of the relnotes.

The most likely course of action that I think I'll follow is to suppress that warning that is coming from older versions of the releases notes.
An example of how one of those warning-related lines renders locally is below, it seems fine to me but perhaps we may want to i.e., switch from single to double backticks for forward-support, but I dunno, suppression is probably the right call for now so I'm not doing visual inspections on N different mutated versions of the relnotes.

In theory, the release notes link could point to a still-alive version of the module docs from the previous release time point but I'll get a headache thinking about that...

Sample patch that does the trick (we can always backport something else later if we prefer):
--- a/doc/source/conf.py
+++ b/doc/source/conf.py
@@ -182,6 +182,14 @@ warnings.filterwarnings(
     message=r'There is no current event loop',
     category=DeprecationWarning,
 )
+
+# see: https://github.com/scipy/scipy/issues/22020
+warnings.filterwarnings(
+    'ignore',
+    message=r'.*py:obj reference target not found: scipy.misc.*',
+    category=Warning,
+)
+