Add a IREE_ENABLE_CCACHE build option. OFF by default.

If enabled, this will try to detect ccache, and if found, CMake will
be told to use it. No-op if ccache is not found.

Hey digging this old thing up. I'm looking to use sccache in the CI (https://github.com/mozilla/sccache). Couple questions:

Why did you make this noop if ccache isn't found? I think if the user specifically added a setting requesting ccache, it would make sense to use it. Another option would be to have an "auto" mode that uses ccache iff it's on the path.
Why RULE_LAUNCH_COMPILE instead of CMAKE_<LANG>_COMPILER_LAUNCHER? Seems like the latter is preferred: https://cmake.org/cmake/help/latest/prop_gbl/RULE_LAUNCH_COMPILE.html
Why does this exist at all? Unless we're doing something fancy like enabling it automatically, I don't think there's much benefit in making this a project-specific setting. Users already have the builtin variables they can use. I guess this was because it RULE_LAUNCH_COMPILE is a property and so users couldn't set it?

So, proposals:

Remove this. Let users use the built-in commands
Add something that uses ccache or sccache if it finds one on the path. Requires that we set some prioritization between those. Maybe put this behind a variable IREE_DETECT_COMPILER_LAUNCHER. Default on unless a CMAKE_<LANG>_COMPILER_LAUNCHER variable is set.
Since this is a C and C++ project and most compiler launchers do both, we could create IREE_COMPILER_LAUNCHER. Default auto (detect), otherwise set CMAKE_C_COMPILER_LAUNCHER and CMAKE_CXX_COMPILER_LAUNCHER to that value. This seems like a lot of magic to avoid someone having to pass an extra arg in their configure command though. I think cmake presets are a better solution for this.

Re questions:

I don't remember, sorry. I agree with you that explicit failure is probably best here.
I also don't remember the details. Probably I played a bit with both and settled with the first thing that seemed to work without properly exploring all ramifications.
I think I agree, now. There are many ways that ccache can be enabled and as you say, some don't require any custom logic in our CMakeLists, and it's neater indeed to be able to keep that strictly a user-side setting.

Re proposals +1 to everything you deem best. Thanks for caring about this issue, you know much more than me at this point!

Sounds good, thanks :-) Just wanted to make sure I wasn't missing some background here

Oh even better CMAKE_<LANG>_COMPILER_LAUNCHER can be set from environment variables, so there's no need to add it to the configure line. I think we should drop this option and just use that

Because I work across projects a lot, I end up using these env vars (or setting explicitly on the configure line) a lot. The only time I use the project specific ones are even I can't remember to spell the right one ;)


Updating the closing date of an event does not work

I wanted to update the closing date of some event and it seems that it does not work.
We should check that since it is used by the daemon to start the useful dispatchers.

Solved the issue


[question]: Why would tags not be generated?

We have been using changesets to manage svelte-kit's versioning but we have noticed that no tags are being generated/ pushed in the repo itself (things are being tagged in npm). We also have this issue in one or two other repos.
We are currently using pre-release mode.
Do you know why tags would not get generated? This is preventing the github action from generating github 'releases' as well.

Well, you don't call to changeset when publishing:
https://github.com/sveltejs/kit/blob/d0a701904869ababb11c559bd033ecd2599c4af4/.github/workflows/release.yml#L31-L32
and our GitHub action relies on the stdout for tagging and creating releases

Yup, I totally missed that.
Apologies and thanks for the response!


[WIP - DO NOT MERGE] More updates for keeping a side map for types in the constraint solver

More updates for the expression type map in the constraint solver.

@swift-ci Please smoke test

@swift-ci Please smoke test

@swift-ci Please smoke test


Question: How do I reset the image urls after I update the docker image?

How do I update the image urls from mongo db? When I update my meanjs image the urls are no longer valid. The mongo image never gets killed so the data is the same.

@GeorgeW Can you provide specific examples? I'm not quite following what your issue is.

What does "update my meanjs image" mean?
What is "no longer valid"?
What do you mean by "mongo image never gets killed"?


Add Prettier Badge

Hey @prashant-andani I appreciate you taking the time to pull request this!
I think I'd rather not add this badge because I try to restrict the badges to just the most useful ones. Downloads for a sense of dependents, file size for impact on bundles, current version for informative purposes, and the CI build to make sure it stays green.
I might even remove the license one since GitHub already does that well. 🤔


Hungary: removed double holiday Dec 31

Coverage remained the same at 100.0% when pulling 003685b53e54192fc2e21d1b3a25a5205a936eb8 on KJhellico:upd-hungary into 755401177bcb6bc3d0b80469ddaebbdd017fa147 on dr-prodigy:beta.


fix: eth_call Erroring when being called by parent contract

Bug Report
Currently eth_call endpoint is returning an error when being called by another from another contract
Kakarot RPC version:

Current behavior:

Expected behavior:

Steps to reproduce:

Related code:

Contract being tested
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.6;

contract Counter {
    uint256 private count = 0;

    function increment() public {
        count += 1;
    }

    function getCount() public view returns (uint256) {
        return count;
    }
}

contract Caller {
    Counter private counter;

    constructor(address _counterAddress) {
        counter = Counter(_counterAddress);
    }

    function callIncrement() public {
        counter.increment();
    }

    function getCounter() public view returns (uint256) {
        return counter.getCount();
    }
}

Other information:

What is the status of this @danilowhk ?
Is this directly linked with https://github.com/kkrt-labs/kakarot/issues/617 ?
Where in the kakarot main SC code can we see that subcalls use get_call_address()?

Doesnt seem related as the error messages are different.
And from what was tested with @ClementWalter , it seems the issue is on the RPC as when trying to do subcalls directly from python script, the tests passed (even against Madara)

Doesnt seem related as the error messages are different.
And from what was tested with @ClementWalter , it seems the issue is on the RPC as when trying to do subcalls directly from python script, the tests passed (even against Madara)

When you say subcalls directly from python scripts, do you mean subcalls, in the context of a "view" call (not invoke) cross contract, on Madara?

It seems the script is calling as "view":
https://github.com/kkrt-labs/kakarot/blob/baa08057bf24c533748883fe2551a148d6cfcba3/scripts/utils/kakarot.py#L128
This is the code for the script:

os.environ["STARKNET_NETWORK"] = "madara"
from scripts.utils.kakarot import *

counter = await deploy("PlainOpcodes", "Counter")
plain_opcodes = await deploy("PlainOpcodes", "PlainOpcodes", counter.address)

