Use remote Kustomize base for deploying AKS Periscope

The latest Periscope release provides a Kustomize base file for deploying Periscope with Windows support.
These changes make use of Kustomize to remove the need for magic string replacement, and minimize the required changes to az-cli when new Periscope versions are released (we'll only have to update the release version and image tag, not the entire deployment yaml).
NOTE: the minimum supported kubectl version for Kustomize is 1.14 (released March 2019).
cc. @Tatsinnit, @FumingZhang

This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your pull request is merged into main branch, a new pull request will be created to update src/index.json automatically.
The precondition is to put your code inside this repository and upgrade the version in the pull request but do not modify src/index.json.

AKS

Could you add some test for these change?

Please add the description in history notes HISTORY.rst. If you need to upgrade the extension version to release, please also modify setup.py

Could you add some tests for these change?

I'm attempting to add a test now, but running into the issue that the command is interactive (there are a couple of prompts: one to confirm the user consents to the operation, and one to find out whether the user wishes to see the analysis results).
The common approach to avoid this seems to be to add a --yes ("do not prompt for confirmation") parameter, but:

So far I can't quite understand the code required to do this (like why some parameters are defined in _params.py and some in _help.py.
This particular command has two different prompts, and it's unclear what the default should be for the second.

All in all, this change seems to entail a non-trivial bit of design work that's not relevant to the intent of the original PR.
Should we address this (and add the test) in a separate PR?
@zhoxing-ms, @FumingZhang, @Tatsinnit for thoughts.

All in all, this change seems to entail a non-trivial bit of design work that's not relevant to the intent of the original PR.
Should we address this (and add the test) in a separate PR?

LGTM

Yeah, would appreciate if you could add some unit test for these commands, since they are not related to ARM resource, I suppose live/e2e test based on vcr/recording is not suitable.

Yeah, would appreciate if you could add some unit test for these commands, since they are not related to ARM resource, I suppose live/e2e test based on vcr/recording is not suitable.

Discussed with @FumingZhang offline: we will work on one or two follow-up PRs to shuffle the code around (modelled on the recent draft additions) to make it more amenable to unit tests.
Further discussion may be required on whether the 'live' tests are necessary/appropriate.

The CI failed due to changes in the behavior of the rp and will be fixed in another PR #4919.
Queued a pipeline to test the newly added test case.


Update stars workflow isn't running yet

I just want to report that the workflow from #146 isn't running on the repo yet...

It's not in the master branch yet, should be picked up as a workflow once it lands

Well the action ran today but wasn't able to commit the changed json file as "at least 1 approving review is required by reviewers with write access". Heavily discussed here and unfortunately not an easy fix: https://github.community/t/how-to-push-to-protected-branches-in-a-github-action/16101/35Bit .
One potential solution is to create an "admin" user that has admin writes to the protected branch (i.e. can push without an approving review).

It's like spamming the git history 🤔
Don't we risk to have conflict with new components additions ?
Maybe the stars list should be in a not committed file ?


Datasource missing in TestNG/H2

We are using Shedlock 2.2 JDBCTemplate lock provider along with Spring boot 2/ testNG. It works fine in non test profiles with Mysql.
However when the QA collegue start testing with TestNG/embedded H2, the autowired DataSource used in our original testNG test to create tables before test becomes null.  The log doesn't show anything meaningful. But with @EnableSchedulerLock commented and it works again.  Strangely, debugging shows that JDBCTemplate receives the data source just fine.
I am not very good with Spring boot auto configuration details. So any clues how would the test datasource be affected?
I will get the code later.

Hi, thanks for feedback. I have never seen this happening and I can not imagine any reason why the DataSource might be null.


Check fieldextra access at start of interpolate functions

@AnnikaLau Sorry for all the version bumping, it was annoying me that everytime I bumped the version, and adding a tag/release and pushing to PyPI then the formatting would fail because bump version was adding whitespace in the setup.cfg.
So I've also moved the bumpversion config to a separate file .bumpversion.cfg and also changed the publish-to-pypi.yaml to only build/deploy new tags to PyPI when the new tag is on the HEAD of master.


cdba: Rely on fastboot completion rather than USB disconnect

The purpose for providing different exit codes (2 vs 110) for timeout before or after fastboot was to allow tools invoking cdba to detect if the device arrived at and performed fastboot or not.
In most cases relying on the fastboot (USB) disconnect notification works fine, but in cases where the provided image fails to decompress the standard fastboot implementation will OKAY the transfer, fail to process the image and then return to process further fastboot requests.
This has been observed in cases where the image is too big, or when it contains a big endian kernel.
Change the logic to rely on the "FASTBOOT_DOWNLOAD" response to determine that we did reach fastboot and where able to upload the image and then something happened - i.e. "there's a problem with the image" vs "there's a setup problem".

@andersson

The base branch requires all commits to be signed


DSND-2473: Implement GET company filing history list endpoint

Describe the changes

Endpoint returns a list of filing history transaction for a given company number.
Includes sorting, pagination and filtering on category.
Required various changes to the private spec which are raised in private.api.ch.gov.uk-specifications #268

Related Jira tickets
DSND-2473
Developer check list
General

[x] Is the PR as small as it can be?
[x] Has the Jira ticket been updated with any relevant comments?
[ ] Is the README up to date?
[x] Has the POM been updated for the latest versions of dependencies?
[x] Has the code been double-checked against main?
[x] Does the code adhere standards in this repository, including SonarQube checks?

Testing

[x] Do the code changes have unit and integration tests with code coverage > 80%?
[ ] Has the code been tested locally and/or passed the API Karate tests on Tilt?
[ ] Have mandatory manual test cases been run?
[ ] Are extra Karate tests required?
[ ] Are all the test data resources up to date?

Release preparation
Where possible, add links to the respective Jira tickets when an item is checked

[ ] Have these changes been included in a release ticket?
[ ] Are changes required to the docker-chs-development deployment or test data?
[ ] Are any changes required to the environment added to deployment repositories?

Notes to the tester
Add any testing hints or instructions here.

CI: Security warnings found!

CI: Security warnings found!

CI: No security warnings found


How to work in multiples dashboards

From the attached picture, there are three dashboards in this page. I found that timepicker only take effect in the dashboard inside. So, how to use a global timepicker to effect all the dashbaords in a page? For example, use the uppermost timepicker to effect the below two dashboards.

Each embedded dashboard exists in an iframe. Javascript from one iframe cannot interact with javascript from another iframe.
I would recommend two solutions.

Put all visualizations into a single dashboard. That way you only have one iframe and one time picker.
Create your own time selection inputs outside of the iframe(s). When a new time is entered, update the iframe URLs to the newly updated time inputs.

Does that answer your question?

@nreese Yes, I agree with you on the two solutions.
Thanks!


Async Twitter

I'm using this module, and I need it to be asynchronous (for example: on Search) , there's a way to do this ?

@krazydriver all of the requests are async.  You must pass a callback to the request functions.  The format is as follows:
client.get(path, params, callback);
client.post(path, params, callback);
client.stream(path, params, callback);

Search example:
client.get('search/tweets', {q: 'node.js'}, function(error, tweets, response){
   console.log(tweets);  // This happens after the request has finished
});


0x_importHelper.sh - ERROR, not a valid Metadata-URL found in the online pool data

I've tried with many other pools, and got the same error while trying to import data.

Version-Info: cli 1.25.1 / node 1.25.1		Scripts-Mode: online

Using the following name for the import process: 'helas'

Creating Directory with name: 'helas' ... OK

Fetching Pooldata online for PoolID: 'pool17ajuw0arwq8klfe4xy8tcqj4yetp8kerl4amzn5dsnne20wlnsa' ... ERROR, not a valid Metadata-URL found in the online pool data!

should work again... the api was pointing to a rekt old db sync.


Failing to apply patch

Hi, apologies if this is something I'm doing wrong, still quite new to nix and flakes.
I tried to add this to my system, but it seems to be failing with the following:
Hunk #2 FAILED at 2581.
1 out of 2 hunks FAILED -- saving rejects to file src/openvpn/manage.c.rej
patching file src/openvpn/manage.h
patching file src/openvpn/misc.h
Hunk #1 succeeded at 72 (offset 3 lines).
patching file src/openvpn/options.h
patching file src/openvpn/ssl.c
Hunk #1 succeeded at 2146 (offset 36 lines).
Hunk #2 succeeded at 2161 (offset 36 lines).
Hunk #3 succeeded at 2438 (offset 35 lines).

I cloned the repo and ran nix build . and got the same thing

sorry wrong repo


Unwatch node_modules

I received a nodemon error stating I was watching 26,000+ files, which might cause heavy CPU use. Ignoring node_modules in nodemon.js fixed the error.

Thanks!


fix two numerical error in face document

Face/Detect API take image up to 6MB, fix document error
Face Roll angle is between 90 degrees instead of 180 degrees

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

#sign-off


Android: Silently throws when displaying notification and maximum reached

Depending on the android version there is a maximum number of notifications that can be posted to the device.
Sometimes 50 sometimes 24. Some manufacturers can even set a different number.
There is no way to query this value (MAX_PACKAGE_NOTIFICATIONS).
An error is thrown natively but is not bubbled up to javascript when awaiting notifee.displayNotification, it fails silently.
Only solution I found so far is to get (await notifee.getDisplayedNotifications()).length; before and after calling displayNotification ,  then cancel a notification and retry after that.
Would be nice to avoid doing the get before and after and just have an error and handle it.

Mmm - that's a good catch. Do you have a stack trace to share when this happens? Would help focus the effort - you could probably post a PR pretty quickly and with a stack trace I could at least point out exactly where the code is to make it efficient..

Hard time getting stacktrace but in flipper:
NotificationService
Package has already posted or enqueued 51 notifications.  Not showing more.

Seems to be coming from here:
https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-10.0.0_r46/services/core/java/com/android/server/notification/NotificationManagerService.java#5042

Interesting - it is hard to get a stacktrace because the assertion that it "silently throws" is incorrect - there is no throw, so there is no stacktrace. It's silently dropping them, that's different.
I'm not sure how to handle this then, other than your method of getting the list first, posting, then checking the list again. That should work but there's the chance the user interacts with a notification (clearing one or more) or that the app in another thread does something (javascript is not multi-threaded but firebase-android-sdk is and if you receive an FCM with a notification block it may attempt to post). So just doing a count is not sufficient I think
I have not worked in this repo in a while so my memories are growing vague but I think there is the idea of a notification ID, it should be able to verify the specific ID you expect is in the list after posting it?

As far as I remember, there's no error thrown from the native Android method so not a lot we can do here to prevent this

What do you think about posting the notification then post-checking the current displayed list to see if it actually went in? Then our API could at least indicate success or failure? Just brainstorming though, admittedly. Trying to see if there is any signal we could squeeze out

Thanks for notifee - we are super happy customers.
We ran into this issue recently.
A scheme that seems to work for us is to keep a safe buffer between the minimum MAX_PACKAGE_NOTIFICATIONS value users could have and clean up the oldest displayed notifications if we're over our limit of displayed notifications (we use 20) after notification display. This has the downside of limiting our displayed notifications size underneath the OS-enforced maximum, but this seems better than users silently not getting notifications.
We need a bit of a buffer due to the fact that clearing notifications is async and sometimes firebase notifications don't show up in the displayed list immediately and if the buffer is too tight and notifications come in too fast we can overrun it.
Not a perfect solution but it seems to work for us.
You might consider documenting documenting this somehow and / or building trimming of the displayed notifications (on Android) into notifee as an optional setting. (you could do similar cleanup from java either in NotificationManager.displayNotification or downstream via listening to the DELIVERED event)
This is more of an Android foot-gun than a notifee issue of course, but you'd probably help a lot of people by telling them about it in your docs.
// we call this from various paths where we display notifications
static async clearOldestDisplayedNotificationsIfNeeded() {
    console.log("clearOldestDisplayedNotificationsIfNeeded()");
    if (!isPlatformAndroid()) {
      console.log("clearOldestDisplayedNotificationsIfNeeded() not android. returning.");
      return;
    }

    let notifications: DisplayedNotification[];

    try {
      notifications = await notifee.getDisplayedNotifications();
    } catch (e: unknown) {
      console.log("clearOldestDisplayedNotificationsIfNeeded() notifee.getDisplayedNotifications failed.", e);
      return;
    }

    if (notifications.length <= ANDROID_MAX_SAFE_DISPLAYED_NOTIFICATIONS) {
      console.log(
        `clearOldestDisplayedNotificationsIfNeeded() notifications.length is ${notifications.length} - no trim needed`
      );
      return;
    }

    // sort so the oldest notifications are first
    notifications.sort((left: DisplayedNotification, right: DisplayedNotification): number => {
      // sometimes android will place an empty notification with an id of MAX_INT in our
      // notification list - it is not removable. so we sort it to the end.
      const max32BitInt = "2147483647";
      if (left.id === max32BitInt && right.id === max32BitInt) {
        return 0;
      } else if (right.id === max32BitInt) {
        return -1;
      } else if (left.id === max32BitInt) {
        return 1;
      }

      const leftTs = Number.parseInt(left.date ?? "0");
      const rightTs = Number.parseInt(right.date ?? "0");

      return leftTs - rightTs;
    });

    const cancelNotificationCount = notifications.length - ANDROID_MAX_SAFE_DISPLAYED_NOTIFICATIONS;
    const notificationIdsToCancel: string[] = [];

    for (let i = 0; i < cancelNotificationCount; i++) {
      const notification = notifications[i];
      if (notification.id === undefined) {
        // unexpected
        continue;
      }
      notificationIdsToCancel.push(notifications[i].id!);
    }

    try {
      console.log("clearOldestDisplayedNotificationsIfNeeded() canceling notifications: ", notificationIdsToCancel);
      await notifee.cancelDisplayedNotifications(notificationIdsToCancel);
    } catch (e: unknown) {
      console.log("clearOldestDisplayedNotificationsIfNeeded() notifee.cancelDisplayedNotifications failed. ", e);
    }
  }

@andrewlmurray nice thinking, treating the notification list as a fixed size (within bounds of async delay in trimming them...) ring buffer. This is something that could be better documented - if you wanted to hit the edit button at the top right of the affected page, GitHub has a really quick Web-based UI for making markdown PRs. As for including it in the library, that's also an interesting thought. It does seem like a platform thing that anyone would need to deal with, so I could see a setting to maybe have a maximum allowed number of notifications (configurable, but with a reasonable default), and a behavior setting to choose how to handle it when max was hit - say a) backwards compatible post / maybe silently fail b) start rejecting notification displays if max is hit c) the ring buffer idea
Any PR like that would be reasonable and easy to merge I think, as the defaults would be backwards compatible, but we could document it and after the implementation matures we could perhaps switch on the ring buffer style as the default in a future breaking change
Thoughts?


Adding react and react-dom packages to platform for upcoming onboarding work.

What's this PR do?
This PR adds the react and react-dom packages for the initial beta of the Onboarding functionality, which we are planning on doing entirely in React.
How should this be reviewed?
Um, 👀  the package.json?
Any background context you want to provide?
🐎
Relevant tickets
Refs #6682

@deadlybutter @DFurnes @jessleenyc

sweets 👍

✅


FILEUPLOAD-313 - Remove redundant local variable

Coverage increased (+0.1%) to 78.447% when pulling bc47cab7e607dec3f966d192907ff9e74d4e2ed8 on arturobernalg:feature/FILEUPLOAD-313 into b8253237867120ec8c99ea34b68ac86c6283dbc3 on apache:master.


Fixes issue #112 involving Swift 2.0 error handling compatibility.

Fixes issue #112

Can we get this in a release?

Yea, I should have gone ahead and bumped the version number in that pull request. I'm sending a second pr with the version update.


System falls asleep again and again

I have taken the image unchanged and run it on an RPi3B. However, the system keeps falling asleep. After a few hours, it is not accessible. Only this image has this issue, my other Raspberry OS do not have this. The system is connected via eth0, which eliminates the WLAN power manager as a source for this problem. The RPi LED is no longer lit, but the network LED is still lit.

Hi, can anybody else confirm this behavior?
I have no RPi3B Hardware to test this.
Only can say, that it is running without interuption on my RPi4.
@hennott Are there any other things you say about this issue? Did you test accessing the "frozen" pi on the console?
Regards,
André

Hi .. the RPi4 is up and running and has a continous connection to the network. But the ioBroker over port 8081 or the bis with port 8082 aren´t avaiable and all the scripts stop working after a unspecific period of time.
I checked "service iobroker status" and it is up an running. And a restart doesn´t change anything.
I´m using the v1.0.0 because I don´t know how to update to the newest version.

I now tested on RPi 4 and RPi 2B. They both running for more than a week now. So I'm not able to reproduce your issue so far.
As it seems ioBroker is going to stop working in your case, did you check de default iobroker log? maybe we can get some more information from there. another way could be checking the raspberry system logs.
Updating the raspberry pi image with a new one is not necessary. For updating the linux base system, running "apt-get update" and "apt-get upgrade" will do this.
Regards,
André


pinot patch version upgrade

Description
Patch version upgrade.
Testing
Manual testing.
Checklist:

[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] Any dependent changes have been merged and published in downstream modules

Documentation
NA.

Not a blocker, but if we're going to patch we should consider changing the exception behavior on direct mem OOM issue so it does not get caught and ignored but instead exists.


Update Q-CTRL Qiskit Function guides

Update schemas for both functions
Split out Sampler/Estimator docs, rerun problems, update outputs
Update some text and typos

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

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

The failing test is not related to this change. It's the first time we've seen it - I'll fix in another PR. So, I'm going to admin merge this.
Thanks for the contribution, Rowen!


Teach long syntax for --publish

File: engine/reference/commandline/service_create.md, CC @mstanleyjones
This reference teaches how to publish port, but doesn't explain the new and more intuitive syntax for --publish
docker service create --name wp \
--publish mode=host,target=80,published=8000 \
wordpress

The new syntax is kind of covered at https://docs.docker.com/engine/swarm/services/#publish-ports, but we should also clean that one a bit and start promoting the longer syntax.

It would be ideal if we had a table format similar to the mount parameters: https://docs.docker.com/engine/reference/commandline/service_create/#add-bind-mounts-or-volumes
I was looking for the publish syntax again today and couldn't find it.

@thaJeztah this seems to be a duplicate of #3913. Can you confirm, and if so close this one?

Ah, yes, this is a duplicate of https://github.com/docker/docker.github.io/issues/3913 thanks for noticing 👍


[WIP] Optimizer planning

This is a WIP, still need to (and appreciate any help or suggestions for):

[x] more flatMap examples
[x] merge example
[ ] composition examples: tail-shareable mixed with always-shareable
[ ] quick look at imitate example
[ ] algorithmic considerations

@OlivierBlanvillain When you discuss the example of val out = rx1.dropIf(_ % 2 == 0)(-1).merge(rx2.dropIf(_ % 2 == 0)(-1)), are you assuming the dropIf rxs may be registered at different times than the merge rx? If so, I can easily see how this could give rise to issues, though in the example I pushed where they are all at the same time, I do not see how it can be any worse than tail-shareable. Still, I guess we must always assume "non-temporally transparency", but I am just curious.

I just tried, I could't make an trace for that example that would be worse than tail-shareable. I must have messed up at the time, which means it might compose better than I thought :smile:

are you assuming the dropIf rxs may be registered at different times than the merge rx?

That would be impossible, out is a "Rx expression" that can only be interpreted at a single point of time, as a whole. There is no way to "register" a sub expression of a Rx and use the result as part of a bigger "Rx expression": it would break RT.

Right, I get that different registration points can't exist for this particular expression contained in out; maybe it gets more complicated when we break down the expressions individually, which would allow certain time delays to happen between the registration of the various rxs, which is what I was thinking when I said non-temporally transparent (which I guess is just another way of saying not always-shareable).

There is no way to "register" a sub expression of a Rx and use the result as part of a bigger "Rx expression": it would break RT.

OK, I understand the sentiment but I think I'm still missing something. Isn't that essentially what we are doing with showing different registration points in these marble diagrams? I suppose one way to do that in code would be to have different threads, with different delays (artificially performed with Thread.sleep(x), but more likely due to user input or network latency in the wild).

That wouldn't be only thing that falls apart if someone uses the current implementation from multiple thread, thankfully that's not an issue on js :smile:

@OlivierBlanvillain Oh right, I proved to myself that the right way to do this in JS is probably using setTimeout. I added an example for merge in the latest commit - let me know what you think about the slight test restructuring. If that's all good, I can think of two things to do next:

Create a test using ScalaCheck (never tried it) showing that tail-shareable composition is still tail-shareable OR prove it OR ignore it for now :)
Then move on to algorithmic considerations