assert await plain_opcodes.opcodeStaticCall() == await counter.count()
await plain_opcodes.opcodeCall()
await counter.count()
await plain_opcodes.opcodeStaticCall()```

And this is the ABI for the function "opcodeStaticCall" is:

```  {
    "inputs": [],
    "name": "opcodeStaticCall",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },```

Is this is still an ongoing issue?
Is this linked with get_caller issue?

It seems this is not an issue when calling using directly with forge:
The test for this is the
uint256 counter_value = plainOpcodes.opcodeStaticCall();
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.13;

import "forge-std/Script.sol";
import "kakarot/PlainOpcodes/Counter.sol";
import "kakarot/PlainOpcodes/PlainOpcodes.sol";

contract PlainOpcodesScript is Script {
    Counter public counter;
    PlainOpcodes public plainOpcodes;

    function run() external {
        uint256 deployerPrivateKey = vm.envUint("EVM_PRIVATE_KEY");
        vm.startBroadcast(deployerPrivateKey);

        counter = new Counter();
        plainOpcodes = new PlainOpcodes(address(counter));

        counter.inc();
        plainOpcodes.opcodeCall();
        plainOpcodes.opcodeCall();
        plainOpcodes.opcodeCall();

        uint256 counter_value = plainOpcodes.opcodeStaticCall();
        address sender_address = counter.getCallerAddress();

        console.logAddress(sender_address);
        console.logUint(counter_value);
        require(counter_value == 4, "Counter should be 4");

        vm.stopBroadcast();
    }
}

I don't understand the issue, I have no pb running the proposed script (in katana), see

@ClementWalter @danilowhk  what is the status of this

Will try again, as get_caller / origin PR was merged

What is the status of this?:)

Closing as subcalls now work properly


Scale matrices cause lighting deformations

Issue
When an entity gets attached a Scale different than Scale 1 1 1, lighting gets deformed.
How to reproduce
Using a Scale 10 10 10 on a plane 1x1 to make it bigger causes light diffusion to darken. The more the scale is, the more the light darkens.
Directions and leads
No–fucking–idea. Normals are correctly transformed using the transposed inverse of the model matrix.

Leads
Just a thought… Maybe we should try to normalize the normal after the normal matrix multiplication.


Favorite tags

Should be possible to set a tag as favorite.
Favorite tags must be represented in linear tags selector before any other tags.
Favorite tags must be ordered by popularity, the same as  other groups of tags.

Duplicate of #5


CVE-2023-45288 golang.org/x/net/http2

Security vulnerabilities on golang.org/x/net/http2 v0.17.0
Which have been fixed on fixed in 0.23.0.
Can this package be upgraded?

Helm does not currently use this dependency. You can see that by viewing the go.mod and go.sum files.

golang.org/x/net is being pulled here I guess.
golang.org/x/net v0.17.0 // indirect
https://github.com/helm/helm/blob/main/go.mod#L150


Allow to skip live songs

I like this extension!
added ability to skip live songs + changed the way skip options are defined

Wow! Nice improvements.
Thanks for the contribution.


Restore tasks when lifecycle start

Description
Move the task restore logic to lifecycle start method in KubernetesTaskRunner, this is also align with what other remote task runners do.
Release note
Change to restore tasks when lifecycle start

Key changed/added classes in this PR

In KubernetesTaskRunner move the tasks restoration logic from restore to start method.

This PR has:

[x] been self-reviewed.

[ ] using the concurrency checklist (Remove this item if the PR doesn't have any relation to concurrency.)

[ ] added documentation for new or modified features or behaviors.
[ ] a release note entry in the PR description.
[ ] added Javadocs for most classes and all non-trivial methods. Linked related entities via Javadoc links.
[ ] added or updated version, license, or notice information in licenses.yaml
[ ] added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader.
[ ] added unit tests or modified existing tests to cover new code paths, ensuring the threshold for code coverage is met.
[ ] added integration tests.
[x] been tested in a test Druid cluster.

@gianm I'm going to merge this change since it is in a contrib extension and makes things more stable. We will address the comment about explaining why joinAsync is ok in the start method in a future patch once some more testing is done.


Calculate rainfall accumulation from ensemble forecasts

Add scripts to

interpolate each ensemble member to 1min timestep using optical flow and calculate 5min accumulation from the interpolated ensemble members
calculate 1h accumulations (along with nodata/undetect) files at even hours and n * 60min from forecast time

Since the ensemble forecast is running in production, I'm going to merge this to development now.


Add apiToken declaration thing to adapt Oki's latest new stuff

Hey there, do you have an English translation of what you put about the ApiToken thing? And if so, could you commit those changes to the English file on this pull request as well? That way we keep them nice and in-sync.
Otherwise, if I were to write something in the English file, it likely would not match very well with what you wrote here.

Hey there, do you have an English translation of what you put about the ApiToken thing? And if so, could you commit those changes to the English file on this pull request as well? That way we keep them nice and in-sync.
Otherwise, if I were to write something in the English file, it likely would not match very well with what you wrote here.

I would add a English modify as well in this PR, please hold on.

It's finished atm
And if more English original file is adjusted I will open another's one as well.


[ENH] - Run conda info and mamba info before solve

Feature description
We need more info within the build process to help debug issues. We need to excessively print information when building environments.
Value and/or benefit
Helps debugging.
Anything else?
No response

Also add
conda config --show-sources

Status update: opened a PR that fixes this, see #693


fix: mpr2d vtkjs viewport does not render if range is set to NaN values

fixes: https://github.com/OHIF/Viewers/issues/1140
For our example study, the windowWidth and windowRange were undefined. This had us calling:
    volumeActor
      .getProperty()
      .getRGBTransferFunction(0)
      .setRange(lower, upper);

With a NaN lower and upper bounds.
VTK does not throw or warn, and subsequent calls to update the range do not fix the issue. The only way to mitigate is to make sure we only set valid values.
We currently set the range for the RGBTransferFunction in two places in the extension's code:

vtk/src/commandsModule.js
vtk/src/OHIFVTKViewport.js

As a follow-up PR, to make things a bit more resilient, we could:

Move setVoi in vtk/src/commandsModule.js to the PublicAPI of our react-vtkjs-viewport

This would become the API for updating a viewer components window levels

Display value, and RGBTransferFunction

OR

Create a context for viewport levels in @ohif/viewer
Update the context to set level values on the viewport
Have the viewport implement the RGBTransferFunction logic

Up for discussion, but I didn't want to blaze a trail without discussion. We haven't landed on the best way to surface API just yet.

CC: @pieper for awarness

Here's a test volume: https://deploy-preview-1157--ohif.netlify.com/pwa/viewer/61.7.102432584850582937613178565576727689438

Move setVoi in vtk/src/commandsModule.js to the PublicAPI of our react-vtkjs-viewport

I'm happy to do this, but we need to make sure we only call it once and not once per API, as the volume is accessed via the API, and the rgbTransferFunction set for the volume, which is a bit hairy, but still makes sense.
We'll have to keep track of what volumes we feed to each viewport if/when we get to displaying multiple different vtk volumes in multiple viewport simultaneously. As then we would have to potentially sync them differently.


Not enough vertical space in BBT Preferences window

Debug log ID
IFR8YMET-euc/6.7.150-6
What happened?
Problem
There isn't enough vertical space in the BBT preferences window, as shown in the following screenshot, and it is impossible to scroll down.

Reproducible steps

Open Zotero.
Edit → Preferences → Advanced → Language → Français.
Restart now.
Outils → Better BibTeX → Ouvrir les préférences de Better BibTeX...
Look at the first tab (“Clés de citations”).

Issue fixed, thanks!


Data retrieval approach

As part of this project, we need to retrieve and store/process a bunch of data. We don't want to check all that data into the repository, but we also need to support data that can't be downloaded in an automated way (or at least that I can't work out how to download automatically).
Some options I see:

download with pooch (breaks if data can't be downloaded automatically, but perfect for everything else)
only include instructions for how to get raw data but provide no automated methods for it anywhere (and probably keep a list somewhere of things that need to be downloaded by hand before getting started, obviously not ideal)
include raw data using e.g. datalad or similar/better (could be perfect for data we can't download by hand but don't want to be accused of 'distributing')
include raw data by storing it somewhere and then pulling it (as above, just maybe having to roll more stuff ourselves)
include raw data in repo (not an option except for very small hacks like the CSIRO data I've put in here for now just to make CI run, I will remove that at some point)

Temporary decision: use pooch as I know how it works and we will include the raw data in our output bundles anyway so we have a guard against losing it completely.
In discussions with others, can then switch to better approach (probably datalad) later in the project if we wish.


PURCHASE-1249 Inject safe area insets into artwork page

Hellooo :wave:
While working on the fullscreen image carousel for the new artwork page I encountered a problem. I was creating a 'zoom' shared-element transition between the in-page artwork carousel image and the version of the same image in the fullscreen modal. In order to do that you need to measure the images both on the page and in the fullscreen modal and calculate the difference between their bounding boxes (both size and position). I discovered that the bounding box for the full screen version was 20px offset from the version on the page, and that immediately told me that this was some kind of status bar issue :)
So it seems like that RN measure bounding box positions are not relative to the screen, but relative to the parent UIView, and that RN modals are implemented as separate UIViews which occupy the whole screen. Meanwhile, before this PR, emission's example app was embedding the RN root view inside a different 'nav' UIView which was constrained to avoid the status bar.
So the solution I came up with is to let the artwork page occupy the whole screen and do it's own status-bar-avoiding in RN by injecting the safeAreaInsets.
The City Guide map view controller was already getting safeAreaInsets injected so I just moved that logic up to the ARComponentViewController and put it behind an opt-in flag.
I also needed to remove the status bar offset in the Example app navigation view, so that these changes are visible in emission and not just eigen. I toyed with adding it back in at a place where it wouldn't affect the RN views, but because the menu items are already taking safeAreaInsets into account it actually doesn't make any usability difference as far as I can tell. 🤷♂

Fails

:no_entry_sign:
No CHANGELOG added.

:no_entry_sign:
Missing Test Files:

src/lib/Scenes/Map/__tests__/MapContainer-tests.tsx
src/lib/Scenes/Map/__tests__/MapRenderer-tests.tsx
src/lib/types/__tests__/SafeAreaInsets-tests.ts

If these files are supposed to not exist, please update your PR body to include "#skip_new_tests".

  Generated by :no_entry_sign: dangerJS


How to enable the smart option from Commonmark?

Hey, I'd like to get "smart" quotes and em-dashes automatically, like Commonmark allows when the smart option is enabled. How can I do that?

Shouldn't be hard to add, but if this is intended for use within react-markdown, I'd rather not add it as I am experimenting with replacing the parser with something that doesn't use commonmark...
Sorry about that.

I need this as well. Is the experimentation fase over and can we add it please?

There's an undocumented, hidden prop called parserOptions.
var source = '"Aye, smart? -- for sure!"'
<Markdown
  source={source}
  parserOptions={{smart: true}}
/>

// “Aye, smart? – for sure!”

I'm in the process of "forking" this module and creating react-commonmark, which will have this as a defined and documented feature, while react-markdown will change to a markdown parser and will not have this smart-feature in the future.

I think that you're confusing commonmark-react-renderer with react-commonmark (or I am 😅). But because of your example code I've found out that it's already possible, because I've got access to the actual commonmark-parser:
const parser = new CommonMark.Parser({smart: true});
const renderer = new ReactRenderer({...})

Thanks, this is solved for me! 🎉


Please update to Xcode 7.3 or later

Hi, I am getting this error using
Xcode Archive & Export for iOS
Version: 4.5.2
Xcode 13.2.x
Any ideas?
Checking development provisioning profiles
Using certificate for development distribution: Apple Development: XXX (XXX)
Checking bundle id: com.XXX
capabilities:
Exporting outputs...
failed to manage code signing: failed to ensure profiles: failed to find profile: failed to query Developer Portal: Apple provided the following error info:
Please update to Xcode 7.3 or later to continue developing with your Apple ID., stacktrace: /Users/[REDACTED]/.rbenv/versions/2.6.9/lib/ruby/gems/2.6.0/gems/fastlane-2.193.1/spaceship/lib/spaceship/client.rb:763:in parse_response' /Users/[REDACTED]/.rbenv/versions/2.6.9/lib/ruby/gems/2.6.0/gems/fastlane-2.193.1/spaceship/lib/spaceship/portal/portal_client.rb:669:in provisioning_profiles_via_xcode_api'
/Users/[REDACTED]/.rbenv/versions/2.6.9/lib/ruby/gems/2.6.0/gems/fastlane-2.193.1/spaceship/lib/spaceship/portal/provisioning_profile.rb:319:in all' /private/var/folders/jw/g2nxpyn956dffdjs0vn8h9nm0000gn/T/1423197095/profiles.rb:21:in list_profiles'
main.rb:46:in `'

Hi @alexandreaugus, yesterday i had same issue, Xcode step v4.5, Xcode 13.1, this solution helped me https://github.com/bitrise-steplib/steps-xcode-archive/issues/287#issuecomment-1075212701


About lengths.json

How to calculate the 'number of samples'?

Hey @EricStuart! I use this piece of code to do that ;3
from soundfile import SoundFile

sound_file = SoundFile(your_wav_file_path)
sample_number = sound_file.frames

sound_file.close()

To install soundfile it just do: pip install soundfile

thanks！


Whitelist does not work if user is already banned

If the user was banned by the bot, and I use /w in response, the user is added to whitelist successfully, but it's still banned

@SteelManITA The whitelist doesn't have that function. The whitelist only works in relation to the blacklist not all bot functions.

Yes, but if I add user to the whitelist, I want to remove him from the blacklist, and nebula doesn't

ok the problem will be corrected


Refactor

Description
Provide a brief description of the PR's purpose here.
Todos

[x] debug in lilac environment with a real system
[x] add some executable tests
[x] add some util tests

Status

[x] Ready to go

need to move data from 'nn_endstates' in the future and add appropriate conda envs


[forward port 2.x] Add WITH syntax to SHOW TAG KEYS

Port the fix to #15993 to the master branch. Ensure that this functionality remains disabled until it is implemented on cloud as well. Helps with https://github.com/influxdata/influxdb/issues/22385

https://github.com/influxdata/influxdb/pull/22500 ports the changes to the files in /tsdb (tsdb/index.go, tsdb/shard.go, tsdb/store.go, & tsdb/store_internal_test.go) and bumps the InfluxQL version which contains the necessary influxql.PartitionExpr methods that are used in the updated /tsdb files.
In order to fully implement this feature, the remaining changes in /query would need to be ported for the statement rewriter.


[Enhancement] Post Token Callback

I've come across a scenario in which I would like to add additional information to the created token. I see there is a jwt callback, but I don't want to re-implement the cookie logic. It would be great if there was a callback that could manipulate the token just before it is saved to the cookie.
Something like this

Thoughts?

Hmm. If I'm understanding what you want correctly, the JWT callback is the one you want. It's called JWT, but really what you're being given is the data in the JWT (see ./src/auth.ts) which you can change as you wish. It's a plain old JavaScript object that you can also modify the types of if you need to.


Fix indexOf method

There is currently a method called indexOf that lives in /lib/indexOf.js.
It is incomplete and needs to be fixed!
Acceptance Criteria:

Running yarn test indexOf results in tests passing.
You have written a skeleton method for someone else to work on.
You have written tests surrounding your skeleton method.
Running yarn lint does not print any errors to the console!

Please include the skeleton of a new method + an accompanying test for someone else to work on at the time of creating a pull request! A pull request will most likely be denied if it does not contain a skeleton method for someone else to work on! For more information, please read the Contributing Guide.
Thank you so much for your contribution!

@BlakeGuilloud I would like to work on this.

Thanks for fixing this! :)


:ReactAndroid:downloadBoost FAILED  ....WTF! Chinese GFW !

Is this a bug report?
(write your answer here)

Have you read the Contributing Guidelines?
(Write your answer here.)
Environment

Steps to Reproduce

(Write your steps here:)

Expected Behavior

(Write what you thought would happen.)
Actual Behavior

(Write what happened. Add screenshots!)
Reproducible Demo

(Paste the link to an example project and exact instructions to reproduce the issue.)

You should be awarded for the most interesting bug report title. Are you trying to say downloadBoost task fails because it gets blocked because of firewall in China?

@hey99xx  yes,downloadBoost task fails .

Failed to successfully download 'boost_1_63_0.tar.gz'.   Me too

me too


"across" misspelled as "accross"

On the Lnd Syncing page, the word "across" is misspelled as "accross." To fix this, one can edit the text on the following line.

nice catch 👍


Proposal: support application-level transaction signing

Overview
An (informal) proposal to support signing of arbitrary — or customizable — messages in addition to Tendermint votes and proposals, such as application-level transactions from Tendermint ABCI apps, such as Cosmos or Kosu.
Motivation
We recently added remote signing support to our ABCI application, however, we will be unable to use such a configuration in production settings due the lack of available remote signers that support application-level transaction signing.
Of course this is no ones fault but our own for designing such an application, so I don't mean for this issue to imply such a feature is necessarily desirable in tmkms.
Our application logic requires validators to submit attestation transactions signed with their validating key pair, which is currently trivial when validators use FilePV and store they keys locally, but becomes impossible with a remote signer and the current tmkms implementation.
I expect supporting transaction signing within tmkms would ultimately mean supporting the signing of arbitrary data (to some degree), which may not be desirable. In such a case, additional configuration could be provided to restrict signing to certain message types, however I'm not familiar enough with the current implementation details to know if this is reasonable or possible (eg. via protobuf or similar).
Zaki says that @althea-net has a rust transaction signer which may be helpful, but I'm not sure where.
Note
Me and my team would love to assist with an implementation, but unfortunately none of us know rust.
We would be willing and able (and excited to) contribute to any specification, or implement any necessary updates in relevant Go packages (such as tendermint/privval).

@hrharder what's the domain separation story around what you want to sign with the validator key? So long as messages are sufficiently domain separated, I think this is fine to support

@tarcieri I'll try to answer your question, but I may be misunderstanding, so please clarify if the below doesn't answer.
Our ABCI application implements a simple one-way "peg-zone" (as described here) between an Ethereum contract system that supports management logic for the Tendermint-based network.
In order to make such a scheme possible, active validators must sign application-level attestation messages over state changes to the contract system (via Ethereum event logs). This is implemented as a subprocess (we call the Witness) that runs "outside" the core ABCI state machine logic and maintains an Ethereum JSONRPC connection, and solely functions to submit signed attestations transactions to a validators mempool when relevant state changes occur. Happy to go into more details about this, but I don't think it is relevant.
So yes –– the messages should be sufficiently domain separated, if I am correctly interpreting that to mean a sufficient separation between application logic, and lower-level Tendermint consensus messages. Let me know if this is not what you mean.

When I say "domain separation", I mean specifically that you are using a single signing key for two applications: as the validator consensus key, and your application-level consensus messages.
Domain separation ensures that an application-level signer can't forge consensus messages.

Gotcha – so do I take that to mean it would generally be ill-advised to do what we are doing? Using the same key for application-level and consensus messages?
The logic there was to ensure accountability of validators in submitting the application-level messages, and to easily verify the recovered signatures of the attestations messages agains the active TM validator set.

I have a hard time visualizing a way in which a byzantine validator even in such a construct would be able to forge consensus messages, at least in a way they couldn't already do by messing with the internals of Tendermint, but I don't doubt I'm missing something.

We'll be posting a design for this issue soon. We'd like to support these kinds of use cases and will be exploring various options which prevent the KMS from acting like an unvalidated signing oracle but can support application-specific logic.

I've opened an issue with a more concrete design in #386. Let me know if that would meet your needs for this particular proposal.

@tarcieri great, thanks so much! We'll take a look over the next few days, but at first glance this seems like it would fit our use case.
Thank's for taking the initiative!

Closed in favor of #386


Update README.md to reflect VM/k8s deployments

#175080285
Thanks for contributing to cloud_controller_ng. To speed up the process of reviewing your pull request please provide us with:

A short explanation of the proposed change:

An explanation of the use cases your change solves

Links to any other associated PRs

[x] I have reviewed the contributing guide

[x] I have viewed, signed, and submitted the Contributor License Agreement

[x] I have made this pull request to the master branch

[x] I have run all the unit tests using bundle exec rake

[x] I have run CF Acceptance Tests

Thank you for your reviews, @tcdowney and @cwlbraa. I incorporated your suggestions, so I'll go ahead and merge this and delivery the story.


mxnetR parameter setting

Hi All
i am current working on an image classification project by using mxnetR, i faced one question about setting  paramters for this package, especially for the function mx.model.FeedForward.create(). i read couple instructions from different sources.  for parameters wd and initializer in this function, i want to know how to set up these two parameters, what part of the network these two parameter control?
running results for 8 rounds for the following R script
Start training with 1 devices
[1] Train-accuracy=0.19530612244898
[2] Train-accuracy=0.1938
[3] Train-accuracy=0.1948
[4] Train-accuracy=0.1916
[5] Train-accuracy=0.1916
[6] Train-accuracy=0.1916
[7] Train-accuracy=0.1916
[8] Train-accuracy=0.1916
here you are my script (i use the CIFAR-10 pictures as a pilot to set up alexnet, alexnet script was copied from this website)

library(mxnet)
library(imager)
Lists <- read.table("trainLabels.csv", header = TRUE, sep=",")
Cat <- Lists[(Lists$label == "cat"),]
Dog <- Lists[(Lists$label == "dog"),]
Bird <- Lists[(Lists$label == "bird"),]
Deer <- Lists[(Lists$label == "deer"),]
Horse <- Lists[(Lists$label == "horse"),]
files <- list.files("./train/")
a <- array(0, c(32,32,3,5000))
train.y <- c()
for (i in 1:1000) {
filename <- paste("",Cat$id[i],".png", sep="")
if (length(intersect(filename, files)) == 1) {path <- paste("./train/",filename,"", sep="")
test <- load.image(path)
a[1:32,1:32,1,(5_(i-1)+1)] <- R(test)
a[1:32,1:32,2,(5_(i-1)+1)] <- G(test)
a[1:32,1:32,3,(5_(i-1)+1)] <- B(test)
train.y[(5_(i-1)+1)] <- 1
}
filename <- paste("",Dog$id[i],".png", sep="")
if (length(intersect(filename, files)) == 1) {path <- paste("./train/",filename,"", sep="")
test <- load.image(path)
a[1:32,1:32,1,(5_(i-1)+2)] <- R(test)
a[1:32,1:32,2,(5_(i-1)+2)] <- G(test)
a[1:32,1:32,3,(5_(i-1)+2)] <- B(test)
train.y[(5_(i-1)+2)] <- 2
}
filename <- paste("",Bird$id[i],".png", sep="")
if (length(intersect(filename, files)) == 1) {path <- paste("./train/",filename,"", sep="")
test <- load.image(path)
a[1:32,1:32,1,(5_(i-1)+3)] <- R(test)
a[1:32,1:32,2,(5_(i-1)+3)] <- G(test)
a[1:32,1:32,3,(5_(i-1)+3)] <- B(test)
train.y[(5_(i-1)+3)] <- 3
}
filename <- paste("",Deer$id[i],".png", sep="")
if (length(intersect(filename, files)) == 1) {path <- paste("./train/",filename,"", sep="")
test <- load.image(path)
a[1:32,1:32,1,(5_(i-1)+4)] <- R(test)
a[1:32,1:32,2,(5_(i-1)+4)] <- G(test)
a[1:32,1:32,3,(5_(i-1)+4)] <- B(test)
train.y[(5_(i-1)+4)] <- 4
}
filename <- paste("",Horse$id[i],".png", sep="")
if (length(intersect(filename, files)) == 1) {path <- paste("./train/",filename,"", sep="")
test <- load.image(path)
a[1:32,1:32,1,(5_(i-1)+5)] <- R(test)
a[1:32,1:32,2,(5_(i-1)+5)] <- G(test)
a[1:32,1:32,3,(5_(i-1)+5)] <- B(test)
train.y[(5_(i-1)+5)] <- 5
}
}
train.array <- round(a, 2)
rm(a)
- Define deep learning network, act_type can be relu, sigmoid, softrelu and tanh
input_data <- mx.symbol.Variable(name = "data")
- stage 1
conv1 <- mx.symbol.Convolution(data = input_data, kernel = c(8, 8), stride = c(2, 2), num_filter = 96)
relu1 <- mx.symbol.Activation(data = conv1, act_type = "relu")
- next layer data size calculation method, W pre-layer data size, here w = 32,
- F kernel size, here F = 8, S stride step size, here S = 2, P zero-padding parameter, here P = 0
- after stage 1, the data size is (32-8+2*0)/2 + 1 = 13
pool1 <- mx.symbol.Pooling(data = relu1, pool_type = "max", kernel = c(3, 3))
- next layer data size: (13-3+2*0)/1 + 1 = 11
lrn1 <- mx.symbol.LRN(data = pool1, alpha = 0.0001, beta = 0.75, knorm = 1, nsize = 5)
- stage 2
conv2 <- mx.symbol.Convolution(data = lrn1, kernel = c(5, 5), pad = c(1, 1), num_filter = 96)
relu2 <- mx.symbol.Activation(data = conv2, act_type = "relu")
- next layer data size: (11-5+2*1)/1 + 1 = 9
pool2 <- mx.symbol.Pooling(data = relu2, kernel = c(3, 3), pool_type = "max")
- next layer data size: (9-3+2*0)/1 + 1 = 7
lrn2 <- mx.symbol.LRN(data = pool2, alpha = 0.0001, beta = 0.75, knorm = 1, nsize = 5)
- stage 3
conv3 <- mx.symbol.Convolution(data = lrn2, kernel = c(3, 3), pad = c(1, 1), num_filter = 384)
relu3 <- mx.symbol.Activation(data = conv3, act_type = "relu")
- next layer data size: (7-3+2*1)/1 + 1 = 7
conv4 <- mx.symbol.Convolution(data = relu3, kernel = c(3, 3), pad = c(1, 1), num_filter = 384)
relu4 <- mx.symbol.Activation(data = conv4, act_type = "relu")
- next layer data size: (7-3+2*1)/1 + 1 = 7
conv5 <- mx.symbol.Convolution(data = relu4, kernel = c(3, 3), pad = c(0, 0), num_filter = 256)
relu5 <- mx.symbol.Activation(data = conv5, act_type = "relu")
- next layer data size: (7-3+2*0)/1 + 1 = 5
pool3 <- mx.symbol.Pooling(data = relu5, kernel = c(2, 2), stride = c(1, 1), pool_type = "max")
- next layer data size: (5-2+2*0)/1 + 1 = 4
- stage 4
flatten <- mx.symbol.Flatten(data = pool3)
fc1 <- mx.symbol.FullyConnected(data = flatten, num_hidden = 1024)
relu6 <- mx.symbol.Activation(data = fc1, act_type = "relu")
dropout1 <- mx.symbol.Dropout(data = relu6, p = 0.5)
- stage 5
fc2 <- mx.symbol.FullyConnected(data = dropout1, num_hidden = 256)
relu7 <- mx.symbol.Activation(data = fc2, act_type = "relu")
dropout2 <- mx.symbol.Dropout(data = relu7, p = 0.5)
- stage 6
fc3 <- mx.symbol.FullyConnected(data = dropout2, num_hidden = 5)
softmax <- mx.symbol.SoftmaxOutput(data = fc3, name = 'softmax')
mx.set.seed(0)
device.cpu <- mx.cpu(1)
tic <- proc.time()
model <- mx.model.FeedForward.create(softmax, X=train.array, y=train.y, ctx=device.cpu,
num.round=10, array.batch.size=100, learning.rate=0.05,
momentum=0.9, eval.metric=mx.metric.accuracy,
initializer=mx.init.uniform(0.07),
wd=0.0001,
epoch.end.callback=mx.callback.log.train.metric(100)
)