I'm working on a proof (it doesn't look that hard), I just found an interesting example to shows why we need to wait for at least two emitted elements before sharing:
val numbers: Rx[Int]
val odd: Rx[Int] = numbers.dropIf(_ % 2 == 0)(-1).dropRepeats
// numbers =>    0       0   3   4        5   7 ...
// odd1    =>       •5       3            5   7 ...
// odd2    =>                       •5        7 ...

(it doesn't look that hard)
I'm glad you think so! I wouldn't mind trying it but I'm sure it would be slow going for me anyway for more than one reason :smile:

That's certainly an interesting example, particularly since dropRepeats is always-shareable.

Here what I have, it's not very polished but I think it works.
Definition: a Rx is tail-shareable if any two interpretation i1 and i2 of that Rx are equivalent after they emitted their first value. Two interpretation are equivalent if there is no observable difference between canceling i1 or canceling i2.
Lemma 1: Values emitted by interpretations of Rx composed of map, merge, collect and Vars are either 1. the first value of that interpretation or 2. triggered by an update from one of the Vars.
Proof: by structural induction on Rx with the above structure. Vars form the base case and Map, Merge and Collect the inductive case. We inspect the implementation:

The of interpretation Vars forwards to the underlying foreach which implements what is stated in the Lemma.
case leaf: Var[A] =>
leaf.foreach(effect)

Map interprets the underlying Rx with a pure function: holds by induction hypothesis
case Map(self, f) =>
run(self)(x => effect(f(x)))

Merge discards the first value of the other Rx, then holds by induction hypothesis
case Merge(self, other) =>
val c1 = run(self)(effect)
var discard = true
val c2 = run(other) { x =>
if (discard) discard = false
else effect(x)
}
Cancelable { () => c1.cancel; c2.cancel

Collect first value is either fallback or comes from the underlying Rxm then it holds by induction hypothesis
case Collect(self, f, fallback) =>
var first = true
run(self) { a =>
val out =
if (f.isDefinedAt(a))
effect(f(a))
else if(first)
effect(fallback)
else ()
first = false
out
}

Lemma 2: The interpretation of Rx composed of map, merge, collect and Vars is either pure (no var/mutation) or effectively pure after emitting the first value (it has two states, one to emit the first value and another one for all subsequent values).
Proof: by structural induction on Rx with the above structure. Vars form the base case and Map, Merge and Collect the inductive case. We inspect the implementation:

Vars: no var/mutation (one also has to look inside the implementation of foreach)
case leaf: Var[A] =>
leaf.foreach(effect)

Map: no var/mutation
case Map(self, f) =>
run(self)(x => effect(f(x)))

Merge: discard stays false after the first element
case Merge(self, other) =>
val c1 = run(self)(effect)
var discard = true
val c2 = run(other) { x =>
if (discard) discard = false
else effect(x)
}
Cancelable { () => c1.cancel; c2.cancel

Collect: first stays false after the first element
case Collect(self, f, fallback) =>
var first = true
run(self) { a =>
val out =
if (f.isDefinedAt(a))
effect(f(a))
else if(first)
effect(fallback)
else ()
first = false
out
}

Theorem: Rx composed of map, merge, collectandVars` are tail-shareable.
Proof: Given two interpretation i1 and i2 of such Rx, consider any non first value emitted by i1. By Lemma 1, this value is triggered by an update from one of the Vars, which by constructions must necessarily be at leaf position. By Lemma 2, both interpretation are effectively pure, meaning that i2 will necessarily produce the same result i1. In other words, i1 and i2 are equivalent, and the Rx is tail-shareable.

@OlivierBlanvillain One issue is that having sharing at every node might generate unwanted overhead for large Rx graphs; ideally, we could bypass the issue if the interpreter could find out when an Rx node in a graph has multiple dependent Rxs; but it looks like there is probably no way to do this, without adding additional overhead to the Rx, so probably not worthwhile (at least in the first pass). Though the overhead might be minimal, something like subscribers for Var, but only a reference count:
object Rx {
  //...
  var refCount = 0

  // Then each rx method can increment like:
  def collect[B](f: PartialFunction[A, B])(b: B): Rx[B] = {this.refCount+=1; Collect[A, B](this, f, b)}
}

However, I'm not exactly sure how to deal with decrements to refCount, which I guess would only happen whenever a particular Rx is gc'd.

I'm not sure I follow, could you give a concrete example?

@OlivierBlanvillain Something like this, where each dashed, black line (other than the first, which is a Var) is an ordinary Rx that can be shared (shared = blue circles). If the optimizer simply places them anywhere possible, then we wind up with something like the right figure, I think, where ideally, we only need something like the left.

I think the algorithm I have in mind would do the optimal thing in your example. One implementation would be to have a global mutable map from node to interpretation (modulo the sharability logic), whenever an edge is interpreted the global map is first checked for shareable instances, if none is found, then a new interpretation is created for that node and added to the map.

Tree the user wrote: (| edges are rx nodes)

 var
  |
  |
/   \
|   |
|   |

1st interpretation:

 var
  |
  |x
/
|
|y
run on the left leaf

2nd interpretation: (! are edges shared with previous interpretations)

  !x
    \
    |
    |z
   run on the right left

3rd interpretation:

!y
run on the left leaf

4th interpretation:

    !z
run on the right leaf

This means that the runtime actually has a single "interpreted" copy of the graph:
 var
  |
  |x
/   \
|   |
|y  |z

Where x y and z have more than one callback attached to them.

This sounds good to me in general, but would this be prone to memory leaks? I assume we'll have a mechanism from removing entries from the mutable map when there are zero callbacks, but more on that below:
Drilling down to the details a bit:

whenever an edge is interpreted the global map is first checked for shareable instances

There still needs to be a way to see if we even need to create a shareable instance, i.e., how does the first or second interpretation in the example above know that x (for instance) has more than one callback? What are callbacks in this case (I assume these are not something currently in monadic-rx that go by another name, unless we mean the effects)?

@bbarker This global mutable map thing is just the first idea than came to my mind, I didn't really think it through. Let me try to answer your questions (brainstorming):

but would this be prone to memory leaks

This should be fine, there is already a mechanism in place to deal with that, I don't see why it couldn't be extended to this sharing thing.

What are callbacks in this case

Yes, I'm talking about what I've called effect in the current implementation.

There still needs to be a way to see if we even need to create a shareable instance

Indeed this is something that I completely overlooked. The naive solution is to create a dummy shareable node for every actual node, but this might result in quite a bit of wasted resources. (I see that this is what you draw on your right hand side diagram, I get it now!)
An alternative that comes to my mind: keep track of the current callback inserted on every node (in a mutable field). Whenever a second traversal hits on a node to be shared, then create the sharing node on the fly, and "path" the previous callback to go thought that new sharing node instead.

An alternative that comes to my mind:

@OlivierBlanvillain That sounds pretty solid to me; I think the refCount variable, mentioned above would still be used in this case; I don't anticipate any use cases where we would have a number of references on the order where integer overflow would occur ... but I guess one never knows, but at least I think we can ignore that issue for now.
I have more questions, but at this point I think it might be more clear to try and code something up to see how it goes, so will try to do that soon.

@OlivierBlanvillain As a quick sanity check before moving on to other Rxs, just wanted to run this by you (it passes Rx tests):
    case rx @ Map(self, f) => {
      var refCount = 0
      if (refCount == 0) {
        run(self){x => refCount += 1; effect(f(x))}
      }
      else {
        val shared = rx.impure.sharing
        run(shared)(effect)
      }
    }


handle space-separated domain

The space-separated domain cannot be handled correctly in previous version, for example:
If i have an host rule like:
<IP_ADDRESS> www.peercdn.com  m.peercdn.com

The host rule gets matched looks like:
['<IP_ADDRESS> www.peercdn.com', 'm.peercdn.com']

Which is incorrect obviously.

Thanks for the PR, I made the necessary fixes. Released as 1.2.0.

Good to know, thanks for the review


fix: Update dependencies

fix: Upgrade lenra_components to v1.0.0-beta.42 fix: autofocus default true (#100)

:tada: This PR is included in version 1.0.0-alpha.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Fail to get binary data.

(Region : ap-northeast-2, seoul)
What I did

Set API Gateway Binary Support, case of Conetent-type : application/octet-stream.
Add binary types parameter on createServer from aws-serverless-express
Set request header Accept with application/octet-stream.
Send binary data like res.send(data);. I checked isBase64Encoded is true.

What I expected
I expected to got binary data that decoded by api gateway
What I actually got
I got base64 encoded values.
And also, when I revert commit b61d288 , I could get binary data.
What's wrong with me?

And I found that there are no option isBase64Encoded in Output Format of a Lambda Function for Proxy Integration
In this doc, the Output Format is like below
{     "statusCode": httpStatusCode,     "headers": { "headerName": "headerValue", ... },     "body": "..." }

@jjappi , @kahouieong
Review this issue please.

I think we should decode from input of API Gateway, not encode output data.

It's true that isBase64Encoded flag is not documented for output but it's discussed e.g. here: https://forums.aws.amazon.com/thread.jspa?messageID=759454
"For the Lambda proxy case, you can send the base64 encoded flag with your response from Lambda to tell API Gateway if your response body is base64 encoded, however, you need to send an Accept header which is defined in the binaryMediaTypes in order to receive a binary response from API Gateway"

@jjappi oh, you are my hero. I was looking forward some documentations or posts! I think I set wrong option on api gateway. So I close this issue.

Sorry for reviving the thread, but is isBase64Encoded supposed to be set only for truly binary responses (such as images and data)? I'm trying to return gzipped application/json, and I see that it's returned with isBase64Encoded: true, and base64-encoded in my client response as well. This prevents me from using standard tools for decompression (e.g. Curl). Or perhaps I misunderstood how that works?
Thanks

If it's still base64-encoded when you get a response from the client, you need to configure your API's binary mime types (from console: Click your API then click Binary Support on the left; add your mime types or / and deploy your API).

@samikarak Did you solve it?

Don't do this res.setHeader('isBase64Encoded').


Spanish Support

Now this supports spanish ^-^ Took me around 1 hour if any problem make sure to make me know | Discord: xJustClefory#7630

Thank you very much, we appreciate you


Fails to Start on WSL 2

$ ghcid -v
%OS: linux
%ARCH: x86_64
%VERSION: 0.8.9
%ARGUMENTS: ["-v"]
ghcid: user error (Error: couldn't start native file manager: fdType: unsupported operation (unknown file type))
HasCallStack backtrace:
  collectBacktraces, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:92:13 in ghc-internal:GHC.Internal.Exception
  toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/IO.hs:260:11 in ghc-internal:GHC.Internal.IO
  throwIO, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:195:43 in ghc-internal:GHC.Internal.Control.Exception.Base

$ ghcid -V
Auto reloading GHCi daemon v0.8.9
$ which ghcid
/home/bss/.cabal/bin/ghcid
$ cabal --version
cabal-install version <IP_ADDRESS>
compiled using version <IP_ADDRESS> of the Cabal library
$ ghc --version
The Glorious Glasgow Haskell Compilation System, version 9.10.1
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.6 LTS
Release:        20.04
Codename:       focal
$ uname -a
Linux MW-LT-0068 <IP_ADDRESS>-microsoft-standard-WSL2 #1 SMP Fri Mar 29 23:14:13 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

Just reinstalled today.  Yesterday ghc-9.2.8/ghcid-0.8.8-e-ghcid-e53e7fac37f3705ed1023817b33dd41f77c667fb855f6d040e0a0e2498ef3cf5 was working, but I cleaned that up as I was removing older GHC versions.

Using the --poll option seems to make it work, so I guess this is a bug in notifiers on WSL 2?
$ ghcid --poll
Loading cabal repl --repl-options=-fno-code --repl-options=-fno-break-on-exception --repl-options=-fno-break-on-error --repl-options=-v1 --repl-options=-ferror-spans --repl-options=-j ...
Resolving dependencies...
Build profile: -w ghc-9.6.6 -O0
In order, the following will be built (use -v for more details):
...

Here's the throw (in fsnotify): createManager
Would it be possible and "correct" to have ghcid catch this failure and "fall back" to 0.1s polling?

Same version, but on ghc-9.6.6 seems to work fine.  So I'd guess there's some problem in hinotify with ghc 9.10 ?
$ ghcid -V
Auto reloading GHCi daemon v0.8.9
$ cabal --version
cabal-install version <IP_ADDRESS>
compiled using version <IP_ADDRESS> of the Cabal library
$ ghc --version
The Glorious Glasgow Haskell Compilation System, version 9.6.6

I opened https://github.com/kolmodin/hinotify/issues/38 to track it there, too.  Not sure if this issue should remain open.


CODE_OF_CONDUCT.md isn't correct

Your required text does not appear to be correct
As of January 1 2019, Mozilla requires that all GitHub projects include this CODE_OF_CONDUCT.md file in the project root. The file has two parts:

Required Text - All text under the headings Community Participation Guidelines and How to Report, are required, and should not be altered.
Optional Text - The Project Specific Etiquette heading provides a space to speak more specifically about ways people can work effectively and inclusively together. Some examples of those can be found on the Firefox Debugger project, and Common Voice. (The optional part is commented out in the raw template file, and will not be visible until you modify and uncomment that part.)

If you have any questions about this file, or Code of Conduct policies and procedures, please reach out to<EMAIL_ADDRESS>(Message COC003)

Fixed by https://github.com/mdn/beginner-html-site-styled/commit/3a59e27a0b1758c7407e748578c42e365ec46618


Make predictor functions cacheable

Because the functions returned by build_predictor are async def they are not cacheble using functools.cache or functools.lru_cache. If these are used, the awaitable coroutine itself is cached, and a couroutine can only awaited once.

async-lru can be used to cache predictors.


Add React VR

[Insert URL to the list here]
https://github.com/nikgraf/awesome-react-vr
[Explain what this list is about and why it should be included here]
Curated list of resources: presentations, blog posts, articles and components about using React VR.
By submitting this pull request I confirm I've read and complied with the below requirements.
Please read it multiple times. I spent a lot of time on these guidelines and most people miss a lot.

I have read and understood the contribution guidelines and the instructions for creating a list.
This pull request has a descriptive title.For example, Add Name of List, not Update readme.md or Add awesome list.
The entry in the Awesome list should:

Include a short description about the project/theme of the list. It should not describe the list itself.Example: - [Fish](…) - User-friendly shell., not - [Fish](…) - Resources for Fish..
Be added at the bottom of the appropriate category.

The list I'm submitting complies with these requirements:

Has been around for at least 30 days.That means 30 days from either the first real commit or when it was open-sourced. Whatever is most recent.
It's the result of hard work and the best I could possibly produce.
Non-generated Markdown file in a GitHub repo.
Includes a succinct description of the project/theme at the top of the readme. (Example)
The repo should have awesome-list & awesome as GitHub topics. I encourage you to add more relevant topics.
Not a duplicate.
Only has awesome items. Awesome lists are curations of the best, not everything.
Includes a project logo/illustration whenever possible.

Placed at the top-right of the readme. (Example)
The image should link to the project website or any relevant website.
The image should be high-DPI. Set it to maximum half the width of the original image.

Entries have a description, unless the title is descriptive enough by itself. It rarely is though.
Has the Awesome badge on the right side of the list heading,
Has a Table of Contents section.

Should be named Contents, not Table of Contents.
Should be the first section in the list.
Should only have one level of sub-lists, preferably none.

Has an appropriate license.

That means something like CC0, not a code licence like MIT, BSD, Apache, etc.
If you use a license badge, it should be SVG, not PNG.

Has contribution guidelines.

The file should be named contributing.md. Casing is up to you.

Has consistent formatting and proper spelling/grammar.

Each link description starts with an uppercase character and ends with a period.Example: - [AVA](…) - JavaScript test runner.
Drop all the A / An prefixes in the descriptions.
Consistent and correct naming. For example, Node.js, not NodeJS or node.js.

Doesn't include a Travis badge.You can still use Travis for list linting, but the badge has no value in the readme.

Go to the top and read it again.

Make sure you follow the above guidelines. Doesn't hurt to read them twice. Most people miss many things.

+1 👍

@nikgraf ping :)

@sindresorhus I just went through the whole list twice. I fixed added some periods and changed ReactVR to React VR in a few places.
Regarding content I follow newsletters and did some Google searches, but there is not more content I consider awesome. It's still a niche topic.
How to proceed? Close the PR?

Has a Table of Contents section. Should be named Contents, not Table of Contents.

:arrow_up:

A Hitchhiker's Guide to React VR at React Amsterdam 2017 by Nik Graf => A Hitchhiker's Guide to React VR - At React Amsterdam 2017 by Nik Graf.
Applies to all the other links in that section too.

The contribution guidelines are just copy-pasted from Awesome. Customize it for your list.

How to proceed?

I'm gonna accept it as it's an interesting topic that will become more popular going forward.

Ping

Closing for lack of response.


Alternative directive name

Removes leftover disableClick code and docs
Supports the client application using a directive name other than v-touch if desired

Hi @brophdawg11 ,
Thanks for your pull request. But I don't think add an option to let user customize the directive name is a good idea.
Refer to #30 , seperate the install function and the directive itself to different exports,  and users can use Vue.directive() function or a directives property in .vue files to define the directive themselves, like below:
import Vue from 'vue'
import {directive} from 'vue2-touch-events'

Vue.directive('my-touch', directive)

But I didn't complete these changes yet. 😞

Yep!  That would provide the same desired behavior.  I'll keep an eye on that PR for the next release.  Thanks!


make table format API

everything that you set with the GUI you should be able to set with an API when you make the table.

https://github.com/twosigma/beaker-notebook/pull/4184


doc: add module diligence section to README

Opening a Draft PR just to start collating feedback on the minimum diligence we should be doing on each of the recommended modules. I've added just some personal ideas just to start. Some of them may seem obvious, but I thought it would be good to explicitly call them out in case it is something we can easily automate as a check.
I propose we spend 10 minutes discussing/defining/expanding this criteria as a group in our next meeting. Following that discussion/agreement, we can explore automating some of these checks (I know there are existing tools for checking licenses, etc.).
Also, I just added this to the README for now, but I am not sure that is the best place for it to live.

Looks like a good starting list to me.

Looks good

When we discuss we should talk about where including npm audit is clean makes sense to include.


[heatmap] several improvements

@mistercrunch @michellethomas
This PR fixes some bugs and adds improvements to the heatmap vis:

fix bug to display this view properly in dashboards (was not displaying at all)
fix bug to display heatmap d3-tip tooltips in dashboards (z-index was off)
don't show empty tooltips on heatmap (pretty bad UI before / not useful)
update logic for margins so they fit dynamically based on label size (see pic); this was pretty bad and could vary hugely based on dataset
remove fire as default heatmap color scheme in favor of blue_white_yellow because it looks nicer

Coverage remained the same at 72.041% when pulling 73964379a1a0c27ee08e82addf66ebea9e257f8b on chris/heatmap-fixes into 0afa5d2cbaf1f4e009d81fe9c117f28178f3cbba on master.

awesome!


feat(technicaluser): new parameters for api expansion for technical user data added

Description
Add Parameter usertype and authentication_service_url in below mentioned api
GET: api/administration/serviceaccount/owncompany/serviceaccounts/{GetServiceAccountId}
Why
For checking user_type internal or external and valid authenticatio_service_url for specific technical user
Issue
#976
Checklist
Please delete options that are not relevant.

[x] I have followed the contributing guidelines
[x] I have performed a self-review of my own code
[x] I have successfully tested my changes locally
[x] I have added tests that prove my changes work
[x] I have checked that new and existing tests pass locally with my changes
[x] I have commented my code, particularly in hard-to-understand areas

@AnuragNagpure please solve the codeQl findings

Please link the corresponding PR for the portal repo for the settings adjustments.

https://github.com/eclipse-tractusx/portal/pull/432


Http auto instrumentation fails when using @FileInterceptor

Sample fork : https://github.com/benitezho/nestjs-otel
Using: nodeJS 16.1.0
Description
I uploaded a sample nestjs main module ready to run.
In the example i created a AppController that outputs on the console the active span from the current context, the line that reproduces the issue its:
// @UseInterceptors(FileInterceptor('field'))
If you uncomment this line, the active span from the current context its undefined when a new request its incoming.
My guess is that Nestjs's @FileInterceptor that uses multer under the hood, somehow it's replacing the async hook request listeners. For that reason, i don't know if this issue should be here.

Hi @benitezho I was able to run that repo locally and replicate the problem. It appears it's actually related to open telemetry http instrumentation. I would suggest opening a ticket on https://github.com/open-telemetry/opentelemetry-js.
It appears other folks had the same problem previously: https://gitter.im/open-telemetry/opentelemetry-node?at=5f2136f33eef7e1ffe3f423c

The parts you are using are not dependent on anything from that lib after all.

If you can try to replicate the example outside next with just an express server and multer

Will leave it open for a bit. I was able to configure a raw example of express and multer. https://github.com/pragmaticivan/express-multer-otel-bug and was not able to reproduce the error.
I also found that having multiple routes, where one has multer, disables http instrumentation alltogether.

I was also able to verify it's fully related to FileInterceptor.

@pragmaticivan Using Multer through Nestjs's module configuration fixes the problem with the otel active context, avoiding the use of @FileInterceptor decorator.
See https://github.com/benitezho/nestjs-otel/commit/68017239b3d2a74b709a70ee5e792cc60f87f0ba
With that said, i guess the problem its with how @FileInteceptor uses multer under the hood, i didn't look through the @FileInterceptor source code yet though.

@pragmaticivan - any advice on how to use this, when FileInterceptor is used?
The instrumentation works great, with all apps, except where FileInterceptor is used.

Hi @pratimsc I'm still looking into FileInterceptor problem. It appears the dependencies for that get load after instrumentation.
A workaround is to use Multer as a middleware (which is the same thing FileInterceptor does) ex: https://github.com/benitezho/nestjs-otel/commit/68017239b3d2a74b709a70ee5e792cc60f87f0ba

@pratimsc @benitezho a lot of the problems I found when I created that lib are going to be fixed in this PR: https://github.com/pragmaticivan/nestjs-otel/pull/55
It will require a Major version though. FYI.

This should be fixed here: https://github.com/pragmaticivan/nestjs-otel/releases/tag/v2.0.0


Upgrade to latest dependency versions

:tada: This PR is included in version 0.2.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Use multi-wait

Since Pulse now supports multiple waiters we can avoid creating a second pulse for the Backend thread.
Also at the same time, I have added an small optimization to create a Barrier only when there are more then one pulse. This avoids a few allocations. It brings the runtime of long_chain from ~1 to ~0.8.

Yay!


Updates for GA

@shishirb-MSFT what will the version of the 'deliveryoptimization-plugin-apt' be?

@shishirb-MSFT what will the version of the 'deliveryoptimization-plugin-apt' be?

It will stay what it is now - 0.5.1


fix #427 update Readme release version to 0.2.1

Ⅰ. Describe what this PR did
update Readme release version to 0.2.1
Ⅱ. Does this pull request fix one issue?
fix #427 update Readme release version to 0.2.1
Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Codecov Report

Merging #428 into develop will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             develop     #428   +/-   ##
==========================================
  Coverage      29.68%   29.68%
  Complexity       626      626
==========================================
  Files            176      176
  Lines           6962     6962
  Branches         848      848
==========================================
  Hits            2067     2067
  Misses          4677     4677
  Partials         218      218

Impacted Files
Coverage Δ
Complexity Δ

...java/com/alibaba/fescar/core/protocol/Version.java
0% <ø> (ø)
0 <0> (ø)
:arrow_down:

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 dbf8a6b...9003b16. Read the comment docs.


Update compilerplugin, scalapb-runtime, ... to 0.11.12

Updates

com.thesamet.scalapb:compilerplugin
com.thesamet.scalapb:scalapb-runtime
com.thesamet.scalapb:scalapb-runtime-grpc

from 0.11.11 to 0.11.12.
GitHub Release Notes - Changelog - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.thesamet.scalapb" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "@monthly" },
  dependency = { groupId = "com.thesamet.scalapb" }
}]

labels: library-update, early-semver-minor, semver-spec-patch, commit-count:1

Superseded by #993.


TxSigner.SignJson should throw an exception if json contains unknown field

This code should throw an exception.
	var signer = TxSigner.FromSecret("snR7czZRBW5tRPTNsnhS1UpY3vx5X");
	var account = "r99V1djgizxfcscPUpUbbR2C2akai7UXDe";

	var r2 = signer.SignJson(JObject.FromObject(new {
                  TransactionType = "AccountSet",
                  Account = account,
                  Fee = "100",
                  Sequence = 10,

                  // unknown field
                  UnknownField = 123121 }));

Latest commits didn't fix this "UnknownField" field problem.

It's intentional, sorry

Will be working on it more tomorrow, as well as typed transactions.
Hold up :)

I added a strict arg to StObject.FromJson and used that from inside TxSigner. Many times in the past it's been useful to be able to just ignore json fields, but I think you're correct in that it makes sense here :)
The TxFormat.Validate routine will only catch missing required fields, and if someone typos an optional field, that would not be fun.
I would like to hear your thoughts about typed transactions. I saw you used interfaces, and UnsignedX.


idea: print inode of file (and even of the parent)

Today I was thinking that instead of building a comprehensive grammar into a lightweight tool like this, it would be useful to allow it to serve other programs as well as possible. An example could be performing operations on files hierarchies (for example deletion).
Naturally, a BFS traversal of a directory tree will find it hard to actually remove the entire tree in one go since the folders one encounters first can't easily be removed. Yet the files can.
Instead of:
$ find . -type f -delete

This would be possible:
# delete all files in a file hierarchy
$ bfs somedir -type f | parallel -X rm
# get rid of empty husk
$ rm -rf somedir

So that's great, doing one thing and one thing well. I wondered whether it could be made even better (and by better I mean faster):

SO: a directory with millions of files, a great answer on how to delete a lot of files as fast as possible, possibly a little misguided (see the next link).
SO: Why is it important to delete files in-order to remove them faster? somehow seeking clarification on the last question and getting told that (most likely) sorting on inode is best.
spd_readdir 2 by the author of ext4, Theodore Ts'o.
LKML:  getdents - ext4 vs btrfs performance, interesting tidbits.

It would seem that sorting by inode would be a good shot. Buffering up an array and sorting it in C is needlessly messy, and there are other tools that can do that. But bfs(1) would need to output the inode number as calling an external program to stat(2) every file is very expensive. Luckily, stat(2) is not necessary since the inode number is present in the dirent struct.
So we can imagine:
$ bfs -i .
 10720996 ./.git
 10721207 ./.gitignore
 10982737 ./bfs
 10979979 ./bfs.c
 10982713 ./bfs.d
 10982714 ./bfs.o

Notice that the output is not sorted by inode number. Naively doing:
$ bfs -i -type f . | sort -n | parallel -X rm -f

Would maybe not be ideal as it is very possible that this places files from lots of different directories close to each other. Intuitively it seems best to "empty" one directory in one god. this would need to be benchmarked though, because I'm just grasping at straws here.
So we could compare that to sorting by inode within a directory. For that it would be sufficient to output the inode of the parent directory as well:
$ bfs -i -p -type f .
...
10720996 10979934 ./.git/ORIG_HEAD
10720996 10721190 ./.git/packed-refs
10720996 10720997 ./.git/refs
10721002 10721003 ./.git/hooks/applypatch-msg.sample
10721002 10721004 ./.git/hooks/commit-msg.sample
10721002 10721005 ./.git/hooks/post-update.sample
...

$ bfs -i -p -type f . | sort -n -k1,2 | cut -f 2- -d' ' | parallel -X rm

That seems nice, if the intuition about what's more convenient for a file system is accurate, which remains to be seen. That said, this will also place directories in non-BFS order, which might be important. An alternative is to output a generation number instead of the parent directories' inode:
$ bfs -i -g -type f .
...
48 10977657 ./.git/objects/a4/7cee3a89da7a2cff6b615e381fd486d5d9c06e
49 10977653 ./.git/objects/a5/41b1002b2830a0bde86a2e50bf7e58cd41ea85
50 10721056 ./.git/objects/ac/11476e20136976bf689acf847fdcea4e05e37a
50 10976289 ./.git/objects/ac/2e304d1fca0aab2eebba954851c3ef759aaaf5
50 10721187 ./.git/objects/ac/6b2e7981854281d75b24fbb972933a25cb5bcc
51 10721048 ./.git/objects/ad/628c395cc45add3e3a87f21250cbd0df1d860e
52 10979608 ./.git/objects/b0/4f245cb03897e2616aaeb643cb03244993b4cd
53 10721137 ./.git/objects/b1/337c8e1dbfe6ae1b9d79e2b16af210562c2e17
53 10721119 ./.git/objects/b1/d430ec463fd1d49bf47443cb143af0e8e9905e
54 10721080 ./.git/objects/b2/510860f1a20cbaab76b3efca68efe9bc530c66
55 10741243 ./.git/objects/b4/0ccb5fe4e00584ec867706b71db707bf3f63ce
56 10721111 ./.git/objects/be/538a8a3cd111795549eecb16f05bce8c8ba907
...

This will allow one to sort only within directories, keeping BFS traversal order.
However, this still has a big problem: sort(1) wait until there's no more input before sorting and outputting. A bfs(1) run on a very large directory tree could take a long time, and in the meanwhile one could be performing operations on files instead of twiddling thumbs.
Something like this could work
bfs -i -dirdelim='\n' -type f | parallel --pipe --recend='\n\n' "sort -n | cut -f 2- -d' ' | parallel -X rm"

While it looks like it could work, it doesn't somehow, parallel(1) doesn't understand. It also looks complicated, which is almost never good.
Anyway, I just wanted to write down my thoughts for possible features. I've implemented a few of them (the output I pasted is mostly real :).

If you're looking for performance, implementing -delete inside bfs is the obvious choice.  Directories can be handled by placing them on a stack or something.  It seems like your examples above with GNU parallel will fork()/exec() rm once per file?!
About the inode number ordering, I consider that a bit of an ext[34]-specific hack.  But I was thinking about supporting name-based sorting (of each directory's children), and at that point it's easy to support inode-based sorting too.  So that could easily become an option.
And if you want to print the inode number then -printf '%i %p\n' will work as soon as I support the find options.

If you're looking for performance, implementing -delete inside bfs is the obvious choice. Directories can be handled by placing them on a stack or something.

Yes, and for only files it would be very easy to incorporate, but it might not even be neccesary:

It seems like your examples above with GNU parallel will fork()/exec() rm once per file?!

No, that's what the -X option is for (see man parallel), it will place as many arguments on rm's commandline as allowed by the OS. If it were not so, then I agree that the fork()/exec() overhead would dominate.
Note that using this way with GNU parallel(1) can be nice for RAID'ed drives with split metadata and large caches, where submitting as many requests in parallel as one can manage and allowing the drives or scheduler to re-order can mean a win. There would be no need for messy threading inside of bfs.
The only thing I didn't consider satisfactorily solved yesterday is this: if one sorts by generation/inode/... with sort(1), you need to sort everything in one go. sort(1) buffers up its input and this can leave a lot of time on the table. I believe and adequate middle ground might be:
# sort by name
$ bfs | parallel -u --pipe --block 10k 'sort | parallel -X rm'

# sort by inode
$ bfs -i | parallel -u --pipe --block 10k 'sort -n -k1 | cut -f 2- -d' ' | parallel -X rm'

Note that (I believe) parallel's --block mode will split by lines if the block boundary doesn't fall on a line. I haven't gotten the -L option to work properly yet.

About the inode number ordering, I consider that a bit of an ext[34]-specific hack.

That's what I was wondering about, it is conceivable that this is good for other filesystems as well. Though judging from Theodore Ts'o's comment it would seem that ext3/4 is affected the most (because of supposed POSIX compliance, which makes me think others might be affected too).
Anyway, this is exactly the reason I didn't suggest inode sorting inside of bfs, it might be too specific a hack.

But I was thinking about supporting name-based sorting (of each directory's children), and at that point it's easy to support inode-based sorting too. So that could easily become an option.

When you support outputting a generation number (strictly monotonic increase each time a new directory is entered), this is easy to do: bfs -g | sort | cut -f 2- -d. I'm saying this provides more flexibility with less code. The only thing I sometimes worry about is speed.

And if you want to print the inode number then -printf '%i %p\n' will work as soon as I support the find options.

Right, but as you know I have some fears that incorporating the full find grammar will balloon the source code and not make bfs as enjoyably hackable.

The parts of this I plan to implement (-printf '%i %p') are covered by #6.

FYI -printf '%i %p' now works.

Thanks a lot Tavian!


Mimetypes in upload not working correctly.

Link to reproduction
No response
Environment Info
Windows 10
Payload Beta v3
Node 20.4
Describe the Bug
Adding values to the mimeTypes field of an uplaodCollection does not have the described effect, instead still allowing to select all files.
Reproduction Steps
Create a new collection and add the following config:
...
upload : {
        filesRequiredOnCreate : true,
        mimeTypes : ["application/pdf"]
    },
...

It allows the selection of any arbitrary file and only throws an error when trying to upload.
Expected Behaviour: It is not possible to allow selecting a file with the wrong extension/mimetype.
Wished Behaviour:

Being able to directly define the file-extension. Arbitrary filetypes that are not part fo the defined MIME-Types are not defineable.
Allowing for access-control and hooks on the upload field to at least manually create the wished behaviour.

Adapters and Plugins
No response

Hey @AlphaMoonbaseBerlin,
I have a PR up for this issue. Now, whether or not it will be merged is another question entirely. There are some nuances when it comes to restricting files by mimetypes on the client. It's not obvious to me the expected behavior of, say for example, the bulkUpload or drag-and-drop functionality with respect to mimetypes. I've chosen to simply omit the files, but maybe the Payload team has a better idea.


At least one field not null validation

Hi, I could not find documentation about this behavior.
I have 2 fields "phone" and "mobile phone"
At least one of these fields as to be required
How to validate this behavior?

You can use a Must call to build a multi-property comparison, then associate it with either the phone property or mobile phone property (or both)
RuleFor(x => x.Phone).Must((x, phone) => !string.IsNullOrEmpty(phone) || !string.IsNullOrEmpty(x.Mobile)).WithMessage("Please specify either a phone number or a mobile number")

I'm sorry but it does not work. Nothing append Oo

You're going to have to give me more detail about what's not working....

You're going to have to give me more detail about what's not working....

It's ok i found the problem, forget it.... Thanks for your help 👍


[iOS] Add heading to onUserLocationChange

Does any other open PR do the same thing?
No
What issue is this PR fixing?
Closes #3934
How did you test this PR?
Added onUserLocationChange callback for iOS to the example app and confirmed heading output matches Google Maps

So this is returning the heading/course now in the location callback. On iOS maps there's an option to display a course indicator with the blue dot that shows location on screen. Does react-native-maps support this or is that something else that i need to code myself?

@kalebheitzman it should. Please take a look at the docs for mapview, otherwise open a separate ticket. showsUserLocation Prop might be what you’re looking for


epoch 1 top-2 val acc, minimum is 0, so  best_val_acc (first epoch can be 80% sometimes)  will be overwritten to 0,

this means the first epoch model is never used, shall we fix this  or let it go? it probabyl won't affect performance sinc ein the second epoch 0 is going to be replaced with second epoch val acc

Update c_msel_val_top_k.py issue https://github.com/marrlab/DomainLab/issues/569, issue https://github.com/marrlab/DomainLab/issues/573
dc2824e


Angular 5 CLI + TypeScript 2.6 example

Hello,
Would it be possible to provide a more recent angular-cli example with surveyjs widgets?
Thank you,
Hristo

Sure. You can check this repo - https://github.com/surveyjs/surveyjs_angular_cli
I've just updated it up to Angular 5 according tp these instructions (https://github.com/angular/angular-cli#user-content-updating-angular-cli and https://angular-update-guide.firebaseapp.com/)
It works ok for me

Thank you for the reply!
One issue though - I updated Angular and TS versions to 5.2 and 2.6.2 and it works, but really slow with the json we are using.
Would it be possible to have a look and maybe point us to the reason why when you start the app and just toggle the answers of the first question is takes considerable amount of time to update the dependent questions?
What's even more baffling is that the more you toggle the answers of the first question the slower it gets...
Just as FYI - we have been using the jquery version of SurveyJS with same json in an Aurelia app so far and have not had this slowness.
surveyjs_angular_cli-master.zip

Closed due to duplicated in the https://github.com/surveyjs/surveyjs/issues/922


Add user authentication support?

If not have authentication, it will make a great security risk.

Indeed it could be interesting that PyxtermJS has an authentication page, I rather agree.
Since Pyxtermjs does not guarantee a long term support, I decided to update Pyxtermjs by making a fork named Termsteel with a more beautiful web interface with customisation and a secure authentication system.
I hope this will help you while waiting for a future update of Pyxtermjs.


Show information about submission failure when showing metadata

Today, if we use the cli asking for a failed workflow submission we got:
cromwell-cli m -o 753d9b97-cb27-4f7c-b6af-c3f1443f0307
+------+---------+---------+--------+
| TASK | ATTEMPT | ELAPSED | STATUS |
+------+---------+---------+--------+
+------+---------+---------+--------+

This issue is to remind me that would be helpfull to see something like:
cromwell-cli m -o 753d9b97-cb27-4f7c-b6af-c3f1443f0307
+------+---------+---------+--------+
| TASK | ATTEMPT | ELAPSED | STATUS |
+------+---------+---------+--------+
+------+---------+---------+--------+

failures:
- Required workflow input 'RfmixPipe.sample_population_map' not specified
- Required workflow input 'RfmixPipe.chromosomes' not specified

This information is available in metadata response, similar to:

Solved in last release


NCMC reporter and Simulation info enhancements

PR meant to address issue #101  for getting simulation information easily.
Addresses two points:

Initialization of the logger module and it's settings is currently embedded in the example scripts.
Reporter for the simulateNCMC phase

I think this is ready for review.

@davidlmobley The output will look like below:
Structure: <Topology; 1 chains, 2 residues, 35 atoms, 34 bonds>
INFO-11:13:08 Options: nstepsNC = 5000
INFO-11:13:08 Options: dt = 0.004
INFO-11:13:08 Options: nstepsMD = 1000
INFO-11:13:08 Options: constraints = HBonds
INFO-11:13:08 Options: friction = 1
INFO-11:13:08 Options: nIter = 100
INFO-11:13:08 Options: verbose = False
INFO-11:13:08 Options: write_move = False
INFO-11:13:08 Options: nonbondedMethod = PME
INFO-11:13:08 Options: ncmc_traj = None
INFO-11:13:08 Options: hydrogenMass = 3.024
INFO-11:13:08 Options: reporter_interval = 250
INFO-11:13:08 Options: temperature = 300.0
INFO-11:13:08 Options: nonbondedCutoff = 10
INFO-11:13:08 Options: outfname = vacDivaline
INFO-11:13:08 Options: platform = OpenCL
INFO-11:13:08 Options: trajectory_interval = 100
INFO-11:13:08 Options: nprop = 3
INFO-11:13:08 HMR Settings:
	timestep: 0.004
	constraints: HBonds
	HydrogenMass: 3.024*unit.dalton
INFO-11:13:09 Running 100 BLUES iterations...
INFO-11:13:09 Iterations = 100
INFO-11:13:09 Timestep = 0.004 ps
INFO-11:13:09 NCMC Steps = 5000
INFO-11:13:09 	nprop = 3
INFO-11:13:09 	Lambda: 0.0 -> 0.2 = 1000.0 NCMC Steps
INFO-11:13:09 	Lambda: 0.2 -> 0.8 = 9000.0 NCMC Steps
INFO-11:13:09 	Lambda: 0.8 -> 1.0 = 1000.0 NCMC Steps
INFO-11:13:09 	11000.0 NCMC Steps/iter
INFO-11:13:09 	44.0 NCMC ps/iter
INFO-11:13:09 MD Steps = 1000
INFO-11:13:09 	4.0 MD ps/iter
INFO-11:13:09 	Trajectory Interval = 0.4 ps
INFO-11:13:09 Total Simulation Time = 4800.0 ps
INFO-11:13:09 	Total NCMC time = 4400 ps
INFO-11:13:09 	Total MD time = 400 ps
INFO-11:13:09 [Iter 0] Advancing 5000 NCMC steps...
INFO-11:13:09 [NCMC] "Step"	"Speed (ns/day)"	"Acc. Moves"	"Iter"
INFO-11:13:09 0		25.6		0		0
INFO-11:13:10 250		18.6		0		0
INFO-11:13:11 500		248		0		0
INFO-11:13:12 750		292		0		0
INFO-11:13:12 1000		168		0		0
INFO-11:13:14 1250		125		0		0
INFO-11:13:15 1500		170		0		0
INFO-11:13:17 1750		171		0		0
INFO-11:13:18 2000		172		0		0
INFO-11:13:19 2250		170		0		0
INFO-11:13:21 Performing SideChainMove...
Rotating bond:  4 (4C-6C) in resnum: 1 by 0.54 radians
INFO-11:13:21 2500		4.69		0		0
INFO-11:13:22 2750		23.3		0		0
INFO-11:13:23 3000		173		0		0
INFO-11:13:25 3250		173		0		0
INFO-11:13:27 3500		13.7		0		0
INFO-11:13:28 3750		166		0		0
INFO-11:13:30 4000		299		0		0
INFO-11:13:31 4250		296		0		0
INFO-11:13:32 4500		305		0		0
INFO-11:13:33 4750		310		0		0
INFO-11:13:33 4999		310		0		0
INFO-11:13:33 NCMC MOVE REJECTED: log_ncmc -12.53262484051005 < -0.8611418027336509
INFO-11:13:33 [Iter 0] Advancing 1000 MD steps...
#"Progress (%)"	"Step"	"Time (ps)"	"Speed (ns/day)"	"Elapsed Time (s)"	"Time Remaining"
0.2%	250	1.0000000000000007	0	0.0002529621124267578	--
0.5%	500	2.0000000000000013	2.07e+03	0.04176020622253418	0:16
0.8%	750	3.000000000000002	2.08e+03	0.08298110961914062	0:16
1.0%	1000	4.000000000000003	2.08e+03	0.12437915802001953	0:16


Fixed a bug causing copy failures

This fixes a bug which occurs when the build script attempts to copy / rename the APKs:
> Task :app:compileOculusGoStableReleaseJavaWithJavac
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.5/userguide/command_line_interface.html#sec:command_line_warnings
BUILD SUCCESSFUL in 25s
33 actionable tasks: 32 executed, 1 up-to-date

Done [2m 26s]

cp: cannot stat 'ALVR/packaging/..//build/alvr_client_oculus_go/*': No such file or directory
cp: cannot stat 'ALVR/packaging/..//build/alvr_client_oculus_quest/*': No such file or directory
2022-01-19 01:23:05 - Info: ALVR client built successfully.

This is resolved by making sure an absolute path is given for ${repoDir}

CI fail unrelated.


Mention components in Readme.

Motivation
Which issue does this fix? Fixes #issue number
If no issue exists, what is the fix or new feature? Were there any reasons to fix/implement things that are not obvious?
Checklist

[ ] Code follows coding conventions held in this repo
[ ] Automated tests have been added
[ ] Tests are passing
[ ] Docu has been updated (if applicable)
[ ] Temporary settings (e.g. project ID used during development and testing) have been reverted to defaults

How to test
If manual testing is required, what are the steps?

Links in wiki updated, thanks :)


Graduate compiled-with-go.yml

:mortar_board:
Graduating compiled-with-go now that a sample is in capa-testfiles

🎈


Pull Request Manager Hub is taking longer than expected to load.

Describe the bug
When trying to use the Pull Request Manager, it only displays a loading animantion and the message "Pull Request Manager Hub is taking longer than expected to load." above. (Waited for >10 minutes)
To Reproduce
Steps to reproduce the behavior:

Install Pull Request Manager
Navigate to Devops (https://dev.azure.com/...) -> Repos -> Pull Request Manager Hub

Expected behavior
Manager shows up normally.
Desktop:

Browser: Google Chrome Version 90.0.4430.72 (64bit)

Additional context
In case it might be another Extension that is interferring, i have installed the following:

Hi @TobiStr
That could be something related to ADO because we don't host anything outside of ADO boundaries and all APIs are standards and used from ADO too. How many projects and repos do you have? That could make the things to slow down.

Hi @cribeiro84
Thank you for the quick reply. Sorry, but what is ADO?
We currently have 14 projects.

Hello @TobiStr
ADO is Azure DevOps, sorry for the confusion. 14 projects is not that much so it shouldn't take too long. Can you check if in the console (developer tools of the browser) if any error is shown there? If so, could you please share it with me?

For some reason, it works now without me doing anything about it... Thank you anyway :)


Using JSON to import comsol results

Description
    comsol_variables = json.load(open(comsol_results_path, "rb"))
    variable = np.array(comsol_variables["variable_name"])

The default imported data from JSON has list datatype so a bit of pre-processing is done before it can be used to plot. np.array() converts the multi-dim list to multi-dim numpy array.
Addresses a part of #4026
Type of change
Please add a line in the relevant section of CHANGELOG.md to document the change (include PR #) - note reverse order of PR #s. If necessary, also add to the list of breaking changes.

[ ] New feature (non-breaking change which adds functionality)
[ ] Optimization (back-end change that speeds up the code)
[x] Bug fix (non-breaking change which fixes an issue)

Key checklist:

[x] No style issues: $ pre-commit run (or $ nox -s pre-commit) (see CONTRIBUTING.md for how to set this up to run automatically when committing locally, in just two lines of code)
[ ] All tests pass: $ python run-tests.py --all (or $ nox -s tests)
[x] The documentation builds: $ python run-tests.py --doctest (or $ nox -s doctests)

You can run integration tests, unit tests, and doctests together at once, using $ python run-tests.py --quick (or $ nox -s quick).
Further checks:

[x] Code is commented, particularly in hard-to-understand areas
[ ] Tests added that prove fix is effective or that feature works

If this works then I am happy with it. It looks like the lychee thing is unrelated

Lychee is fixed here #4065

import json
import pickle
import numpy as np

files = ["comsol_01C.json","comsol_05C.json", "comsol_1C.json", "comsol_1plus1D_3C.json","comsol_2C.json", "comsol_3C.json"]

for file in files:
    with open(file.split('.')[0] + ".pickle", 'rb') as infile:
        pickleobj = pickle.load(infile)

        for i in pickleobj:

            if i == 'solution_time':
                pickleobj[i] = None
                continue
            else:
                pickleobj[i] = pickleobj[i].tolist()

    with open(file, 'w', encoding='utf-8') as outfile:
        json.dump(pickleobj, outfile, ensure_ascii=False, indent=4)

For reference, I am attaching the code I used to convert the pickle data with multi-dim arrays to JSON. JSON doesn't allow ndarray serialization so I had to convert the multi-dim arrays to a multi-dim lists to write to JSON. Only key name with 'solution_time' had a NoneType as value and not array which is why the extra if statement is added to include the edge case.

Would be good to keep the COMSOL results in a separate location e.g. using pooch as discussed on Slack. That can be a separate PR

The only trouble that I feel this will cause is that it would require an active internet connection for those who would wish to use such data for their experiments, but then for someone to download and install PyBaMM, doing that requires an internet connection anyway... so I agree that this can be done overall – @santacodes, would you be willing to do this further? I just created a new repository for this at https://github.com/pybamm-team/pybamm-data, and named it as such rather than giving a COMSOL-specific name because we can move other CSV files for drive cycles, Enertech cells, etc. as well. I'll copy the files over there once this PR gets merged.

In the absence of a network connection, we will have to skip relevant tests that use these data files. The scikit-image test suite has examples of this behaviour and pytest can be configured with fixtures, i.e., @pytest.mark.network and then configuring the test suite to run pytest -m "not network"

Would be good to keep the COMSOL results in a separate location e.g. using pooch as discussed on Slack. That can be a separate PR

The only trouble that I feel this will cause is that it would require an active internet connection for those who would wish to use such data for their experiments, but then for someone to download and install PyBaMM, doing that requires an internet connection anyway... so I agree that this can be done overall – @santacodes, would you be willing to do this further? I just created a new repository for this at https://github.com/pybamm-team/pybamm-data, and named it as such rather than giving a COMSOL-specific name because we can move other CSV files for drive cycles, Enertech cells, etc. as well. I'll copy the files over there once this PR gets merged.

Sure I am willing to work on it, I'll get started once this PR is merged.

In the absence of a network connection, we will have to skip relevant tests that use these data files.

Just an aside, but I am not able to use nox for testing without connection anyway. I think if the files were handled in a way that they are stored elsewhere and downloaded only if they don't exist would solve most issues for that

Just an aside, but I am not able to use nox for testing without connection anyway.

This is because nox is installing the dependencies for you besides running the tests, so if you have your pip downloads cached and your virtual environments in place in .nox/ , then it should be able to function without an internet connection. You can also do nox -s unit --no-install to skip the installation step that requires internet access, that will start the test runner without executing any session.install("<...>") statements.

I think if the files were handled in a way that they are stored elsewhere and downloaded only if they don't exist would solve most issues for that

Yes, pooch will handle this. It will store these files in your OS cache (or a specified location if needed, but this is not recommended) and will raise an error if those files are tampered with (by verifying the SHA-256 checksum for the files). It will re-download the files only if they don't exist.

pouch_cell_model.ipynb was failing doctests which seems like an unrelated issue. I left out manifest.in as we would be moving the JSON files to a separate repository for pooch.

Should we add this commit hash to .git-blame-ignore-revs?

I don't think we should, because these are relevant code changes and they will not spoil the git blame (the revisions are not scattered across the codebase but are rather in a specific directory).

I edited the PR description so that it does not close the linked issue, we can track the second half there. I'll edit the issue description.


Task of error handler with Koa 2 cannot pass

In the task of error handler, the response cannot be set with ctx.body = 'internal server error'. Here is my error handler :
function errorHandler(ctx, next) {
    try {
       return next();
    }
    catch(err) {
      ctx.status = err.status || 500;
      ctx.body = 'internal server error';
      // emit can't help
      // ctx.app.emit('error', err, ctx);
    }
}

When I verify my codes, the third test always fails :
3.  ACTUAL:    "responds "Internal Server Error" when requesting /error"
3.  EXPECTED:  "responds "internal server error" when requesting /error"

this project is only test in koa@1 now.  :(

@dead-horse Thanks for your reply. I've created a pull request which modifies the README to figure out that.

Two things of note, possibly spoilers:

About the solution criteria
It seems a passing solution only needs a matching response body, not the response status.
I guess the author intended a response 200 with different message bodies,
while some readers (including myself) think the status code has to match the route.
(So that /500 returns HTTP 500 etc.)

About setting the response body with HTTP status >= 500
As per the http-errors docs,
it seems one needs to set err.expose = true in order to set a custom response body.
That certainly doesn't seem like the author's intention.

To summarize I think elaborating the solution criteria might be a good idea.


Are there any plans to support bn128 elliptic curves?

The bls12_381 elliptic curve can be compiled in circom, but the circomlib that uses baby jubjub (e.g. eddsa) cannot be used because it is on bn128.
Probably not even a hash function can be used.

Ok, thank you for your suggestion. In the near future, I will start to add support for bn curves and increase support for arkworks library 😸

Hi @atsupontio , i have implemented the bn256 curve adapter, so we can verify the proof generated by the circom using bn128 ! :), next i will support it in substrate!


remove preview text for sql 2022

for #21639
Now that SQL Server 2022 is GA, we need to remove the preview text from the following places.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 42.022%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
28599

Relevant Lines:
63211

💛  - Coveralls


Opt-in feature flags are needed

As a monolith, this project has a lot of capabilities that were bolted on. To make the product more useful, especially just a subset, it would be ideal to add a new file config/features.json or similar that would have a set of feature flags for the product.
By default most of the flags should be defined to be false, so an explicit environment variable will need to be set (in a Kubernetes deployment file, a Dockerfile, etc.) to opt-in to capabilities.
Things that come to mind include:

API
Extension APIs
"Personal Access Token" features

etc.

Going to implement in a forward-looking way for now...


不支持Flutter 3.0

不支持Flutter 3.0

不支持Flutter 3.0

pull_to_refresh_flutter3: ^2.0.1

i think we need to update documentation on pub dev for pull_to_refresh: ^2.0.0 to direction into pull_to_refresh_flutter3: ^2.0.1

pull_to_refresh3 any which doesn't exist (could not find package pull_to_refresh3 at https://pub.dartlang.org)

无卵用

pull_to_refresh_flutter3

pull_to_refresh_flutter3 无卵用


Upload fails due to missing profile information

Please use the following template when submitting issues:
Issue Template
Issue Type

[x] Bug
[ ] Enhancement

Description
Uploading of reports via API fails due to missing contact information.
Recommendation: Allow missing values in the users profile
Operating System
docker-DefectDojo
Install

[x] docker

DefectDojo Version
1.5.2
Steps to Reproduce
Start docker.
export API_KEY
Create a product and call:
~/git/defectdojo_api/examples$ python dojo_ci_cd.py --product=1 --file "$(pwd)/scan-results/arachni/<IP_ADDRESS>-2018-08-24-15_34_36.2.json" --scanner="Arachni Scan"  --host=http://localhost:8000 --api_key=$DOJO_API_KEY --user=admin --critical=0 --high=0
Uploading Arachni Scan scan: /home/tpagel/git/defectdojo_api/examples/scan-results/arachni/<IP_ADDRESS>-2018-08-24-15_34_36.2.json
Upload failed: Detailed error message: {"error_message": "User has no usercontactinfo.", "traceback": "Traceback (most recent call last):\n\n  File "/usr/local/lib/python2.7/dist-packages/tastypie/resources.py", line 227, in wrapper\n    response = callback(request, *args, **kwargs)\n\n  File "/usr/local/lib/python2.7/dist-packages/tastypie/resources.py", line 467, in dispatch_list\n    return self.dispatch('list', request, **kwargs)\n\n  File "/usr/local/lib/python2.7/dist-packages/tastypie/resources.py", line 499, in dispatch\n    response = method(request, **kwargs)\n\n  File "/usr/local/lib/python2.7/dist-packages/tastypie/resources.py", line 1408, in post_list\n    updated_bundle = self.obj_create(bundle, **self.remove_api_resource_names(kwargs))\n\n  File "/opt/django-DefectDojo/dojo/api.py", line 1378, in obj_create\n    item.save(dedupe_option=False)\n\n  File "/opt/django-DefectDojo/dojo/models.py", line 1191, in save\n    if self.reporter.usercontactinfo.block_execution:\n\n  File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/related_descriptors.py", line 407, in get\n    self.related.get_accessor_name()\n\nRelatedObjectDoesNotExist: User has no usercontactinfo.\n"}

This specific bug only occurs when using the root user.


Update URLS to Agiloft's current recommendation

Removed outdated references to "saas.enterprisewizard"
Removed /project from " Identifier" URL (4a) as Agilfot now defaults to https://.agiloft.com/<KB_NAME>rather than https://.agiloft.com/project/<KB_NAME>

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

#sign-off


Improve wording of error messages in exceptions

Should do a pass through and make these more useful/actionable.
E.g. schema_line: %s does not exist - doesn't exactly tell what failed. That we're looking for a variable named x which is a Schema, or an object with a Schema such as a table.

Fixed in e9201c783e96cd19a894d8f51ed76bb03d244b7d


[BUG] graphrag pods cannot reach CosmosDB when accelerator is deployed in Azure Government

Describe the bug
Deploying the accelerator to Azure Government results in the following CrashLoopBackoff error for both the -index and -query pods.
azure.cosmos.exceptions.CosmosHttpResponseError: (Forbidden) Request originated from IP 52.XXX.XXX.XXX through public internet. This is blocked by your Cosmos DB account firewall settings. More info:
https://aka.ms/cosmosdb-tsg-forbidden
ActivityId: XXXX, Microsoft.Azure.Documents.Common/2.14.0
Code: Forbidden
Message: Request originated from IP 52.XXX.XXX.XXX through public internet. This is blocked by your Cosmos DB account firewall settings. More info:
https://aka.ms/cosmosdb-tsg-forbidden
ActivityId: XXXX, Microsoft.Azure.Documents.Common/2.14.0

This is because the CosmosDB firewall has Public network access disabled and the pods in AKS require access via the AKS API Server PIP.
I'm not sure why this is not a problem in Azure Commercial.
To Reproduce
Steps to reproduce the behavior:
az cloud set --name "AzureUSGovernment"
az login

Follow the Deployment guide but deploy to Azure Government instead of Azure Commercial. Do not use either the -d or -g option.

The following additional params are required in deploy.paramaters.json
  "AISEARCH_ENDPOINT_SUFFIX": "search.azure.us",
  "AISEARCH_AUDIENCE": "https://search.azure.us",
  "CLOUD_NAME":"AzureUSGovernment",
  "GRAPHRAG_COGNITIVE_SERVICES_ENDPOINT":"https://cognitiveservices.azure.us/.default"

Some notes/workarounds

Deploying with -g or -d does not have this issue.
You can manually add the AKS VNET to the CosmosDB Firewall via the Portal. Networking -> Public Access -> Selected Networks -> Existing Virtual Network -> (select your AKS vnet in the MC_xxx resource group created by the deployment) -> Save
I believe this can also be done via the az cli but have not tested that yet.

A proper fix is likely to deploy the AKS cluster in private cluster mode with public fqdn disabled, and establish a private endpoint between the AKS cluster and Cosmos (and the other resources it needs to reach).

Need to test this again after changes from #123 were introduced.


Remove Redux

https://twitter.com/estejs/status/898694355908689921
Everything can be expressed via typed props. Just as I had it in old Este.
Relay Modern is going to replace cases for a local state anyway. Meanwhile, we can persist app state manually. The song explains it.
https://www.youtube.com/watch?v=JErbIvfh1UM

This is a long term issue. Meanwhile, don't use it.

ok


Standardize estimator parameter names

Running some tests with HSC data, Eric noticed that I was a bit loose with some of the common parameter names in a few estimation stages, e.g. column_names in Inform_KNearNeigh been the equivalent of bands in most of the other estimators, we should make these more standard for a v1 RAIL release.  There is infrastructure for propagating this info across multiple stages/estimators already implemented via the rail.core.common_params option SHARED_PARAMS, so we might want to switch the estimators to use SHARED_PARAMS and set this in just one place.

Done a while back.


Reenable FEMU tasks

In https://github.com/flutter/flutter/issues/122743 we disabled the FEMU tests because they were flakey at the request of @sebmarchand.  We need to reenable the tests after the flakiness is resolved in fuchsia.

Ping @sebmarchand for the issue to cross-reference. Is this a P2?

Sorry for the delay. The issue on the Fuchsia side is https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=123729
I believe that we can move the "Linux Fuchsia FEMU" builder out of bringup, only the "Linux Fuchsia arm64 FEMU" one suffers from this bug, the x64 variant is pretty stable.

Resolved in https://github.com/flutter/engine/pull/40537


fix unequal cpuCurrentSpeed function name in index.d.ts to document

I am using it with typescript, and found a big error
There is an error that unequal function name in index.d.ts to document, so i matched function.
I tested in my project, it works.
Thank you for providing good library

@kkan0615 fixed ... sorry, I renamed a view functions and attributes and forgot to adapt this one in index.d.ts.
Version 5.0.8 just published

@kkan0615 fixed ... sorry, I renamed a view functions and attributes and forgot to adapt this one in index.d.ts.
Version 5.0.8 just published


arch: arm: cortex_a_r: XIP=y causes linker error

When a Cortex A/R based SoC is compiled with CONFIG_XIP=y, linking fails with the following syntax error:
/home/sigmundk/src/zephy-extra/zephyr-extra/toolchain/be-gcc-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/9.3.1p1/../../../../arm-none-eabi/bin/ld.bfd:zephyr/linker_zephyr_pre0.cmd:175
: syntax error
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.

I am compiling for an ARM Cortex R4F, using out-of-tree SoC support for the TMS570LS1224 which is linked at the bottom of the issue. The cause seems to be the below line (from linker_zephyr_pre0.cmd:175):
bss (NOLOAD) : ALIGN_WITH_INPUT ALIGN(_region_min_align)

which is the result of:
https://github.com/zephyrproject-rtos/zephyr/blob/d9b3ffa5eafc1f7e6dad0e57f01d9e787cfd0fc5/include/zephyr/arch/arm/cortex_a_r/scripts/linker.ld#L277
From what I can tell, combining ALIGN_WITH_INPUT and ALIGN is not supported, however I'm not sure of this. For me, replacing
SECTION_DATA_PROLOGUE with SECTION_PROLOGUE fixed the issue, but I don't know if that is the best solution.
To Reproduce
Steps to reproduce the behavior:

Select a Cortex A/R based SoC
Compile with `CONFIG_XIP=y
See error

Expected behavior
Successful compilation
Impact
Prevents compilation
Environment (please complete the following information):

OS: Ubuntu 20.04
Toolchain Both the latest version of the Zephyr SDK, as well as the toolchain in the repository linked below was tried.
Commit SHA or Version used: 23a03b7a0a494e27316fdd7fdb453a0409b99aa9

Additional context
My setup, including a patched big endian ARM GCC toolchain, is available at https://github.com/OrbitNTNU/zephyr-hw

@sigmundklaa - can you potentially reproduce this with an in-tree board?

CC @dleach02

@sigmundklaa - can you potentially reproduce this with an in-tree board?

Yes ofcourse. I get the same error when compiling for the nxp/s32z2xxdc2/s32z270/rtu1 board, using:
west build -p always -b s32z2xxdc2/s32z270/rtu1 samples/hello_world -- -DCONFIG_XIP=y

I am facing the same problem, trying to compile zephyr for another chip in the family. My toolchain is even older, GCC 7.5.0 (big endian).

@sigmundklaa hello, I managed to build the zephyr toolchain (GCC 12.x) for armv7-r big-endian. Please check https://github.com/zephyrproject-rtos/sdk-ng/pull/765
Here's direct link to the download: https://github.com/zephyrproject-rtos/sdk-ng/suites/24251779094/artifacts/1546357536

@ntavish Nice! I can check it out later. Did that in any way impact the XIP issue though?

I think so, don't see it anymore, although I have several other errors right now and possibly my build stops before that (seems unlikely though).

Just tested, same error on GCC 12.2:

I think @sigmundklaa's reasoning is correct and the two cannot be combined, please check the PR I made.


Add Less Linter

Add a Less Linter to the build for .less files.
Suggested linter: https://www.npmjs.com/package/gulp-lesshint

outdated - closing


”Stănilești” is listed in the drop-down menu

Description:
"Stănilești" is listed in the drop-down menu alongside its corresponding county and commune, according to the law.
Precondition:
The website is up an running.

Step 1
Type "Stănilești" in the search bar.

Expected results
The location is listed in the drop-down menu as "Comuna Stănilești, VASLUI".


Build via Nix on M1

This mirrors the changes made to KEVM to enable the Nix build on our self-hosted M1 machine.

@F-WRunTime the M1 check will need to be added to the required list here as well - thank you!

Added Nix/ BUild M1 to the checks list. There are conflicts here so we should see it be required and run here on the conflict resolution push

Thanks @F-WRunTime! Much appreciated.


Added esd article support to rest-api

1. Why is this change necessary?
Its currently impossible to create esd articles throught the api without passing Doctrine models
2. What does this change do, exactly?
Adds a transformer from array to doctrine models :)
3. Describe each step to reproduce the issue or behaviour.
Just check the tests
4. Please link to the relevant issues (if any).
5. Which documentation changes (if any) need to be made because of this PR?
Document how the array looks like :D
6. Checklist

[X] I have written tests and verified that they fail without my change
[X] I have squashed any insignificant commits
[X] This change has comments for package types, values, functions, and non-obvious lines of code
[X] I have read the contribution requirements and fulfil them.

Thanks @shyim. Your own test is failing ;-)

I have no idea why its failing on my docker mashine its working normally and the error message in travis looks weird
my log: https://dpaste.de/wCAT

@shyim could you try to fix it or find out why it is failing?

Hello,
thank you for creating this pull request.
I have opened an issue on our Issue Tracker for you. See the issue link: https://issues.shopware.com/issues/SW-20224
Please use this issue to track the state of your pull request.

Thanks @shyim! 💙


shortcuts does not see newly added collection items

I have a collection of shipmentItems. I draw the asterisk (*) using my own shortcut. But when I add a new item to the collection, the $isRequired property is undefined for the newly created item and so the asterisk does not appear. I have added both - reproduction and video screencast to make it clear.
You can see in my screencast that my first 2 items have asterisk (*) and $isRequired but when I click on "Add Shipment Item" the new item does not have it 😞
Reproduction:
https://stackblitz.com/~/github.com/martinszeltins/regle-test-6
Screencast:
https://github.com/user-attachments/assets/25d60e87-c120-4d76-963f-28b2b4cc2414

I also noticed that the new item does not validate the rule correctly

Crap I tested it before! I'll look into this bug

Fixed in 0.2.6

Fixed in 0.2.6

Works as expected now! Thanks!