@rflai I think the issue is the same with https://github.com/dmlc/mxnet/issues/3625
Please try to set the labels from 0, not 1.
Feel free to reopen if necessary.


Android Firefox 68.5.0 is not treated as mobile device

Hello!
Like I've mentioned in the title, Android's Firefox mobile is not treated as a mobile device in this polyfill, which results in "The required feature 'local' is not supported" error.
I've tested it on my device's Firefox browser (Razer phone 2 / Firefox android  68.5.0)

isMobile is grabbed from "utils.js" at the current master branch
userAgent is "Mozilla/5.0 (Android 9; Tablet; rv:68.0) Gecko/68.0 Firefox/68.0"
note: I've used polyfill from the<EMAIL_ADDRESS>Thanks.

The polyfills work on Firefox 68 for me on Android AFAICT...
Rewriting the function to take the UA directly, my UA seems to pass the test:
unction isMobile(ua) {
  var check = false;
  (function(a){if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4)))check = true})(ua);
  return check;
};

It looks as if Tablet in the UA is breaking that. Is there a reason the Razer 2 would be considered a tablet? (Is it a tablet?)
There's actually another isMobile function in the webxr-polyfill src/utils which looks like the same function; should probably reuse the same function so we don't have duplicate functions here.

Hey, thanks for the quick response.
Well, that's very odd. Looks like there's something wrong with my phone's userAgent setting, I didn't enabled desktop mode or changed any settings though.
I guess this could be just my phone's problem, as it's quite minor device.
Thanks for the reply :)

No worries, I think a user agent switcher addon should correct this pretty easily FWIW!


[WIP] r0 for the Application Services API

Tracking issue for all the tasks that need to be completed for an r0 release of the AS API spec:
Required

[x] https://github.com/matrix-org/matrix-doc/issues/1325 AppServices: We need to specify the API endpoints under Querying - https://github.com/matrix-org/matrix-doc/pull/1537
[ ] https://github.com/matrix-org/matrix-doc/issues/1323 AS traffic rate-limiting
[x] https://github.com/matrix-org/matrix-doc/issues/1307 AppServices: Document how filterings events work - https://github.com/matrix-org/matrix-doc/pull/1533
[x] https://github.com/matrix-org/matrix-doc/issues/1296 AppServices: Document client-server requests omitting user_id param - https://github.com/matrix-org/matrix-doc/pull/1534
[ ] https://github.com/matrix-org/matrix-doc/issues/1294  'age' field should be in unsigned
[ ] https://github.com/matrix-org/matrix-doc/issues/1272 Document Appservice Directories
[x] https://github.com/matrix-org/matrix-doc/issues/1271 Document Thirdparty AS Endpoints
[ ] https://github.com/matrix-org/matrix-doc/issues/1269 AppServices: Why do events sent to AS's use "user_id", whereas events use "sender"
[ ] https://github.com/matrix-org/matrix-doc/pull/1262 Document new application service registration file options
[x] https://github.com/matrix-org/matrix-doc/issues/800 Remove lies from AS API spec about /_matrix/app/r0/alias and /_matrix/app/r0/user - https://github.com/matrix-org/matrix-doc/pull/1537

Nice to haves

[ ] https://github.com/matrix-org/matrix-doc/issues/1306 Proposal to filter out traffic to Appservices based on filters

(Disclaimer: This is not yet a complete list, but a roundup of the issues we know that need to be completed so far)

#800 should also be fixed before r0 release imo.

@non-Jedi Good shout. Added

Have updated the original post to better reflect the current state of affairs. The linked project (https://github.com/matrix-org/matrix-doc/projects/1) is a living document for all the specs, although this issue is still useful to keep track of all things appservice.
Still not entirely comfortable with removing the [WIP] tag though - I haven't done any additional prioritization to the list.

I'd like to see these solved before r0:

https://github.com/matrix-org/matrix-doc/issues/1394

Just an update: #1394 has been closed in favour of #1585 due to #1586. #1323 has been closed (this was missed previously), and #1294 is being addressed by #1558.
In addition, before an r0 can be cut we need a defined release process (https://github.com/matrix-org/matrix-doc/pull/1521) and the r0 prep to land (https://github.com/matrix-org/matrix-doc/pull/1555).


Peer to Peer code review (morning session )

Peer to Peer code review
Good Job Guys Your Project is almost complete 👍  but there are some issues we have found .
Agree Feedback

Kindly consider to add the condition statement in movieLikes function to make sure you can't like the same card two times in a row so that It is more realistic  ♻

Optional:

Kindly consider to remove the console statement when project is complete since these log statement can make your project slow .

Hey team,
You've done a great job with the project so far! However one small change I'd suggest is implementing a .env file for storing your API keys. This will ensure that no one else is able to access your program data.
All the best with the last bit of your project! 😄

Hi @olanikegloria ✋
Great job on implementing project requirements, so far so good!!
As you move on kindly consider to make this changes
Required changes♻

[ ] When hovering over the like icon, consider implementing a cursor pointer and changing the color. This will make the project look more interactive.


Debugger fails to start (Fresh install / macOS 10.13)

OS: macOS High Sierra (10.13.6)
VSCode version:  1.55.2 (Also tried on the latest insiders)
Extension version: 1.6.2
Compiler: Rust compiler 1.51.0
Build target:
The extension fails to kick into debugging mode while attempting to debug a 1-line hello world rust program. This is with a fresh project, after a fresh installation of CodeLLDB.
It's possible that there's something wrong with this machine. It works fine another machine running Mojave.
The which was built for Mac OS X 10.15 in the error message seems a bit off. I'm on 10.13. Maybe this causing problems?
Running `cargo build --bin=updater --package=updater --message-format=json`...
    Finished dev [unoptimized + debuginfo] target(s) in 0.00s
Raw artifacts:
{
  fileName: '[ path to the project ]/services/updater/target/debug/updater',
  name: 'updater',
  kind: 'bin'
}
Filtered artifacts:
{
  fileName: '[ path to the project ]/services/updater/target/debug/updater',
  name: 'updater',
  kind: 'bin'
}
configuration: {
  type: 'lldb',
  request: 'launch',
  name: "Debug executable 'updater'",
  args: [],
  program: '${workspaceFolder}/target/debug/updater',
  cwd: '${workspaceFolder}/target/debug/',
  sourceLanguages: [ 'rust' ],
  __configurationTarget: 5,
  relativePathBase: '[ path to the project ]/services/updater'
}
liblldb: /Users/paul/.vscode/extensions/vadimcn.vscode-lldb-1.6.2/lldb/lib/liblldb.dylib
environment: {}
params: {
  evaluateForHovers: true,
  commandCompletions: true,
  sourceLanguages: [ 'rust' ]
}
Listening on port 58829
[2021-04-25T16:44:01.686Z DEBUG codelldb] New debug session
dyld: lazy symbol binding failed: Symbol not found: _objc_alloc_init
  Referenced from: /Users/paul/.vscode/extensions/vadimcn.vscode-lldb-1.6.2/lldb/lib/liblldb.dylib (which was built for Mac OS X 10.15)
  Expected in: /usr/lib/libobjc.A.dylib

dyld: Symbol not found: _objc_alloc_init
  Referenced from: /Users/paul/.vscode/extensions/vadimcn.vscode-lldb-1.6.2/lldb/lib/liblldb.dylib (which was built for Mac OS X 10.15)
  Expected in: /usr/lib/libobjc.A.dylib

Received signal: SIGABRT
   0: backtrace::backtrace::trace
   1: backtrace::capture::Backtrace::new
   2: codelldb::hook_crashes::handler
   3: __sigtramp

Debug adapter exit code=255, signal=null.

Can you please try this release?

Can you please try this release?

Hello.
Found this problem on my Mac OS 10.13 also.
I tested your dev vsix too, its running well for the my purpose. But there is an output about terminal bugs.
Failed to redirect stdio to a terminal. (Terminal agent did not respond within the allotted time.) Debuggee output will appear here. Launching: /Users/leksa/_works_repo/rust-training/rust-training/cargo-space/target/debug/cargo-space Launched process 30287 Hello, world! Process exited with code 0.

Fixed in 1.6.3


Directory restructure

🛠 Fixes Issue

Closes #72
👨💻 Changes proposed

Moved nested components into the base components directory (src/components)
Moved nested pages into the base pages directory (src/pages)
Used viteJs alias for imports
Added jsconfig.json to provide typing support for aliased imports

✔ Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[x] This PR does not contain plagiarized content.
[x] The title of my pull request is a short description of the requested changes.

📄 Note to reviewers

📷 Screenshots

you got some merge conflicts

Oh shit!
How do we resolve this?

Working on it


add basic token Auth

This functionality allows to specify basicToken as part of weblog configuration. The value will be used added to the Authorization header when an HTTP request is processed.

Can you test the plugin with your private endpoint?

I will do a test on Monday.

As specified by the instructions in the section Testing and debugging I've run this command:
./launch.sh run nextflow-io/hello -plugins nf-weblog -c config.config`

where config.config has this content:
weblog.enabled = 1
weblog.url = 'http://localhost:5000/protected'
weblog.basicToken = '12312312312'

that generates this request:
Content-Type: application/json
User-Agent: Nextflow/23.08.1-edge
Authorization: Basic MTIzMTIzMTIzMTI=
Host: localhost:5000
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive
Content-Length: 24946

This code is against a local Flask app.

@redbass do you think it would be better to just put the username and password in the configuration, instead of the basic token? That way Nextflow could compute the basic token for you.

It would be nice!
Would also be nice to support API Key that is the default authentication method for AWS gateway
This needs a small change in NF http client, but would make life easier.

okay I will make an issue for now


Fix outdated comment for drupal_install_site variable

Just found the outdated comment in default.config.yml.
The variable has been renamed in #1193

Right you are! Thanks.


File links in overlay broken with custom backend integration

Describe the bug
When using a custom backend integration, the URL of the page can be different from the URL of the dev server.
The error overlay has links to the files in the stack trace but those cause a fetch relative to the current server/port, causing the request to potentially go to the wrong server.
https://github.com/vitejs/vite/blob/8f109a67bd54b0eb7679fe1fafc56e03a247b768/packages/vite/src/client/overlay.ts#L195-L197
I think this specific request should construct a full dev server URL using the server config.
Reproduction
https://github.com/brunnerh/vite-overlay-link-issue
Steps to reproduce
Run scripts in two separate terminals:
npm run server
npm run vite

Open http://localhost:3000 in your browser.
Click a file link in the error overlay.
Observe __open-in-editor command being sent to http-server rather than vite.
System Info
System:
    OS: Windows 10 10.0.22000
    CPU: (8) x64 11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz
    Memory: 4.67 GB / 31.69 GB
  Binaries:
    Node: 18.16.0 - ~\AppData\Local\Programs\NodeJS\node.EXE
    Yarn: 1.22.19 - ~\AppData\Local\Programs\NodeJS\yarn.CMD
    npm: 9.5.1 - ~\AppData\Local\Programs\NodeJS\npm.CMD
  Browsers:
    Edge: Spartan (44.22000.120.0), Chromium (114.0.1823.67)
    Internet Explorer: 11.0.22000.120
  npmPackages:
    vite: ^4.4.2 => 4.4.2

Used Package Manager
npm
Logs
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 reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to vuejs/core instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

I think __SERVER_HOST__ would already provide the correct address.


Monaco Editor: Unexpected chunking / missing CSS

Description
A number of issues demonstrated in the linked repro repo. I'm not sure if this is a vite-plugin-svelte issue, or a vite issue

In prod mode, CSS is missing
In dev mode, CSS files in optimized (esbuild) deps are requested individually, causing page slowdown
The code that contains the worker import statement is being bundled inside the wrong chunk

Reproduction
https://github.com/mattfysh/vite-and-monaco
Additional Information

The output of npx envinfo --system --npmPackages vite,svelte,svelte-hmr,@sveltejs/vite-plugin-svelte --binaries --browsers

  System:
    OS: macOS 11.2.3
    CPU: (8) x64 Intel(R) Core(TM) i5-8259U CPU @ 2.30GHz
    Memory: 2.27 GB / 16.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 15.14.0 - /usr/local/bin/node
    Yarn: 1.22.10 - /usr/local/bin/yarn
    npm: 7.9.0 - /usr/local/bin/npm
    Watchman: 4.9.0 - /usr/local/bin/watchman
  Browsers:
    Chrome: 89.0.4389.128
    Safari: 14.0.3
  npmPackages:
    @sveltejs/vite-plugin-svelte: ^1.0.0-next.6 => 1.0.0-next.6
    svelte: ^3.37.0 => 3.37.0
    vite: ^2.1.5 => 2.1.5

debug logs produced with vite dev --debug vite-plugin-svelte or DEBUG=vite-plugin-svelte <your start command here>

See linked repro repo

This reads like issues in vite itself. Did you try to reproduce it in a vanilla vite setup?
npm init @vitejs/app --template vanilla

Yeah I was able to remove the svelte plugin as well as monaco and reproduce with some Vite + a few small JS files. Thanks!


Suggest more mnemonic aliases like 'place-object' or 'set-object' instead of 'do'

For me, 'do' is too much like 'do until....'.

After experimenting with the process, I see the advantage of the forms method--time!
Given that, my fav name might be something like: add-form-image


Using a single project for multiple apps differing by buildType

I have two buildTypes in my build.gradle - beta and release, both differ by applicationIdSuffix and versionNameSuffix. They use the same project token. I sent some events from the beta app to a people profile created using release apk, and turns out they're ignored.
Similar case with notifications. I tried uninstalling the release apk and sending notification from Mixpanel to a people profile (who has beta apk), but it didn't work.

Actually event tracking works just fine....I put a wrong project token before. My bad. But is there a way to make sure both beta and release apps get the notifications?

Hi @vibinr,
Each profile in your project can only receive a unique notification once. If your beta and release versions both route to the same project, and each user has one profile, then users who receive an in-app notification on the beta app won't be qualified to get it again if they upgrade to the release version.
If you maintain separate projects for the beta and release versions, then notifications shown to beta users won't impact the notifications they are eligible for if they move to the release version. Hope this helps!

Thank you! But can we know which app receives the notification, if I have both beta and release versions - with package names com.foo.beta and com.foo respectively, installed side-by-side on my device? I think this depends on whether Mixpanel sends the GCM payload to a specific package or not.

that is handled by FCM/GCM. when you create a new project in FCM you need to specify the package name. you technically have two different apps (i.e. you can have both apps installed at the same time and each has its own folder, own preferences, own dbs, etc...). For your beta type you should consider it as a different app and I'd suggest creating a new project on Mixpanel and register that app on FCM and use that different API key for push notifications.


Return 0 in state_root instead of todo!

It's better to return dummy values then panic so tests which "accidentally" call it but don't check would run fine

if the test relies on the output value of this function, it should be implemented. otherwise the test should not call it

@rkrasiuk Ideally yes but sometimes it's not that easy to prevent that in integration tests which run a bunch of stuff and this call happens somewhere deep in another thread.
Is there a downside to having a dummy value instead of todo!() macros? Most things in this file return dummy values such as Ok(None).


Make shouldComponentUpdate less aggressive

This should fix #144
One test still failing, but I can see how to fix that if this approach make sense.

How does this work? It isn't obvious to me how state comparison solves the context issue. Can you elaborate?

It basically checks what caused the update. If the update was caused by a context change or some .forceUpdate() call, state and props will remain the same. So the logic is: if React wants to make and update, and we don't know the reason, just make the update happen.

This makes sense.
I'd just change it to be written a bit differently:
          const stateChanged = nextState !== this.state;
          const propsChanged = !shallowEqual(nextProps, this.props);
          if (!stateChanged && !propsChanged) {
            // No reason to reconcile but we're in shouldComponentUpdate():
            // This is probably due to a context change so we let the update happen.
            return true;
          }

          const storeStateChanged = ...

Hmm.. Wouldn't non-essential prop changes then cause a re-render? e.g. setState() in parent component passing the same values as props.

Hmm.. Wouldn't non-essential prop changes then cause a re-render? e.g. setState() in parent component passing the same values as props.

Probably yes. Although this can be handled by the parent component's shouldComponentUpdate. This is a trade-off anyway, but I think it better than too aggressive shouldComponentUpdate.

Hmm.. Wouldn't non-essential prop changes then cause a re-render? e.g. setState() in parent component passing the same values as props.

And this is why the remaining test fails :)

Although this can be handled by the parent component's shouldComponentUpdate. This is a trade-off anyway, but I think this is better than a too aggressive shouldComponentUpdate.

This was the point of having shouldComponentUpdate() on connect(). Otherwise it doesn't really give you anything, as prop changes will be common, especially with nested connect()s.
If there's no easy fix, I think { pure: false} is the correct solution until React context problem is fixed.

Ok, maybe we could put the if (!stateChanged && !propsChanged) check inside if (!pure) {...} then? So when {pure: false} mode is used we still do less unnecessary work. Or maybe we can have 3 modes?

{ pure: false } should disable the check completely. It should update even if you deeply mutate the props—just like React's default shouldComponentUpdate() works out of the box.
I don't really want to support three different modes. :-( If you really need this I think you're better off writing your own version of connect() that satisfies your needs.

Okay. All this made me think that I probably should not use context the way I use it anyway. Otherwise I'll have have the same issue with my own shouldCompoentUpdate methods.


Can iOS 15.8.2 be supported?

Are there any reasons why Witcher depends on firmware <= 15.6.1? Would it be possible to support iOS 15.8.2?
Thanks for this great tweak!

Hi
The thing is that ios 15.8.x is Apple's shitty attempt to integrate ios 16 classes into unsupported devices such as iphone 7, unfortunately the good old AppSwitcher has been replaced by the new Coordinator class from iOS 16, so Wither doesn't work on this os. When I get an ios 16 jailbroken device, I will definitely add support for ios 15.8.x & 16.x.x.

Thanks for your answer, I understand and will wait for the update!


MVP GUI for Media Grapher

Pull Request

Describe your changes

Edited README.md to include:

How to utilize GUI

Updated requirements.txt

Added dependencies to run GUI (PYQT)

Introduced GUI for Media Grapher

GUI is introduced to project to run the Media Grapher Script (gui.py)

python mediagrapher.py [-o OUTPUT] [-a {Canny,Sobel}] [-t LOW HIGH] url

Issue ticket number and link
Topic

[X] Enhancement / New Feature
[ ] Bug Fix
[X] Documentation
[ ] Test
[ ] Breaking Change

Supporting Docs

Video URL used
Result:

mediagrapher.py conflict involves the addition of thread parameter.

Hey David,
I noticed you're having the same issue I did with the number of Files Changed. Git thinks you changed everything.
I suggest you take out your changes on the side, discard your commits, and then paste them back in.

After discussing with the repo author, the following files should be closely during the PR review.

.pylintrc
gui.py
README.md

@dwang312 There are still some Pylint errors in the code

@dwang312 There are still some Pylint errors in the code

Current Pylint errors, will look into how to resolve or how to approach this.
Run pylint $(git ls-files '*.py')
************* Module gui
gui.py:12:0: E0401: Unable to import 'PyQt6.QtGui' (import-error)
gui.py:13:0: E0401: Unable to import 'PyQt6.QtWidgets' (import-error)

The test run does list PyQt6 as having been installed.
Collecting PyQt6==6.6.1 (from -r requirements.txt (line 58))
  Downloading PyQt6-6.6.1-cp38-abi3-manylinux_2_28_x86_64.whl.metadata (2.1 kB)
Collecting PyQt6-Qt6==6.6.1 (from -r requirements.txt (line 59))
  Downloading PyQt6_Qt6-6.6.1-py3-none-manylinux_2_28_x86_64.whl.metadata (534 bytes)
Collecting PyQt6-sip==13.6.0 (from -r requirements.txt (line 60))
  Downloading PyQt6_sip-13.6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.whl.metadata (503 bytes)

New PR has been created and can be found here: #37


Split up the utils package

For example, we can have small network and log packages.
Two benefits:

Clarity. Better to avoid ambiguous package names like common, utils, pkg, etc.
Dependency management. A user may depend on a package that only uses utils/log and utils/network, but that user will have the full utils package compiled into the binary.

Note: would like to avoid implementing this until @IronGauntlets (and anyone else who has an opinion) has a say.

I would also be in favour of this, and think it's also relevant for the final point in the refactoring PR "Extract common types from the feeder package and rpc package to the utils package to reduce duplication."

@joshklop I am happy to split the utils package into multiple sub-packages. It might be better to have them as a separate package at the root level. I don't have a strong opinion on either one


Asset swap div passthrough (single underlying)

Fixes https://github.com/digital-asset/daml-finance/issues/1135

Superseeded by https://github.com/digital-asset/daml-finance/pull/1143


Fix setting of metrics compression type in RealtimeSegmentConverter

Description
Introduce a method in SegmentGeneratorConfig that allows
setting a specific column's compression type.
Use this method instead when setting metric compression type.
Otherwise, no dictionary config compression type for other columns
are getting reset to default.
Upgrade Notes
Does this PR prevent a zero down-time upgrade? (Assume upgrade order: Controller, Broker, Server, Minion)

[ ] Yes (Please label as backward-incompat, and complete the section below on Release Notes)

Does this PR fix a zero-downtime upgrade introduced earlier?

[ ] Yes (Please label this as backward-incompat, and complete the section below on Release Notes)

Does this PR otherwise need attention when creating release notes? Things to consider:

New configuration options
Deprecation of configurations
Signature changes to public methods/interfaces
New plugins added or old plugins removed

[ ] Yes (Please label this PR as release-notes and complete the section on Release Notes)

Release Notes

Documentation

Codecov Report

Merging #8350 (563cebd) into master (262dc50) will decrease coverage by 1.05%.
The diff coverage is 0.00%.

:exclamation: Current head 563cebd differs from pull request most recent head 3d28dbf. Consider uploading reports for the commit 3d28dbf to get more accurate results

@@             Coverage Diff              @@
##             master    #8350      +/-   ##
============================================
- Coverage     70.83%   69.78%   -1.06%
+ Complexity     4258     4254       -4
============================================
  Files          1636     1636
  Lines         85804    85804
  Branches      12920    12920
============================================
- Hits          60779    59875     -904
- Misses        20836    21761     +925
+ Partials       4189     4168      -21

Flag
Coverage Δ

integration1
28.95% <0.00%> (-0.01%)
:arrow_down:

integration2
?

unittests1
66.88% <0.00%> (-0.07%)
:arrow_down:

unittests2
14.19% <0.00%> (+0.01%)
:arrow_up:

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

Impacted Files
Coverage Δ

...l/realtime/converter/RealtimeSegmentConverter.java
77.41% <0.00%> (-0.71%)
:arrow_down:

...ot/segment/spi/creator/SegmentGeneratorConfig.java
81.55% <0.00%> (-1.51%)
:arrow_down:

...apache/pinot/common/helix/ExtraInstanceConfig.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...t/core/plan/StreamingInstanceResponsePlanNode.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...ore/operator/streaming/StreamingResponseUtils.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...ager/realtime/PeerSchemeSplitSegmentCommitter.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...he/pinot/core/plan/StreamingSelectionPlanNode.java
0.00% <0.00%> (-88.89%)
:arrow_down:

...ator/streaming/StreamingSelectionOnlyOperator.java
0.00% <0.00%> (-87.81%)
:arrow_down:

...re/query/reduce/SelectionOnlyStreamingReducer.java
0.00% <0.00%> (-85.72%)
:arrow_down:

...pache/pinot/common/utils/grpc/GrpcQueryClient.java
0.00% <0.00%> (-80.86%)
:arrow_down:

... and 87 more

Continue to review full report at Codecov.

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


Updating development version

Updating development version because the documentation link is pointing to development, not to master branch, where changes were made.
@ixje, the documentation website directs to the information in the development branch. Should we leave it like this? Or should we change it?
What current issue(s) does this address, or what feature is it adding?
The documentation is using the development version (branch)
How did you solve this problem?
I want to send the changes to the development branch
How did you make sure your solution works?
Are there any special changes in the code that we should be aware of?
Please check the following, if applicable:

[ ] Did you add any tests?
[ ] Did you run make lint?
[ ] Did you run make test?
[X] Are you making a PR to a feature branch or development rather than master?
[ ] Did you add an entry to CHANGELOG.rst? (if not, please do)

Coverage remained the same at 85.313% when pulling 450f9db788850c3db356d1cc9929f55aa530a06a on lapetina9:review-overview-development into 70ded9e77372752355e0298c6b55d6ee06e28d04 on CityOfZion:development.

@ixje, the documentation website directs to the information in the development branch. Should we leave it like this? Or should we change it?
I think the documentation should point to the latest released version, not to the development branch.

Hi Erik,
Thanks for your answer.
I think I can't change this configuration. I believe this setting is in the admin pannel in ReadTheDocs.
I've found this researching for this problem:
https://stackoverflow.com/questions/47125293/change-branch-for-latest-version


heapster-grafana:v4.0.2 can not be found in the  gcr.io/google_containers

i can not docker pull this image

closing in favor of #1469


MINOR: Fix AdminClient.describeConfigs() of listener configs

Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

@hachikuji Thanks for the review, addressed the comments.

@hachikuji Thanks for the review. I have updated the test. Will merge after builds complete.

@hachikuji Thanks for the reviews.
Test failure is unrelated, merging to 1.1 and trunk.


Updating the Email Delivery section with custom mailer config

[x] Added the Custom SMTP configuration section under prerequisites/Email delivery in both community and enterprise edition.

Hey @balub , when you have a moment, could you please review this PR? It would be great if it could be done by today, if possible.


When is new release planned?

Hi @hecrj,
As always, thanks for Iced. We have run into a issue where Apple M1 can't build our project Ajour because of winit 0.23.0 in your latest 0.2.0 - I see master is targeting 0.24.0 but since we are dependent on being able to ship to crates.io we can't use a git ref as version.
Do you have any plans for when you will be doing the next release?
Best,
Casper

I just keep pushing it back all the time 😅
I wanted to merge some great PRs that have been open for a while. But I think it may be worth it to just wrap up a release already and then release again in a couple weeks, if necessary.
I believe it should mostly be a matter of coming up with the CHANGELOG for 0.3.0. I'll get to it soon.


Cleaner interface

The following changes to the interface are being developed:

Remove the xline package

xline.Line becomes xtrack.Line
instead of xline.Drift, xline.Multipole etc. use directly xt.Drift, xt.Multipole
The Tracker objects are automatically updated when the line is modified (no need to regenerate the tracker)

There is only one Particles class within Xsuite

xline.Partices and xtrack.Particles to be replaced by xpart.Particles

The reference python implementation of the main elements, which used to be in xline,  is moved to a small package called ducktrack to be used only for testing purposes (not part of normal tracking workflow)

TODO:

[x] Change xslowtrack to ducktrack
[x] Clean up names in examples and tests (xline, pysixtrack, xslowtrack --> ducktrack)
[x] Change assemble_particles to build_particles
[x] Review dependencies in setup.py of all packages
[x] Re check test_data scripts
[x] Re-add json files
[x] Disable xline (raise error on import)
[x] Add some tests to xpart
[x] Run all tests
[x] Make pull requests
[x] Branch and adapt online documentation
[x] Update pymask

[x] further changes in Xtrack and Xpart (in separate branch)
[x] Profit to introduce line freeze after creating the tracker
[x] test and merge when done

[x] Merge!
[x] Change selected branches in sphynx conf.py

Here how I search:
git grep 'xline\|pysixtrack\|pyst\|xslowtrack\|xl' |grep -v xlim |grep -v xlabel|grep -v hxl

All packages are on branch feature/remove_python_particle

Done in v0.4.0


separate jck test target into subdirs for parallel ready

create subdirs in jck folder based on suites and subsets
separate test targets into subdirs based on their subsets
make jck test structure ready for parallel executing.

Signed-off-by: Tianyu Zuo<EMAIL_ADDRESS>

Could we try this solution in local branch before we deliver the change?

Hi @llxia  This PR was verified and could parallel tests properly with https://github.com/AdoptOpenJDK/openjdk-tests/pull/296

To clarify the purpose of this PR, it is in preparation for enabling parallel testing.  It divides JCK tests up into subgroups.  The subsequent 296 PR enables a check for an IS_PARALLEL boolean.  If true, and there are more than one machine to run on the tests will be divided by their presence in a particular subdir's playlist, and dispersed across as many machines as match the node label requirement.
We know that we will want to refine this approach, and ensure that the workloads are approximately equal, but this is step 1.

Thanks for the clarification Shelley. Yes, this is the initial step and we will continue refining the parallel testing mechanism


Update to Documentation (Sphinx + Jupyter notebook demos)

update general sphinx documentation to provide a better toolbox overview
provide demo for data set + RDM calculation
suggest way to integrate between Sphinx documentation and demo notebook

Please review and merge this into Master
Includes Jasper's functionality for including Jupyter notebooks, Heiko's new overview graph, and other additions. From now on out, we should get every contributor to provide documentation (exceeding what is in the code).


The inactive TX item is displayed after producing no transaction on the account

Description
The inactive TX item is displayed after producing no transaction on the account
Preconditions

The user is logged in
The user didn't do any transactions on the account

Steps to reproduce

Pay attention to the “Feed” section

Actual result: The inactive TX item is displayed after producing no transaction on the account
Expected result: The "No feed" text is displayed after producing no transaction on the account
Supporting data
https://good-dapp.netlify.com/
Windows 10, Google Chrome 75.0
https://www.screencast.com/t/pNvmLUbwe

this is expected behaviour


Svelte 5: Transitioned out elements don't come back in if the transition does not complete

Describe the bug
Items that transition in and out of a page may get stuck if the transition starts and ends too fast.
Here is a simple page that has some red blocks on the left, and potentially green blocks on the right.  But if you move your mouse a bit faster, the green blocks disappear and never reappear (at least until you move slowly again). The list of greens in the code has all of the blocks, so my expectation is that all of the blocks would be visible. They are not visible.
If you play around with this enough, the whole app seems to just give up, and even moving the mouse slowly causes the green blocks to only appear some of the time.
Reproduction
REPL
Logs
No response
System Info
System:
    OS: Linux 5.15 Ubuntu 20.04.6 LTS (Focal Fossa)
    CPU: (12) x64 AMD Ryzen 5 1600 Six-Core Processor
    Memory: 2.52 GB / 5.79 GB
    Container: Yes
    Shell: 5.0.17 - /bin/bash
  Binaries:
    Node: 20.13.1 - ~/.nvm/versions/node/v20.13.1/bin/node
    npm: 10.5.2 - ~/.nvm/versions/node/v20.13.1/bin/npm
  npmPackages:
    @sveltejs/adapter-auto: ^3.0.0 => 3.2.2
    @sveltejs/kit: ^2.0.0 => 2.5.15
    @sveltejs/vite-plugin-svelte: ^3.0.0 => 3.1.1
    svelte: ^5.0.0-next.1 => 5.0.0-next.155
    vite: ^5.0.3 => 5.3.1

Severity
serious, but I can work around it
Additional Information
No response

Moved issue to Svelte instead of SvelteKit
https://github.com/sveltejs/svelte/issues/12039


[Event Request] Codeunit 80 "Sales-Post" OnBeforePrepareCheckDocument

Dear ALAppExtensions team,
On behalf of 4PS I would like to request integration event 'OnBeforePrepareCheckDocument' to be added to procedure 'PrepareCheckDocument' in codeunit 80 "Sales-Post".
    procedure PrepareCheckDocument(var SalesHeader: Record "Sales Header")
    begin
        OnBeforePrepareCheckDocument(SalesHeader); //new
        GetGLSetup();
        GetSalesSetup();
        GetInvoicePostingSetup();
        GetCurrency(SalesHeader."Currency Code");
        FillTempLines(SalesHeader, TempSalesLineGlobal);
        LogErrorMode := true;
    end;

    [IntegrationEvent(false, false)]
    local procedure OnBeforePrepareCheckDocument(var SalesHeader: Record "Sales Header");
    begin
    end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 49820.


Occlusion culling is stuck on waiting for results?

Hi there,
I decided to look into occlusion culling to help performance in my application as mentioned in this blog article but I am having some issues with it. Having occlusion culling enabled on my 3d tileset causes no tiles to load. It appears to be stuck waiting for the occlusion results as the latest entry in my output log shows:
LogCesium: Display: Cesium3DTileset_0: 156 ms, Visited 2, Culled Visited 0, Rendered 1, Culled 0, Occluded 0, Waiting For Occlusion Results 1, Max Depth Visited: 1, Loading-Worker 0, Loading-Main 0, Loaded tiles 0%

I have enabled the Enable Experimental Occlusion Culling Feature in the plugin settings inside the project settings and if I disable occlusion culling on the 3D tile, it renders all my tiles (without culling of course).
I have done some investigation into what might be causing this and have looked at some unreal engine visualizations. I have disabled occlusion culling to render the tiles for these screenshots:

Bounds appear to be set correctly for the google 3d tiles

I have a platform with some normal actors and have enabled r.VisualizeOccludedPrimitives 1 in the console to see that normal occlusion culling appears to work

Interestingly it appears that the depth buffer has this staggered effect from the camera, I am visualizing this by Buffer Visualisation -> Scene Depth. I would assume that this is not correct and could be the cause of my occlusion culling to not work?

Here is a screenshot of my 3d tile settings incase this might have caused some issues, however a lot of them are defaults.
Some more information on my versions:

CesiumForUnreal v2.3.0 downloaded from the release page and placed in the plugins folder of the project
Unreal Engine 5.3.2
Google 3D tiles using googles API (tile.googleapis.com)

Thanks for any help with this and let me know if you'd like any more details!

Thanks for the detailed report @KieranCoppins. I just opened a PR to fix this (linked above).


Need a label max-height property

There is no way to control the max-height of a label. This is required when there are many items on the wheel (for example, more than 10), and all the item labels on the wheel are short (for example, such as a single character or number). In this case the labels can be too large and "spill" out of the item's border.

any updates on this?


Add an option so mobs don't ignore light level

I love this mod, but the mobs ignore the light level, so it's a complete mess even with torches and stuff, so an option to disable it would be nice!

Fixed in 2.0.0, thanks~


Error: Please add a title

🐛  Bug Report

🤷♀ What did you do

⛔  Error log
Command failed with exit code 1: npm install pg
npm error code ERR_INVALID_ARG_TYPE
npm error The "path" argument must be of type string or an instance of Buffer or URL. Received null
npm error A complete log of this run can be found in: C:\Users\jedrz\AppData\Local\npm-cache_logs\2024-05-23T19_18_16_604Z-debug-0.log
🕵♀ Stack trace
Error: Command failed with exit code 1: npm install pg
npm error code ERR_INVALID_ARG_TYPE
npm error The "path" argument must be of type string or an instance of Buffer or URL. Received null
npm error A complete log of this run can be found in: C:\Users\jedrz\AppData\Local\npm-cache\_logs\2024-05-23T19_18_16_604Z-debug-0.log
    at makeError (C:\Users\jedrz\AppData\Local\npm-cache\_npx\a642ee8303c0fc2f\node_modules\execa\lib\error.js:60:11)
    at handlePromise (C:\Users\jedrz\AppData\Local\npm-cache\_npx\a642ee8303c0fc2f\node_modules\execa\index.js:118:26)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async installDependecies (C:\Users\jedrz\AppData\Local\npm-cache\_npx\a642ee8303c0fc2f\node_modules\@strapi-community\dockerize\core\dependencies.js:21:3)
    at async C:\Users\jedrz\AppData\Local\npm-cache\_npx\a642ee8303c0fc2f\node_modules\@strapi-community\dockerize\index.js:63:4

🙇♀  Expected behavior/code
A clear and concise description of what you expected to happen (or code).
👩💻 Environment

📦  Node version:  v18.19.0
💻  OS: win32 x64

💡 Possible Solution

📺 Additional context/Screenshots

No info provided can't replicate


Move logout to helpers

Since it's now used by login_external (through other helpers).

Ready for review @heroku/api

lgtm

@rwz thanks!


Feature/shabbatime

Create a new feature
In my feature, the shabbat time by the user location of the week are displayed every Saturday (on the dayview page).
i also made location class.
Needs further treatment:

style
place the location in the right place

Codecov Report

Merging #333 (3e96f7d) into develop (f04a433) will decrease coverage by 0.11%.
The diff coverage is 88.23%.

@@             Coverage Diff             @@
##           develop     #333      +/-   ##
===========================================
- Coverage    94.42%   94.31%   -0.12%
===========================================
  Files           91       90       -1
  Lines         4236     4169      -67
===========================================
- Hits          4000     3932      -68
- Misses         236      237       +1

Impacted Files
Coverage Δ

app/routers/dayview.py
97.82% <77.77%> (-1.42%)
:arrow_down:

app/internal/locations.py
78.94% <78.94%> (ø)

app/database/models.py
97.37% <100.00%> (-0.10%)
:arrow_down:

app/internal/json_data_loader.py
100.00% <100.00%> (ø)

app/internal/shabbat.py
100.00% <100.00%> (ø)

app/internal/event.py
95.71% <0.00%> (-0.92%)
:arrow_down:

app/main.py
95.83% <0.00%> (ø)

app/internal/todo_list.py

app/routers/todo_list.py

... and 5 more

Continue to review full report at Codecov.

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


What's thousandths of a second between friends

Fix sporadic failure due to incredible precision
Seen in the tests for #19093.
I doubt we'll ever notice a scan_watchdog starting 2 thousandths of a
second too early or late.
It's more reasonable to expect within 1 second of the desired time.

cc @agrare

Ivanchuk backport details:
$ git log -1
commit 334ad9d7c5102afcb0dbce54d5bc7f5bcbf4217c
Author: Adam Grare<EMAIL_ADDRESS>Date:   Fri Aug 2 10:57:22 2019 -0400

    Merge pull request #19095 from jrafanie/whats_thousandths_of_a_second_between_friends

    What's thousandths of a second between friends

    (cherry picked from commit d75e912d9fb557d8e09f9b73c37a5e4832750194)

Hammer backport details:
$ git log -1
commit 923cd894aa9776ed7fccfcdc6fc7542ac27366fe
Author: Adam Grare<EMAIL_ADDRESS>Date:   Fri Aug 2 10:57:22 2019 -0400

    Merge pull request #19095 from jrafanie/whats_thousandths_of_a_second_between_friends

    What's thousandths of a second between friends

    (cherry picked from commit d75e912d9fb557d8e09f9b73c37a5e4832750194)


Add support for riscv and aarch64

I decided to remove all architecture specific code from executor.
See: a2d02ee9, https://github.com/rcore-os/rCore/commit/9d82b295174254dd0860bedc30843b8c0c1294d8


Update change-log.md

Add august release notes

Closing this PR in favor of:
https://github.com/IgniteUI/app-builder-docfx/pull/229


personal_menu: Don't show user local time.

Fixes #30044

Looks good to me in manual testing!

Merged, thanks @amanagr!


perf(semantic): allocate UnresolvedReferences in allocator

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#8046  👈 (View in Graphite)
#8045
main

How to use the Graphite Merge Queue
Add either label to this PR to merge it via the merge queue:

0-merge - adds this PR to the back of the merge queue
hotfix - for urgent hot fixes, skip the queue and merge this PR next

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has enabled the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

This stack of pull requests is managed by Graphite. Learn more about stacking.


Implement retry mechanism

As a majority of what the applications in this repo are doing consists of reaching out to external services, they are of course very vulnerable to instabilities in those external services affecting overall system performance and reliability.
There are various reasons for external requests going bad:

Connection timeouts
Rate limiting (HTTP 429)
External system temporarily unavailable (HTTP 503)
Many more

At the moment, whenever the streams applications encounter an error, the stream thread is shut down, and will not be available for further task processing (that's the default behavior in Kafka Streams). Not good for obvious reasons.
Simply ignoring such errors is also not a good option.
According to some initial research, the idiomatic way of implementing retries in Kafka Streams is to have dedicated retry topics, and eventually a "dead letter topic" for when the maximum retries have exceeded. See https://www.confluent.io/blog/error-handling-patterns-in-kafka/
Having retries implemented in stream processors is most likely sub-optimal, as it will reduce message throughput of the consumer.

After doing more research, and experimenting a bit, I don't think retry topics are a good fit for us.
I found this blog post from Uber to be the easiest to understand how such an architecture would look like.
A few reasons for why retry topics are not an option:

In order to implement exponential back-off, a topic has to be created for each delay step (e.g. topic-retry-1000, topic-retry-2000, topic-retry-4000 for retries with 1000, 2000, and 4000 millisecond delays)
Delays would be implemented by slowing down the consumers of a topic. With Kafka Streams, a worker thread will oftentimes be assigned to multiple topics and partitions. If there was a Thread.sleepor similar throttling performed in a thread, the overall throughput would suffer. Additionally, if the thread would be sleeping for too long, no heartbeat would be sent to the broker, ultimately causing a rebalance. Not good.
Partitions of retry topics may be assigned to different worker threads than the partitions of the "main" topic. We'd loose the guarantee that the same CPE or PURL will always be processed by the same worker thread, which is a deal breaker.
Retries must be scoped to specific operations. Most of the time, those operations will be calling of external services. This means there'd have to be retry topics for all analyzers.
For vulnerability analysis, a retryable error during Snyk analysis should only cause a retry of the Snyk requests, but not of OSS Index and other analyzers.

As an alternative, I think we can use state stores for this purpose. State stores are backed by changelog topics and can be replicated to other Kafka Streams instances. To-be-retried messages would be enriched with retry metadata (retryAt, retriesRemaining, etc.) and written to the store. Punctuators iterate over all stored values in a fixed interval (e.g. every second), and determine if they are eligible for retry. When eligible, push the record to the current batch.
Here's a bare-bones implementation of retries, combined with batching, for OSS Index:
package org.acme.analyzer;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.core.type.TypeReference;
import io.quarkus.kafka.client.serialization.ObjectMapperDeserializer;
import io.quarkus.kafka.client.serialization.ObjectMapperSerde;
import io.quarkus.kafka.client.serialization.ObjectMapperSerializer;
import org.acme.model.Component;
import org.acme.model.VulnerabilityResult;
import org.apache.kafka.clients.producer.internals.BuiltInPartitioner;
import org.apache.kafka.common.serialization.Serdes;
import org.apache.kafka.streams.KeyValue;
import org.apache.kafka.streams.processor.Cancellable;
import org.apache.kafka.streams.processor.PunctuationType;
import org.apache.kafka.streams.processor.api.ContextualProcessor;
import org.apache.kafka.streams.processor.api.Processor;
import org.apache.kafka.streams.processor.api.ProcessorContext;
import org.apache.kafka.streams.processor.api.ProcessorSupplier;
import org.apache.kafka.streams.processor.api.Record;
import org.apache.kafka.streams.processor.api.RecordMetadata;
import org.apache.kafka.streams.state.KeyValueIterator;
import org.apache.kafka.streams.state.KeyValueStore;
import org.apache.kafka.streams.state.StoreBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import javax.enterprise.context.ApplicationScoped;
import java.time.Duration;
import java.util.List;
import java.util.Optional;
import java.util.Set;
import java.util.UUID;

import static org.apache.kafka.streams.state.Stores.keyValueStoreBuilder;
import static org.apache.kafka.streams.state.Stores.persistentKeyValueStore;

@ApplicationScoped
public class OssIndexProcessorSupplier implements ProcessorSupplier<String, Component, String, VulnerabilityResult> {

    private static final String BATCH_STORE_NAME = "ossindex-batch";
    private static final String RETRY_STORE_NAME = "ossindex-retry";
    private static final StoreBuilder<KeyValueStore<String, List<Component>>> BATCH_STORE_BUILDER;
    private static final StoreBuilder<KeyValueStore<UUID, Retryable>> RETRY_STORE_BUILDER;
    static {
        BATCH_STORE_BUILDER = keyValueStoreBuilder(persistentKeyValueStore(BATCH_STORE_NAME),
                Serdes.String(), Serdes.serdeFrom(new ObjectMapperSerializer<>(),
                        new ObjectMapperDeserializer<>(new TypeReference<>() {
                        })));
        RETRY_STORE_BUILDER = keyValueStoreBuilder(persistentKeyValueStore(RETRY_STORE_NAME),
                Serdes.UUID(), new ObjectMapperSerde<>(Retryable.class));
    }

    private final OssIndexAnalyzer ossIndexAnalyzer;

    public OssIndexProcessorSupplier(final OssIndexAnalyzer ossIndexAnalyzer) {
        this.ossIndexAnalyzer = ossIndexAnalyzer;
    }

    @Override
    public Processor<String, Component, String, VulnerabilityResult> get() {
        return new OssIndexProcessor(ossIndexAnalyzer);
    }

    @Override
    public Set<StoreBuilder<?>> stores() {
        return Set.of(BATCH_STORE_BUILDER, RETRY_STORE_BUILDER);
    }

    private static class OssIndexProcessor extends ContextualProcessor<String, Component, String, VulnerabilityResult> {

        private static final Logger LOGGER = LoggerFactory.getLogger(OssIndexProcessor.class);

        private final Analyzer analyzer;
        private KeyValueStore<String, List<Component>> batchStore;
        private KeyValueStore<UUID, Retryable> retryStore;
        private Cancellable batchPunctuator;
        private Cancellable retryPunctuator;

        private OssIndexProcessor(final Analyzer analyzer) {
            this.analyzer = analyzer;
        }

        @Override
        public void init(final ProcessorContext<String, VulnerabilityResult> context) {
            super.init(context);

            batchStore = context().getStateStore(BATCH_STORE_NAME);
            retryStore = context().getStateStore(RETRY_STORE_NAME);

            batchPunctuator = context().schedule(Duration.ofSeconds(5), PunctuationType.WALL_CLOCK_TIME, this::punctuateBatch);
            retryPunctuator = context().schedule(Duration.ofSeconds(1), PunctuationType.WALL_CLOCK_TIME, this::punctuateRetry);
        }

        @Override
        public void process(final Record<String, Component> record) {
            final Optional<Integer> partitionId = context().recordMetadata().map(RecordMetadata::partition);
            if (partitionId.isEmpty()) {
                LOGGER.error("Unable to get partition ID for record; Skipping");
                return;
            }

            if (isScheduledForRetry(record.value().getUuid())) {
                LOGGER.warn("Component {} is already scheduled for retry; Skipping", record.value());
                return;
            }

            addToBatch(partitionId.get(), record.value());
        }

        @Override
        public void close() {
            batchPunctuator.cancel();
            retryPunctuator.cancel();
        }

        private void addToBatch(final int partitionId, final Component component) {
            List<Component> batch = batchStore.get(Integer.toString(partitionId));
            if (batch == null) {
                batch = List.of(component);
            } else {
                batch.add(component);
            }

            if (batch.size() >= 128) {
                analyze(batch);
                batchStore.put(Integer.toString(partitionId), null);
            } else {
                batchStore.put(Integer.toString(partitionId), batch);
            }
        }

        private void analyze(final List<Component> components) {
            final List<VulnerabilityResult> results;
            try {
                results = analyzer.analyze(components);
            } catch (RuntimeException e) {
                LOGGER.warn("Analysis of {} components failed; Scheduling for retry", components.size(), e);

                for (final Component component : components) {
                    retryStore.put(component.getUuid(), new Retryable(component, context().currentSystemTimeMs() + Duration.ofSeconds(90).toMillis()));
                }

                return;
            }

            for (final VulnerabilityResult result : results) {
                context().forward(new Record<>(result.getComponent().getPurl().getCoordinates(), result, context().currentSystemTimeMs()));
            }
        }

        private void punctuateBatch(final long timestamp) {
            LOGGER.debug("Batch punctuator triggered at {}", timestamp);
            try (final KeyValueIterator<String, List<Component>> valueIterator = batchStore.all()) {
                while (valueIterator.hasNext()) {
                    final KeyValue<String, List<Component>> kv = valueIterator.next();
                    if (kv.value != null && !kv.value.isEmpty()) {
                        LOGGER.info("Forwarding batch (key: {}, components: {})", kv.key, kv.value.size());
                        analyze(kv.value);
                        batchStore.put(kv.key, null);
                    }
                }
            }
        }

        private void punctuateRetry(final long timestamp) {
            LOGGER.debug("Retry punctuator triggered at {}", timestamp);
            try (final KeyValueIterator<UUID, Retryable> valueIterator = retryStore.all()) {
                while (valueIterator.hasNext()) {
                    final KeyValue<UUID, Retryable> kv = valueIterator.next();
                    if (kv.value.nextRetry <= timestamp) {
                        LOGGER.info("Retrying component {}", kv.value.component);
                        addToBatch(BuiltInPartitioner.partitionForKey(kv.value.component().getPurl().getCoordinates().getBytes(), 3), kv.value.component());
                        retryStore.delete(kv.key);
                    }
                }
            }
        }

        private boolean isScheduledForRetry(final UUID uuid) {
            return retryStore.get(uuid) != null;
        }

    }

    @JsonIgnoreProperties(ignoreUnknown = true)
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public record Retryable(Component component, long nextRetry) {
    }

}

In this example, there's a fixed retry delay of 90 seconds, and no maximum attempt enforcement.
State stores are bound to stream threads, so we can be sure that "main" messages and retry messages will be processed by the same thread.

IBM does something similar in kafka-retry. They too use state stores to store the retry information, however when a message is due for retry, they re-publish it back to the original topic. Which would be an option for us too, I think.


[TASK] Changing color of border for container creates huge border of that color.

steps to reproduce

Create new drag and drop app
add layout container
change color of the border for that layout container
witness big border of chosen color

The border size needs to default to '0px'


Handle piping html directly via stdin

Patch for https://github.com/arachnys/athenapdf/issues/13
Passing - instead of a file or URL will now read from stdin
Using temporary files seems to be necessary here - from what I can see, Electron's browser window does not have an API for loading arbitrary HTML from a string.
Also, the docker run command requires the -i flag for this to work, otherwise it will produce a blank PDF output.

Apologies. I may have caused some merge conflicts, but thank you for the PR 👍
I'm reasonably OK with the changes, although I'd prefer if we avoid external dependencies. I'm not too fuss with a little extra code maintenance vs. two external dependencies which also have their own dependencies just for a reasonably simple feature.
Also, I know that we use readFileSync twice in the codebase, but I'd prefer if we can reduce the number of synchronous calls in a Node app. I understand this might not be straightforward because of the way Node handles standard streams (and because of the current state of the code). It might also require a little bit of refactoring (that is, potentially wrapping app.on("ready" ... in a function).
Nevertheless, I'd love to know what you think.

The synchronous calls are there only because this method changes the uriArg variable and needs it to be changed to a file path before the next if block. The rw module was included because Node produces unexpected results with readFile or readFileSync on non-regular files like /dev/stdin. Sometimes it works, sometimes not. The Node devs are unable or unwilling to fix it, so someone wrote a wrapper around the FileSystem API that handles non-regular files like /dev/stdin correctly.
The temp dependency was partly because of my laziness. You could generate a random filename in /tmp/ and the results would be the same, as long as you remember to delete the temporary file after athena is done with it. The temp module tracks all the temp files it creates and deletes them when the process exits, which is why I used it in this PR. No need to reinvent the wheel right?
As for reducing the number of synchronous calls in a Node app: As long as this is a command-line tool and not a server/listener application where the event loop needs to remain unblocked, I personally don't think it's that important. Refactoring working code just to do it 'the proper NodeJS way' may be more trouble than it's worth.

I fixed the merge conflict :+1:

Closing this PR because I'm making another one