Remove wires, replacing them with nodes

This isn't quite ready to merge, needs a few things

[x] https://github.com/freechipsproject/firrtl/pull/653 must be merged first
[ ] Need to fix Flatten Transform test
[ ] This breaks the no-check-comb-loop test. This means no-check-comb-loop would not prevent an error if the combinational loop is within a single module. I think this is reasonable since the benefits outweigh the costs but it requires thought.
[ ] Fix Travis formal check because it currently requires 1:1 for all nodes in the compared designs

For the latter especially the real question is if we should ban wires from low firrtl. We don't technically have to, but not having wires makes a lot of things easier. Since combinational loops within a module this has implications for the no-check-comb-loops flag.

How does no-check-comb-loop work?

no-check-comb-loop just disables the check for combinational loops. Currently I think everything just kind of works with this disabled even though we generally assume no combinational loops. It is obviously not possible to replace a combinational loop using wires with flow-forward node logic so the question is how to deal with this.
To solve this in the short-term, we could just abort this transform if there's a combinational loop. Currently, this would just result in worse QoR from optimization passes which isn't that big of a deal. Ultimately I want to make low firrtl not allow wires which would simplify transforms quite a bit. To do that, we either need to accept that this is going to be a problem for people with false combinational loops (which currently easily can come from using Mux1H in Chisel for example), or we need to break these false combinational loops. One simple workaround could be to just insert a passthrough module to "break" the loop from the flow-forward logic perspective.

So it breaks no-comb-loop-check in a way totally unrelated to the combinational loop checker (which isn't even run), since it just fails to replace wires with nodes?

Yeah that's right. It only breaks if the combinational loop is within a module.

I think what I'm going to do is just abort removing wires if there's a combinational loop and do the work of banning wires from low firrtl in a future PR.

@jackkoenig as a passing note, the BitReduction pass I have been working on changes all the low firrtl nodes with wires (based on a suggestion from @azidar). Maybe this is all fine, that effectively I'm bumping my ingested low Firrtl to middle Firrtl and I can bump back down at the end.  But still seems worth mentioning.

@chick Thanks for the heads up. Replacing nodes with wires is perfectly fine and can make it easier to do certain things (like take advantage of last connect semantics to inject logic). I do believe that ultimately LowFirrtl should mandate no wires. If we do add that restriction there's nothing wrong with introducing them and then removing them again. We can make that decision later though, I'm not going to try to ban wires with this PR.

I finally got Travis to pass!
In summary, I improved the yosys check to be more robust, but then Travis would kill the check because it took too long. I have not yet figured out how to get Travis to not kill the check (I know about and tried travis_wait, but it seems that there's per-process stuff here and travis_wait goes on the wrapper script, not the yosys process so it gets killed anyway). Instead, I changed it from checking the Rob to checking a few smaller pieces from rocket that should nevertheless give similar if not better "coverage" of firrtl features.

@azidar so what do you think about merging this? It both removes wires and refactors the formal testing, I could try to split them up but it could get pretty gnarly

@azidar So it actually doesn't reorder as badly as you would assume since ExpandWhens does something similar with leftover logic followed by connections from when blocks followed by simulation constructs. It does a pretty good job of keeping non-dependent but nearby logic together. If you think about groups of nodes as "basic blocks" and connections to wires as "branches" it seems to move blocks of logic around but keeps the order inside intact (even if it doesn't have to). You can try out this PR vs. master on any of the code in regress and do a diff (vimdiff helps) to see what I mean.

I was able to clean the commit history up substantially, I'm going to merge this once CI passes


[Question] Test clean up

Hi @rdeltour @tofi86 @mattgarrish
I've just read through the Clean up Test documentation on the wiki with all the different links. And I just want to clarify that I understood the task.
We need to reorganize the test under src/test/resources and all these are present in multiple directories today namely
20
30
com.adobe.epubcheck
css
minimal-epub
stress
All of these are incorrect and need to be replaced with new tests.
The new test directory should be called src/test/resources/testFiles ? (don't like the camelcase where a package name is more java native eg. "test.files". I'm not really keen on the naming either but if you decided then I will fall in line.
The rest of the structure under testFiles should follow the outlined structure from the epubcheck Tests Directory Structure Proposal with either long names or short names depending on the first implementer doing the job.
Last part that puzzled me was that the proposal talked about using exploded epubs preferably for readability or reusability of tests. I'm not sure what the benefits are but I might have missed something there.
The reason I ask these questions is that I might get bored during the holidays and if I don't have any private projects that need tinkering I might give this task a go.
Best regards
Daniel

Hej Daniel,
the tests in 20 and 30 are quite okay compared to the ones in com.adobe.epubcheck so I would assign them with lower priority.
The tests in com.adobe.epubcheck are high priority because most code changes result in huge JSON/XML/RDF report diffs because of the "dirty" test epubs and this is the biggest pain point in maintaining the current tests.
minimal-epub is not a testcase but an epub template which could/should be used for new tests and which shouldn't generate any side-effect error/warning/usage messages (did a cleanup recently).
I don't have any preference on how to name the test directory. @rdeltour ?
The point about using exploded EPUBs is mainly that changes in the test files inside an EPUB can be diffed with Git whereas diffing changes in a packaged *.epub file is not possible.
I hope this helps! Feel free to ask further questions if necessary, I'll keep an eye on this post ;-)
God jul! 🎄 🎅

Hi Daniel, are you okay if we close this issue? Or shall we keep it open for another while?
Do we need to improve the wiki docs?

I think we can close this issue but updating the wiki docs so the task is clear would be good due to the fact that we are working part-time on these issues and sadly might forget discussions.

I linked to this issue from the wiki page.


Store docker images in Github packages

Instead of saving images as artifacts in workflow, use Github packages (in addition of the Docker Hub): https://docs.github.com/en/actions/publishing-packages-with-github-actions/about-packaging-with-github-actions

Edit : use Github Container registry instead
Thanks to @salem84


Cordova UT app can now refresh content on the fly

The unit test directory is restructured for better code sharing between browser and cordova
Added a cordova app for unit testing
QUnit is added as an npm dependency instead of loading from http://qunit...
The Cordova UT app can refresh content on the fly by loading the specified URL

+@danderson00 for review.
The number of files is large but most are due to a newly added VS Cordova project. Looking at individual commit descriptions should help you look at relevant diffs.

Looks good, a good enhancement to the workflow.


added rebus- hi-fi

Associated Issue: #
Summary of Changes

change 1
change 2

Pull Request Test Coverage Report for Build 949

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 87.143%

Totals

Change from base Build 937:
0.0%

Covered Lines:
158

Relevant Lines:
180

💛  - Coveralls

Pull Request Test Coverage Report for Build 949

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 87.143%

Totals

Change from base Build 937:
0.0%

Covered Lines:
158

Relevant Lines:
180

💛  - Coveralls


Rewrite Logic, Command Class Architecture

Just for yall to see:
In particular, see  java/seedu/address/logic/commands/client and java/seedu/address/logic/parser/ClientCommandParser.java

Codecov Report

Merging #73 (a1a7880) into master (35a4b45) will decrease coverage by 0.76%.
The diff coverage is 55.14%.

@@             Coverage Diff              @@
##             master      #73      +/-   ##
============================================
- Coverage     49.74%   48.97%   -0.77%
- Complexity      430      433       +3
============================================
  Files           104      115      +11
  Lines          1964     2005      +41
  Branches        224      223       -1
============================================
+ Hits            977      982       +5
- Misses          944      979      +35
- Partials         43       44       +1

Impacted Files
Coverage Δ

src/main/java/seedu/address/MainApp.java
0.00% <ø> (ø)

...main/java/seedu/address/commons/core/Messages.java
0.00% <ø> (ø)

...in/java/seedu/address/commons/util/ConfigUtil.java
75.00% <ø> (ø)

...main/java/seedu/address/commons/util/JsonUtil.java
94.11% <ø> (ø)

...rc/main/java/seedu/address/logic/LogicManager.java
72.00% <ø> (+8.00%)
:arrow_up:

...ddress/logic/commands/client/TagClientCommand.java
0.00% <0.00%> (ø)

.../address/logic/commands/issue/AddIssueCommand.java
0.00% <0.00%> (ø)

...dress/logic/commands/issue/DeleteIssueCommand.java
0.00% <0.00%> (ø)

...address/logic/commands/issue/EditIssueCommand.java
0.00% <0.00%> (ø)

...edu/address/logic/commands/issue/IssueCommand.java
0.00% <0.00%> (ø)

... and 33 more

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


"Calling convention must be VarArgs" error raised while binding

using the tinny mapper v2.0.8, when do the binding with the entity which is inherit from the Generic parent entity, the "Calling convention must be VarArgs"  error will be raised.
pls refer to the demo source code in the attached screenshot.

facing this problem in <IP_ADDRESS>.  Is there any update available on this ?
Thanks


Phaser.Particles.Arcade.Emitter.prototype.destroy - Uncaught TypeError: Cannot read property 'particles' of null

When calling destroy() on an Emitter, I get the following error on this line:
93476:  this.game.particles.remove(this);
Uncaught TypeError: Cannot read property 'particles' of null
I'm guessing the reference to this.game is lost when creating a new emitter.

I can't replicate this. The example below works fine. What is different about your version to throw this?

var game = new Phaser.Game(800, 600, Phaser.AUTO, 'phaser-example', { preload: preload, create: create });

var emitter;

function preload() {

    game.load.image('diamond', 'assets/sprites/diamond.png');

}

function create() {

    game.physics.startSystem(Phaser.Physics.ARCADE);

    game.stage.backgroundColor = 0x337799;

    emitter = game.add.emitter(0, 0, 100);

    emitter.makeParticles('diamond');
    emitter.gravity = 200;

    game.input.onDown.addOnce(particleBurst, this);

}

function particleBurst(pointer) {

    emitter.x = pointer.x;
    emitter.y = pointer.y;

    emitter.start(true, 4000, null, 10);

    //  And 2 seconds later we'll destroy the emitter
    game.time.events.add(2000, destroyEmitter, this);

}

function destroyEmitter() {

    emitter.destroy();

}

Sorry I totally missed your reply to this. I will look into it further and report back.

This was indeed a bug in my own code. Long story short, I was calling destroy() on the emitter instance twice in quick succession. So the 2nd time around as expected this.game = null.
Sorry about that. Thanks for taking the time to take a look.


jib-gradle-plugin: How to share image layer caches in CI

Hello,
we are happily using this plugin to build our application containers in Jenkins.
We are using the Jenkins Kubernetes Plugin to spawn a separate (empty) build pod for each built, hence it is quite difficult (and feels odd) to share a directory between the builds to use the layer caching.
Is there a another way to re-use image layer caches?
One approach I could think of would be to use the built-in caching mechanism of gradle.
Is there a way to use that?

Hi @gfelbing.    We're experimenting with some work for the jib task to avoid downloading base image layers that already exist in the remote repository (#1673).
I don't think we had considered trying to register the base image and/or layers with Gradle's caching.

Some questions:

I expect you are already caching a local Maven artifact repository (such as ~/.m2) and sharing it between pod, because otherwise it should be a huge bottleneck. How are you doing that?
Are you talking about caching base image layers only or application layers (all other layers built by Jib) as well? If you only care about the base image layers, #1673 will make it moot, since Jib won't even download/cache base image layers after #1673.
General question: is it technically possible to share a directory (e.g., mount a volume) between pods that Jib can read/write concurrently?

Hi, thanks for your quick reply.
@briandealwis
Yes, we are pushing images to a remote (google container registry) using the jib task.
@chanseokoh

Currently we have all maven dependencies checked into version control and use file() as repository url. But we are considering using a sonatype nexus as maven proxy within the same cluster.
I guess we are talking about caching the application layers only, as we are using gcr.io/distroless/java:11 as base. Our aim would be to not build/push a new image to the registry when the java application didn't change (in terms of gradle states UP-TO-DATE or FROM-CACHE when executing jar/distTar)
As we are running everything in the GCP world, we could technically purchase a Filestore Instance to get an NFS share, but I'd like to avoid that as this would be the only use case. It would be better if we could at least use a GCS bucket holding the cache.

Our aim would be to not build/push a new image to the registry when the java application didn't change (unchanged in terms of gradle states UP-TO-DATE or FROM-CACHE when executing jar/distTar)

Let me understand this. Currently by default, Jib caches application layers under the Gradle build directory (<project root>/build/jib-cache), so within a single container in a pod, if you don't do gradle clean and the Gradle states are UP-TO-DATE, Jib won't rebuild layers. Most likely it won't push those layers to a registry as well, since Jib doesn't actually push layers if they already exist in the registry.
Now, given that you asked how to share application layers between pods, I believe you are already sharing the Gradle build cache between pods, perhaps using a centralized remote Gradle build cache set up somewhere, and containers in pods connect to it. Did I understand right?

You're perfectly right.
Running the jib task twice on the same instance (or locally) without clean in between does the right thing.
Running the jib task on a cleaned state (gradle clean / fresh build pod) twice with the same git HEAD results in pushing a new image, even if the application built is fetched from cache (we use gradle-gcs-build-cache to share the build cache between pods.

It shouldn't push a new image. But it probably does go through more steps to realize it's not pushing a new image. Sorry can you confirm that it is pushing a new hash? If it is, there might be something wrong in our code.

So I executed the following scenario:

Triggering a build running the jib task only → Image pushed with hash 186598e9c1ed48abd1b7993174cdecf346009806e2a761515902ccf7d0ec2388
Re-Triggering the build with the same parameters on the same HEAD → Image pushed with hash 90c9d6d7e9cdff2a8dfea4516c4310837d27e2a73c58e3a0e905d445f844f73d

I ran gradle with the --profile option.
Within the profiling, I can verify that the compile tasks weren't executed (marked as FROM-CACHE).
Only the processResources task was not taken from cache, which is expected as the gradle doc states

:processResources and :jar being Copy-like tasks which are not cacheable since it is generally faster to execute them.

Are you setting useCurrentTimestamp by any chance? Could you or your jib configuration block here?
You can configure your own NFS server within a cluster.  There's a working example in this tool: https://github.com/coollog/kash/tree/master/k8s

No, our jib config block looks like this:
jib {
    from {
        image = 'gcr.io/distroless/java:11'
    }
    container {
        jvmFlags = application.applicationDefaultJvmArgs.collect { it.toString() }
    }
    to {
        image = "eu.gcr.io/[gcp-project-name]/${project.name}"
        auth {
            username = '_json_key'
            password = project.file([path/to/secret]).text
        }
    }
}

We even have reproducible jars:
jar {
    archiveFileName = "${project.name}.jar"
    preserveFileTimestamps = false
    reproducibleFileOrder = true
}

Hmm, I wonder what's changing between your builds.  Here's a few ways to find the differences between the images:

use docker inspect on the two images to see if there are differences in the image configurations
use container-diff to compare the image contents

If it creates two different images from the same source, there must be something actually different in the two images. I'd dissect the two images and find out what is different. Could be something in Images configurations (creation time, some timestamp, label, env, etc.), or something different in the file system.
Back to the topic of sharing Jib's application layer cache:
First of all, note that the application layer cache directory is configurable with -Djib.applicationCache, so you can set it to a directory outside of the usual Gradle build directory.
Now, from reading the Gradle build cache doc (note I have zero experience with it), I see there is a section "Enable caching of non-cacheable tasks". So, I wondered perhaps it might be possible to do a manual set up to cache Jib's application layer cache directory in the Gradle build cache. I think this will require carefully associating input and output (the cache directory) conditions in a correct way where UP-TO-DATE means Jib should not run (i.e., no need to create a new image hence no need to push), and not UP-TO-DATE means there's some change in inputs leading to a different image and Jib should run. But this is purely my speculation, and not sure if this is even viable or can be robust.
I think what @briandealwis said is an alternative: running an NFS server container in your cluster. The setup seems not difficult. Then you could set -Djib.applicationCache to use the mounted NFS. I haven't tried this though.

Just to follow-up on container-diff: container-diff defaults to showing size differences.  You'll probably want to diff based on the image history and file contents:
container-diff diff --type history --type file image1 image2

container-diff diff --type history --type file does not find any difference:
-----File-----

These entries have been added to eu.gcr.io/path/to/image@sha256:186598e9c1ed48abd1b7993174cdecf346009806e2a761515902ccf7d0ec2388: None

These entries have been deleted from eu.gcr.io/path/to/image@sha256:186598e9c1ed48abd1b7993174cdecf346009806e2a761515902ccf7d0ec2388: None

These entries have been changed between eu.gcr.io/path/to/image@sha256:186598e9c1ed48abd1b7993174cdecf346009806e2a761515902ccf7d0ec2388 and eu.gcr.io/path/to/image@sha256:90c9d6d7e9cdff2a8dfea4516c4310837d27e2a73c58e3a0e905d445f844f73d: None

-----History-----

Docker history lines found only in eu.gcr.io/path/to/image@sha256:186598e9c1ed48abd1b7993174cdecf346009806e2a761515902ccf7d0ec2388: None

Docker history lines found only in eu.gcr.io/path/to/image@sha256:90c9d6d7e9cdff2a8dfea4516c4310837d27e2a73c58e3a0e905d445f844f73d: None

The difference when comparing docker inspect is only showing different hashes in the fields Id, RepoDigests, GraphDriver.Data and RootFS.Layers. Latter one has only differences in the last 3 of 7 layers.
Regarding the gradle cache: We could easily configure a task to cache the jib.applicationCache. But unfortunately, we have a chicken-egg problem there. The jib task would only be fetched from cache if it would not have to build the image.
Setting up a NFS would be my last line of defence, if there is no other solution.

So in theory jib should produce the exact same image on all machines, so if they aren't perhaps something is wrong. Are they different architectures or operating systems?

RootFS.Layers. Latter one has only differences in the last 3 of 7 layers.

Hmm... this certainly tells that there are differences in the file systems. The digests are sha256 checksums of (uncompressed) tarballs each representing a layer (i.e., a file system for the layer). If they are different, you have something different in the files.

The jib task would only be fetched from cache if it would not have to build the image.

Maybe I misunderstand how this is supposed to work or the workings of the Gradle buidl cache (I'm not really a Gradle expert), but does this matter? I mean, if Jib doesn't have to build a (new, different) image, I guess there's no need to run the jib task at all (i.e., shouldn't it just skip the Jib task), no?

Well it would be necessary to run a task which output is the layerCache (which is then fetched from the buildCache) before executing jib which can use this output.

Regarding the diffs in the image file system: the contents seems to be equivalent, as container-diff shows.
Unfortunately, container-diff does not show diffs in metadata (permissions, timestamps; see https://github.com/GoogleContainerTools/container-diff/issues/308)
Is there a way to compare these metadata?

Latter one has only differences in the last 3 of 7 layers.

Those are almost certainly your application layers.
I'm not aware of any tools that will list filesystem metadata, beyond usingdocker save and then comparing the layer tars.

Oh and what version of Jib are you using?

So I docker saveed the two images and compared each layer tar using diffoscope.
The difference in the last three layers come from the timestamps of the (toplevel) folders of

app
app/classes
app/resources
app/libs

Their timestamps are equal to the time when the images where created.
The folder contents' metadata (app/classes/META-INF/, app/lib/*.jar, etc.) is then equal again, everything having a timestamp of 1970-01-01 00:00:01.000000

Regarding the version: We are currently using
gradle.plugin.com.google.cloud.tools:jib-gradle-plugin:1.1.0
within our build.

Ok, so the issue seems to be fixed with #1648 in version 1.1.2.
I'll try to update the plugin and re-test.

We just released 1.4.0.  I'll close this issue since it was due to a previously fixed bug.

After the update, it works as expected.
Thanks for the great support!

sorry for being late to the party -
@gfelbing does it work for you because you are using gradle-gcs-build-cache? we have the exactly same setup except we are not using gradle-gcs-build-cache and we still have the issue that all the application layers are created by jib every time

I don't really think gradle-gcs-build-cache matters. If Jib creates different application layers every time, this is an important issue. Can you examine the layers and locate the difference? This issue thread mentions many different tools and methods to check that. dive is another tool to inspect an image. You can also directly look into the layer tarball files in the application cache (<project root>/build/jib-cache by default), assuming the difference is only from the application layers.

@tompson I don't really think gradle-gcs-build-cache matters. If Jib creates different application layers every time, this is an important issue. Can you examine the layers and locate the difference? This issue thread mentions many different tools and methods to check that. dive is another tool to inspect an image. You can also directly look into the layer tarball files in the application cache (<project root>/build/jib-cache by default), assuming the difference is only from the application layers.

Hello folks, this issue is old, hoping this is the right place
Issue: I am using Jenkins master slave running on kubernetes. I am trying to use JIB to build my java (grade) docker images. What is the best way to implement docker caching when using jib? Volume sharing does not seem feasible as the agent pods are ephemeral, and we have multiple builds running parallel (the shared volume should be ReadWriteMany?).
It would be great if jib had a feature like Kaniko where it could use the target docker repo also as a cache repository.
Gradle: 6.3
Jib: 2.4.0
Kubernetes: 1.14

@prakashul this is already answered in the Gitter channel, but to help others coming to the thread:

In practice, Jib doesn't need to download base images (as long as the target repository has them, which will always be the case unless you have never pushed any image to the repoistory). Therefore, there's not much point sharing the base image cache.
That leaves us only with caching application layers (/target/jib-cache in Maven or /build/jib-cache in Gradle by default), but that's per-application cache, so depending on your situation, it may not have much benefit caching them, especially when your application layers are small. Then, because it's per-application cache, unless you build the same application concurrently, maybe you can use a ReadWriteOnce volume if you really want to cache application layers?

Rather, most of the time the main bottleneck in CI is Java application building itself, where Maven or Gradle repeatedly downloads a lot of artifacts into ~/.gradle and ~/.m2 for each build. To speed up building Java applications in CI, you really need to cache these directories.

Hello folks. Did I understand correctly that the only way to reuse the application layers built by jib is to keep the jib cache (under build/jib-cache for Gradle) and reuse it between builds? I.e., jib itself is not able to detect that some of the application layers (like the first one, "other dependencies") it would build are the same ones already available in the image repository?

Basically, yes. If you want, you may change the location of the application layer cache by setting some property whose name I don't remember. Check the usage doc.
If you think about it, you cannot compare layers until you have them. But Jib won't push layers that already exist in the target registry.


Tracks are sorted in descending order and number added on thumbnail for better navigation

Shorted all tracks in descending order so that the all tracks are easily found.
Added number on the track card for better navigation.

Solved #178

It solves this problem.

Screencast1.webm

It looks like need to edit/update the Date in createdAt  for some track (as they looks wrong)

@hkirat sir, should I update the PR or It's not needed now


Email regex too strict

The regex requires a TLD, which isn't required in the email address spec[0]. There's been a lot written[1] about email regex that's too strict and I tend to agree that it's better to have false positives than false negatives, especially with a default validator. The regex actually fails a lot of valid email addresses (although most will likely rarely appear).
Here's a list[2] of valid email address the regex fails,

"much.more<EMAIL_ADDRESS>"very.unusual<EMAIL_ADDRESS>"very.(),:;<>[]".VERY."very@\ <EMAIL_ADDRESS>admin@mailserver1
<EMAIL_ADDRESS>"()<>[]:,;@\"!#$%&'*+-/=?^_`{}|<EMAIL_ADDRESS>"<EMAIL_ADDRESS>(space between the quotes)
example@localhost (sent from localhost)
user@com
user@localserver
user@[IPv6:2001:db8::1]

[0] https://tools.ietf.org/html/rfc2822#section-3.4
[1] Email spec in ABNF and also includes the regex implementation https://html.spec.whatwg.org/multipage/forms.html#valid-e-mail-address
[2] Taken from https://en.wikipedia.org/wiki/Email_address#Valid_email_addresses

You also don't seem to be able to validate emails that use special characters e.g<EMAIL_ADDRESS>

Will get to this with https://github.com/adamwaite/Validator/issues/30.

If anyone could provide an updated regex I'll be happy to implement it. I don't know enough about it to do it myself.

Here's the regex implementation from the spec cited above,
/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/

@adamkuipers your rule is very complete but does not work for special chars like the one @slhodson969 highlighted
this is a very blatant email validator
<EMAIL_ADDRESS>
Remember that is better to check email on server side and not block the user on UI side.
If we put a wrong validator, users with valid emails will be unable to register in your app and not being very happy about it

Yeah, I agree that the simpler one is better.

https://github.com/adamwaite/Validator/blob/master/Validator/Validator/EmailValidationPattern.swift

@adamwaite A quick information: What is your plan to release a new version (for carthage ;) )
with these PR merged?
Thanks

Right now 🎉
Version 2.1.0 ready to roll.


add support for fallocate

go test ./samples/... passed on ubuntu 16.04. Not clear why travis is failing though, seems like it failed with similar errors in previous commits

Would you mind rebasing this on the current master branch please? We fixed the travis config in the meantime.

@stapelberg @jacobsa I rebased and it timed out on linux while passing on OS X and it's not clear why. It passes locally on ubuntu 16.08.

@stapelberg @jacobsa I rebased and it timed out on linux while passing on OS X and it's not clear why. It passes locally on ubuntu 16.08.

I restarted the travis run, and it worked.

thanks @stapelberg !


Bug: Progress dialog gains focus all the time

Hi @maarzt ,
I was just trying to export a segmented stack. This popup show up:

Unfortunately, this dialog gains the focus all the time repeatedly. I can't use my computer anymore. Can this focus-thingy be disabled?
Thanks!
Cheers,
Robert

This is fixed by now.


MINOR: Change metric.reporters description to use actual MetricsReporter.class name

The metric.reporters description in the documentation says to implement the MetricReporter, but the actual class is MetricsReporter.
The broker configuration section also uses the client description so it says to implement the MetricReporter interface, but the actual class is KafkaMetricsReporter.

The key also seems to be inconsistent with the class names. The key uses metric while the classes use metrics.
I've created a Jira issue to see if this is something that should be changed.
https://issues.apache.org/jira/browse/KAFKA-5906

@ijuma Hmm my fork was completely out of sync so I have merge conflicts. I will close this PR and create a new one.


SentryMinidump: native crash report does not contain expected scope / context if a beforeSend function is supplied

[x ] Review the documentation: https://docs.sentry.io/platforms/javascript/electron/
[x ] Search for existing issues: https://github.com/getsentry/sentry-electron/issues
[x ] Use the latest release: https://github.com/getsentry/sentry-electron/releases
[ ] Provide a link to the affected event from your Sentry account

Versions + Platform

[x ] SDK version -<EMAIL_ADDRESS>[x ] Electron version -<EMAIL_ADDRESS>[ x] Platform - Windows

Description
As in title - if you supply a beforeSend function then the default SentryMinidump integration will not correctly fill in the scope on the event when sending a crash report.
This may be intentional, but I couldn't find docs stating this. The problematic line is this one - https://github.com/getsentry/sentry-electron/blob/master/src/main/integrations/sentry-minidump/index.ts#L234
which instead of giving the beforeSend function the newEvent that has been filled with scope, it passes the original event.
Fixing should be trivially to pass newEvent to beforeSend (we have patched this in locally and it seems to be working in the way we expect).

Thank you for reporting, I'll take a look!


Adding Embedding4bit and StableEmbedding4bit

Feature request
Is it possible to have two new modules, Embedding4bit and StableEmbedding4bit, at nn/modules.py? This would help enable quantizing embedding lookup tables as well.
Motivation
I was actually working on a PR at huggingface/peft that adds LoRA support for quantized embedding modules - but it turns out that bitsandbytes does not have a module like Embedding4bit as it does for Linear4bit.
Your contribution
Using Params4bit, I think it wouldn't be too difficult to make a 4-bit version for both. I have a rough implementation for Embedding4bit, and I would be happy to work on a PR for this. Any help/thoughts/comments are much appreciated! :)
# This is for the bnb version you can download currently with pip install bitsandbytes
# I noticed that the current state of the repo has stark differences, e.g. attributes like self.quant_storage are new

class Embedding4bit(torch.nn.Embedding):
    def __init__(
        self,
        num_embeddings: int,
        embedding_dim: int,
        padding_idx: Optional[int] = None,
        max_norm: Optional[float] = None,
        norm_type: float = 2.0,
        scale_grad_by_freq: bool = False,
        sparse: bool = False,
        _weight: Optional[Tensor] = None,
        device: Optional[device] = None,
        compute_dtype=None,
        compress_statistics=True,
        quant_type='fp4' #
    ) -> None:
        super().__init__(
            num_embeddings,
            embedding_dim,
            padding_idx,
            max_norm,
            norm_type,
            scale_grad_by_freq,
            sparse,
            _weight,
            device=device
        )
        self.weight = Params4bit(self.weight.data, requires_grad=False, compress_statistics=compress_statistics, quant_type=quant_type) #
        self.compute_dtype = compute_dtype #
        self.compute_type_is_set = False #
        self.quant_state = None #

        #GlobalOptimManager.get_instance().register_module_override(
        #    self, "weight", {"optim_bits": 32}
        #)

    def reset_parameters(self) -> None:
        torch.nn.init.xavier_uniform_(self.weight)
        self._fill_padding_idx_with_zero()

    """ !!! This is a redefinition of _fill_padding_idx_with_zero in torch.nn.Embedding
        to make the Layer compatible with Pytorch < 1.9.
        This means that if this changes in future PyTorch releases this need to change too
        which is cumbersome. However, with this we can ensure compatibility with previous
        PyTorch releases.
    """

    def _fill_padding_idx_with_zero(self) -> None:
        if self.padding_idx is not None:
            with torch.no_grad():
                self.weight[self.padding_idx].fill_(0)

    def set_compute_type(self, x):
        if x.dtype in [torch.float32, torch.bfloat16]:
            # the input is in a dtype that is safe to compute in, we switch
            # to this type for speed and stability
            self.compute_dtype = x.dtype
        elif x.dtype == torch.float16:
            # we take the compoute dtype passed into the layer
            if self.compute_dtype == torch.float32 and (x.numel() == x.shape[-1]):
                # single batch inference with input torch.float16 and compute_dtype float32 -> slow inference when it could be fast
                # warn the user about this
                warnings.warn('Input type into Linear4bit is torch.float16, but bnb_4bit_compute_dtype=torch.float32 (default). This will lead to slow inference.')
                warnings.filterwarnings('ignore', message='.*inference.')
            if self.compute_dtype == torch.float32 and (x.numel() != x.shape[-1]):
                warnings.warn('Input type into Linear4bit is torch.float16, but bnb_4bit_compute_dtype=torch.float32 (default). This will lead to slow inference or training speed.')
                warnings.filterwarnings('ignore', message='.*inference or training')

    def _save_to_state_dict(self, destination, prefix, keep_vars):
        """
        save weight and bias,
        then fill state_dict with components of quant_state
        """
        super()._save_to_state_dict(destination, prefix, keep_vars)  # saving weight and bias

        if getattr(self.weight, "quant_state", None) is not None:
            for k, v in self.weight.quant_state.as_dict(packed=True).items():
                destination[prefix + "weight." + k] = v if keep_vars else v.detach()

    def forward(self, input: Tensor) -> Tensor:
      if getattr(self.weight, 'quant_state', None) is None:
        if getattr(self, 'quant_state', None) is not None:
          # the quant state got lost when the parameter got converted. This happens for example for fsdp
          # since we registered the module, we can recover the state here
          assert self.weight.shape[1] == 1
          if not isinstance(self.weight, Params4bit):
            self.weight = Params4bit(self.weight)
          self.weight.quant_state = self.quant_state
        else:
          print('FP4 quantization state not initialized. Please call .cuda() or .to(device) on the LinearFP4 layer first.')

      if not self.compute_type_is_set:
        self.set_compute_type(input)
        self.compute_type_is_set = True

      inp_dtype = x.dtype
      if self.compute_dtype is not None:
        x = x.to(self.compute_dtype)

      emb = F.embedding(
          input,
          self.weight,
          self.padding_idx,
          self.max_norm,
          self.norm_type,
          self.scale_grad_by_freq,
          self.sparse,
      )

      return emb

Hey @GM-git-dotcom,
Unfortunately we've been a bit swamped by work and I've also been sick multiple times (sole maintainer). Due to this, we had to deprioritize many things and couldn't answer all requests in a timely manner.
Next week a second engineer will start (50% on BNB) and that will hopefully improve our throughput and address more user issues / requests.
Thanks for bringing this up in such a curated (helpful) way and offering to collaborate on a PR!
I'll put this on our list of backlog items to consider. We'll get back to you once discussed. cc @matthewdouglas


Outer Product

Here is my attempt at an example:
from streams import Streams
from operator import mul
s1 = Stream()
s2 = Stream()

op = s1.product(s2, mul)
L = op.sink_to_list()
a = [1, 2, 3]
b = [4, 5, 6]

for x, y in zip(a, b):
    s1.emit(x)
    s2.emit(y)
print(L)

[4, 5, 6, 8, 10, 12, 12, 15, 18]

The best way that I can kind of come up with this is to stash all but one of the streams into a list and then for each incoming piece of data perform an itertools.product on the resulting iterable and push it into some function. I'm not so crazy about this as it means we end up storing a bunch of stuff in memory which seems un-stream like.

Can I suggest that this is an extreme case of a streaming join operation.  In a streaming join operation you're going to hold on to some backlog of events in each stream and when an event occurs in the others you emit if some condition is met.  Full outer product is this case when the condition is lambda *args: True and the backlog is infinite.
When thinking about streaming joins there are now questions about how to define the length of a backlog.  Is it a number of elements?  Is it something having to do with the data itself, like a time value?

Hmm ok I like that vision of the problem.
As a side note we may want to look to itertools to find new nodes to implement.
Keeping track of the number of elements is ok. The timed one would mean that we would need to track at what time the data came down and then cull the data as it became to old, which may be possible. We could even ask the user to provide a pair of functions, one which assigns a value to the data and the other which asses if the value invalidates the data.
egs
source = Stream()
source2 = Stream()
timeout_node = source.conditional_product(source2, assigning_function=time, deciding function=lambda x: (time() - x) < 60)

In this case if the data is older than a minute then we remove it.
source = Stream()
source2 = Stream()
CountClass():
    def __call__():
        self.i += 1
        return self.i
countout_node = source.conditional_product(source2, assigning_function=CountClass, deciding function=lambda x: x + 5 < CountClass.i)

source = Stream()
source2 = Stream()
outer_product = source.conditional_product(source2, assigning_function=lambda *args: True, deciding function=lambda x: x, emit_on=source)

As a side note we may want to look to itertools to find new nodes to implement.

Sure, I'm biased, but toolz may also have operations (like streaming joins).  However, I'm also inclined to only add things as they become necessary.  There is a cost to adding and maintaining functionality.
Similarly for time-based joins I would say that we shouldn't deal with it until we have a reason to.  Number-of-element buffers are probably more sensible to deal with.

That's fair.


high cpu util

After I switch from Stage to CustomStage, I experience a 20% up in CPU utilization when I drag my window across the screen.
Also, the way it moves is not smooth.
When the CustomStage is not moving, the CPU resources stays normal.
What could possibly be causing it ?

I have experienced the same issue but not that much. CustomStage uses the simplest implementation it can have for the window dragging but i think i will have to search for a a better way to do so. With the next release.
If you found a way please let me know or do a PR with the fix.
Thank you :D

fixed


Create unit tests

This commit creates some unit tests to main, box, fs and etcd. Besides that, this commit creates a directory to put unit tests.

Fix #59


Not working in latest version of burp

yes, its true, dont work.
I try to add requests to autorepeater and nothing happen

Hey folks,
I downloaded the newest version of burp and AutoRepeater does appear to be working as intended. You can try by setting a string replacement for google and replacing it with test and then loading google.com.
Thanks,
Justin
Sent from my iPhone

On Nov 11, 2019, at 4:35 AM, Gabriel C<EMAIL_ADDRESS>wrote:

yes, its true, dont work.
I try to add requests to autorepeater and nothing happen
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Justinmoore you are true, its working! ty!

That’s great to hear. I’m going to close this issue out. If it pops back up for persists feel free to reopen it.
Thanks,
Justin

Autorepeater doesn't work in Burp Professional v2.1.04


Bug 1176108: Use AMF encoding for local SharedObject data instead of JSON

Note that this doesn't contain a test because it's almost impossible to write an automated one. At least as long as we don't weakly hold the LSO data and introduce a gc function in the testing environment: as long as the original SharedObject instance is not GC'd, using SharedObject.getLocal with the same path always gives the same instance of the underlying data, so no matter how many times you call SharedObject#flush, you can't do before-after comparisons of the en-/decoding.
Code I used to test this manually:
import flash.net.SharedObject;
import flash.system.System;

var so:SharedObject = SharedObject.getLocal('dateTest');
var obj = {key: 'value', foo: true, bar: 2000, baz: 20.241, zorp: {}};
so.data.obj = obj;
so.flush();
so.close();
so = null;
System.gc();

so = SharedObject.getLocal('dateTest');
trace(so.data.obj === obj);
trace(JSON.stringify(so.data.obj) === JSON.stringify(obj));

Look good with comments addressed.

Reviewed 2 of 2 files at r1.
Review status: all files reviewed at latest revision, 3 unresolved discussions, all commit checks successful.

src/base/utilities.ts, line 1178 [r1] (raw file):
Assert for encoded.length be dividable by 4 above and use >> 2 instead here (or throw an exception)

src/flash/net/SharedObject.ts, line 64 [r1] (raw file):
I wonder what logic that uses getDiskUsage does? If it does reset items when the result == 0, then this return value is somewhat incorrect.

src/flash/net/SharedObject.ts, line 176 [r1] (raw file):
We shall not add tests to the actual code. Move that to unit tests?

Comments from the review on Reviewable.io

/botio reftest

/botio reftest

/botio reftest

Looks like botio is doing some weird stuff here. Neither travis nor my local testing show the failing tracetest. Will investigate tomorrow.

Review status: 1 of 2 files reviewed at latest revision, all discussions resolved, some commit checks pending.

src/flash/net/SharedObject.ts, line 64 [r1] (raw file):
It's undocumented, so I'm not sure, but I think that it just returns the total amount of space LSOs for the given url take. It certainly doesn't modify storage, so I'm somewhat sure this is ok for now.

src/flash/net/SharedObject.ts, line 176 [r1] (raw file):
I'm not sure I agree. We have various places where we use somewhat complex asserts. Note that I didn't add this to make sure a scenario I thought of wouldn't regress. What I want to make sure is that we have a chance of getting to know about failures in scenarios I didn't think of. Which this assert gives us. (A chance, note, not a guarantee. We'd need release build reporting for that, which I don't think we should add.)
I'm going to leave this in, but if you feel strongly about it, let's discuss it.

Comments from the review on Reviewable.io

/botio reftest


Is it possible to obtain EJB requests data on WebSphere?

In particular, client would be using WebSphere <IP_ADDRESS>
Thanks in advance

Any thoughts on this? It seems other java beans are supported.
Again, thanks in advance.


Package source mapping causes problems with VMR restores

Seen https://github.com/dotnet/sdk/pull/43239
I think what is going on is when PSM is enabled in a repo, the VMR infra will see these and add PSM mappings for the local feeds that are added to nuget.config. But these additional mappings are often more specific than the ones in the repo already, so the repo's feeds are often ignored.

@dotnet/source-build-internal and I think @NikolaMilosavljevic who did the VMR PSM work.

We do add all specific mappings to original (online) sources, as well. So, VMR would be able to find them in all available sources. I could not repro this issue locally. Investigating further.


App/Nav: Mobile - account menu

Figma:
https://www.figma.com/file/RMXc7jUWiC6amxz9Q2JK5L/Onboarding-and-Wallet-UX?node-id=1819%3A1348

[x] Update background color of the menu that appears to one color 1B1A1E - this will also be the background color of the menu button above HIGH
[x] Match text styles to figma HIGH
[x] Update the transaction fee row to a simple string (remove the 'average...' copy beside the label)  (same as desktop ticket) HIGH
[x] Update buttons and button icons to match figma Low

Comparison:

The current implementation is

@Chwy5
Should we update the header to the design?

it needs to match what matt has in the design at the top

Issues:

[ ] When I open the hamburger menu, the account menu inactive state should have the same background color as the darker gray on the left
[ ] When I expand the account menu the background color should be: 1B1A1E

[ ] This is different from the background color of the rest of the hamburger menu, e.g. behind the navigation links the color should be: 222124

[ ] The tooltips should be positioned 4px from the labels
[ ] The add funds button should be larger in terms of width, with 16px padding on the sides

See design vs build:

@Chwy5  I think this ticket is done for launch.

I am unable to get mobile to load to test

Issues:

[x]  When I open the hamburger menu, the account menu inactive state should have the same background color as the darker gray on the left

[x]  When I expand the account menu the background color should be: 1B1A1E

[x]  This is different from the background color of the rest of the hamburger menu, e.g. behind the navigation links the color should be: 222124

[x]  The tooltips should be positioned 4px from the labels

[x]  The add funds button should be larger in terms of width, with 16px padding on the sides

See design vs build:

updated

Why are there 2 add funds buttons? ! in green and 1 in black....seems weird....Can come back to post launch and fix

Yeah it is a bit strange, it was initially a blue button that you see in the account dropdown, then we added the green button to the nav bar on desktop, on mobile that sits in the slide out menu.
Agree we should improve that, either all green buttons or remove the extra button.


Make more frontend RAG pipeline options configurable from UI

Number of Results retrieved (1st stage retrieval)
Type of 1st-stage retrieval (FTS, Vector/Embedding Search, or hybrid)
Type of Reranker (cross-encoder, Cohere, linear-comb, RRF)
Number of top-reranked results passed to final LLM.

closed by https://github.com/MaxPowerWasTaken/askliz_frontend/commits/main/


Missing bd_warehouse in pyproject.toml

Necessary for me because I'm installing this as a dependency for my dev environment using Nix and poetry2nix.
(I have a work-around, by adding the dependency directly to my top-level project, but this seems like a good idea.)

Thanks for the issue. I'll address this when I'm back from my holiday next week.


fix(client): do not add duplicate headers

A open question here could be which headers should have priority?

A open question here could be which headers should have priority?

I think it is fair to disallow adding these headers. The problem I have with this change as-is is that it silently skips them without the user ever being told so. I'd probably prefer add_header to return Result<Self, Error> in that case.

I guess the alternative to pre-filtering your headers is just to try and add them.


ToTestTests.cs:245-246: Make CtorWithFuncArgument test to...

The puzzle 60m-833141ed from #60m has to be resolved:
https://github.com/DenisZhukovski/ObjectToTest/blob/52b192395aef38c94ddeeab2c6a025dea7d0e1fa/tests/ObjectToTest.UnitTests/ToTestTests.cs#L245-L246
The puzzle was created by @MaxShustov on 28-Sep-22.
role: DEV.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

@0pdd 3 puzzles #52, #53, #54 are still not solved.

The puzzle 60m-833141ed has disappeared from the source code, that's why I closed this issue.

@0pdd the puzzle #54 is still not solved; solved: #52, #53.

@0pdd all 3 puzzles are solved here: #52, #53, #54.


Bugs...

Hello, after serveral days of debugging, I have found many bugs in your code.
I'd like to share them with other people, and I hope you can fix them.
(1)Tons of file path errors which I don't want to list here.
(2)models/models.py

Why you use nn.Parameter to create 'init_gat_relation_embeddings' here? Moreover, why you set 'requires_grad=True'?
(3)GAT_seq_space/main.py

set '--get_1hop' and '--get_2hop' to True on your first run.

'outfolder' is not defined...^^

I don't know why you write these.
The proper code is
model_gat.load_state_dict(torch.load(
        os.path.join(args.output_folder, 'trained_{}.pth'.format(args.epochs_gat - 1))))

the same bug also exists on many other lines...
(4)train.py
Too many...I just wanna list some of them

lines 54 - 66
Code here is not complete, resulting a lot of 'not defined' errors.
A lot of inappropriate using, like

torch.from_numpy(***.astype(int))

Did you really train this model with ONLY 10 epochs? Seriously?
File paths written in fron are all about wikidata, and then you load data using data='nyt'... ^^
I know it's not a big deal, but I seems to prove that your code is ..... :(
(5)Tons of other bugs that I have fixed and forgotten

Thanks a lot if you can fix them all :)
And it will be more thankful if you can write CLEARLY how to run your code in README.md 👍

Hi,
Thanks for pointing out the issues. We will look into the issues and fix them and make sure that it does not happen again in future :D
Some immediate clarifications I would like to make are the following -

In the file GAT_seq_space/main.py you suggested the code for loading model model_gat.load_state_dict but if you look at the commented line 788 it is exactly the same that you suggested :)
And yes, we did train the model for 10 epochs only :)

Thanks for your reply. 👍
Another quesion, I can't figure out why I can't run train.py for over one time.
For example, I trained GAT in GAT_seq_space, and got 'final_entity_embeddings.json', 'final_relation_embeddings.json' and 'W_ent2rel.json.npy'.
Then I used main.py to train RECON.
During the training, everything worked well, f1-score on validation set went from 0 to 0.65 after 10 epochs on my own dataset.
But when I want to train RECON for the twice time(I didn't change anything), it seemed that the training process is terribly wrong, cuz f1-score on validation set doesn't go up at all(remaining below 0.002).
Then I deleted models/RECON and restarted train.py to train RECON, but the same problem still existed.
All I can do is to re-train GAT in GAT_seq_space and get 'final_entity_embeddings.json', 'final_relation_embeddings.json' and 'W_ent2rel.json.npy' one more time. Then I can get expected f1-score when using train.py for the FIRST time.
This is really confusing... I haven't found out where the bug is yet...

他们模型的bug真的很多，他们的代码和thunlp的GPGNN是很相似的，如果你在训练中遇到了indices没有定义的问题，可以看看GPGNN的test.py

感谢，不过经过我几天的修改，他们代码的所有bug基本都被我修复了，甚至还加了本来应该有的很多功能及评估指标。
希望这个模型能给点力吧，不枉我修复这么久。

他们模型的bug真的很多，他们的代码和thunlp的GPGNN是很相似的，如果你在训练中遇到了indices没有定义的问题，可以看看GPGNN的test.py

感谢，不过经过我几天的修改，他们代码的所有bug基本都被我修复了，甚至还加了本来应该有的很多功能及评估指标。 希望这个模型能给点力吧，不枉我修复这么久。

同学你好，请问可不可以分享一下你的相关代码？如果不方便的话可不可以细说一下添加的相关功能和评估指标

他们模型的bug真的很多，他们的代码和thunlp的GPGNN是很相似的，如果你在训练中遇到了indices没有定义的问题，可以看看GPGNN的test.py

感谢，不过经过我几天的修改，他们代码的所有bug基本都被我修复了，甚至还加了本来应该有的很多功能及评估指标。 希望这个模型能给点力吧，不枉我修复这么久。

同学你好，请问可不可以分享一下你的相关代码？如果不方便的话可不可以细说一下添加的相关功能和评估指标

当然可以，这两天我会把相关代码分享出来。

Hi Caesar, I've translated your comment and if I'm right you said you would have uploaded the fixed code in two days? It would really help me a bug fixed version of this code, if you want you can contact me to the e-mail shown on my profile!  ^^

他们模型的bug真的很多，他们的代码和thunlp的GPGNN是很相似的，如果你在训练中遇到了indices没有定义的问题，可以看看GPGNN的test.py

感谢，不过经过我几天的修改，他们代码的所有bug基本都被我修复了，甚至还加了本来应该有的很多功能及评估指标。 希望这个模型能给点力吧，不枉我修复这么久。

同学你好，请问可不可以分享一下你的相关代码？如果不方便的话可不可以细说一下添加的相关功能和评估指标

当然可以，这两天我会把相关代码分享出来。

他们模型的bug真的很多，他们的代码和thunlp的GPGNN是很相似的，如果你在训练中遇到了indices没有定义的问题，可以看看GPGNN的test.py

感谢，不过经过我几天的修改，他们代码的所有bug基本都被我修复了，甚至还加了本来应该有的很多功能及评估指标。 希望这个模型能给点力吧，不枉我修复这么久。

同学你好，请问可不可以分享一下你的相关代码？如果不方便的话可不可以细说一下添加的相关功能和评估指标

当然可以，这两天我会把相关代码分享出来。

Hi Caesar, I've translated your comment and if I'm right you said you would have uploaded the fixed code in two days? It would really help me a bug fixed version of this code, if you want you can contact me to the e-mail shown on my profile! ^^

他们模型的bug真的很多，他们的代码和thunlp的GPGNN是很相似的，如果你在训练中遇到了indices没有定义的问题，可以看看GPGNN的test.py

感谢，不过经过我几天的修改，他们代码的所有bug基本都被我修复了，甚至还加了本来应该有的很多功能及评估指标。 希望这个模型能给点力吧，不枉我修复这么久。

同学你好，请问可不可以分享一下你的相关代码？如果不方便的话可不可以细说一下添加的相关功能和评估指标

当然可以，这两天我会把相关代码分享出来。

Hi @Caesar-s1mple  I've translated your comment and if I'm right you said you would have uploaded the fixed code in two days? It would really help me a bug fixed version of this code, if you want you can contact me to the e-mail shown on my profile! ^^

他们模型的bug真的很多，他们的代码和thunlp的GPGNN是很相似的，如果你在训练中遇到了indices没有定义的问题，可以看看GPGNN的test.py

感谢，不过经过我几天的修改，他们代码的所有bug基本都被我修复了，甚至还加了本来应该有的很多功能及评估指标。 希望这个模型能给点力吧，不枉我修复这么久。

您好，请问您可以放一下您的代码嘛？我被这个代码困扰很久了


Improve Chat Panel

Right now the chat panel in the Articulate interface has several drawbacks:

[ ] Session is shared across all instances articulateUI - propose that we use localStorage (maybe session Storage) to create a session ID for each agent, something like Samson-session-s0m3-guid-here.
[ ] Navigating away and back loses conversation history - This def shouldn't happen, but even more so we likely should add a dropdown so that we can load any session for review.
[x] I think we should start with the chat panel open after agent creation and re-direct to the sayings page.
[x] Make width adjustable to an extent
[ ] Change clear session button to be "new session" button

@wrathagom the Clear All button rigth now clear notifications and session data. If we change the text to New Session user will be confused why notification went away. What you think?

@broham89 could you take a look at the second bullet. @wrathagom wants a dropdown to select different sessions in the conversation panel.
I'm going to try to create a basic one, but if you can come up with a design let me know.

@dcalvom my vote would be to leave the clear all button at the top and add a couple of buttons at the bottom. Maybe something like:

forgive the bad paint job :D

I borrowed the dropdown from the category, but imagine that as saying articulateUI with a New button and a delete button beside it. Both of these smaller than our normal buttons since they are secondary type actions.

Currently working on a solution

looks good to me.

here's another version that takes away the clear button on top and put it inside the three-dot dropdown.

When a user clicks on session history it will bring up a popup like the first screenshot alowing the user to create or delete sessions

I'm not a big fan of menus in menus. And if we went with this one I would want some visual indicator of what the current session was.
Another potential wrinkle for either of these... sessions don't have friendly names.
Maybe rather than a dropdown/select for sessions we have an input with typeahead enabled. and a new icon inside that input for generating new sessions...???

Closed by https://github.com/samtecspg/articulate/commit/a752c32474bf10323786fd12600c9aac707d1dcc


Datadog logo not rendered correctly in 0.9.4

In 0.9.4 the text of the Datadog logo (in the top right, below Cloudwatch) seems to be missing a chunk and is thus unreadable.

Thanks, Brian. We'll fix in the next update.

Hi @brian-brazil this was fixed in 0.9.5 https://github.com/cncf/landscape/blob/master/landscape/CloudNativeLandscape_v0.9.5_cncf.jpg
Thanks


Use chalk instead of hardcoded ANSI codes

Improves the readability of the source code and prevents the raw ANSI codes from appearing in the log, if ran as a systemd service.

Thanks :)


MarkerClusterer is not defined

Uncaught (in promise) ReferenceError: MarkerClusterer is not defined.
I have already loaded the script markerclusterer.js and trying to use it. But it keeps on giving the error.
PS. I am using requirejs in my code too.

Please ask debugging questions on our StackOverflow tag
https://stackoverflow.com/questions/tagged/google-maps-api-3


WIP: Various fixes from staged-recipes

Drop find-libintl.h.patch as we don't use it any more.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

This looks good to me, only the build number issue.

I might take another shot at fixing up the notification path, but I might save it for another round. This seems like a good enough start for now.

Sound good!

Thanks again!

Of course.


Fixes #611 - remove pending texture handling from uv modifier.

Instead send an extra update from the texture loader plugin once the texture has finished loading, with the correct image data.
Also remove some logging I accidentally committed to develop in a previous commit.

lgtm


Strange issue when upgrading Deno

See this example checking deno version each 5th second
import { Cron } from "jsr:@hexagon/croner";
import { $ } from "jsr:@david/dax";

// Check deno version every fifth second
new Cron("*/5 * * * * *", async () => {
    try {
        const result = await $`deno --version`.text();
        console.log("Success!");
        console.log(result); // 1
    } catch (e) {
        console.error("Failure!");
        console.log(e);
    }
});

After changing deno version while the script is running, e.g. deno upgrade --version 1.41.2 or similar
➜  test2 deno run -A dax_test.ts
Success!
deno 1.41.3 (release, x86_64-unknown-linux-gnu)
v8 <IP_ADDRESS>
typescript 5.3.3
Success!
deno 1.41.3 (release, x86_64-unknown-linux-gnu)
v8 <IP_ADDRESS>
typescript 5.3.3
Failure!
NotFound: Failed to spawn '/home/user/.deno/bin/deno (deleted)': No such file or directory (os error 2)
    at spawnChildInner (ext:runtime/40_process.js:185:17)
    at spawnChild (ext:runtime/40_process.js:206:10)
    at Command.spawn (ext:runtime/40_process.js:474:12)
    at spawnCommand (https://jsr.io/@david/dax/0.39.2/src/runtimes/process.deno.ts:4:49)
    at executeCommandArgs (https://jsr.io/@david/dax/0.39.2/src/shell.ts:930:9)
    at eventLoopTick (ext:core/01_core.js:208:9)
    at async executeSimpleCommand (https://jsr.io/@david/dax/0.39.2/src/shell.ts:896:10)
    at async executeSequentialList (https://jsr.io/@david/dax/0.39.2/src/shell.ts:512:20)
    at async spawn (https://jsr.io/@david/dax/0.39.2/src/shell.ts:501:18)
    at async CommandChild.pipedStdoutBuffer (https://jsr.io/@david/dax/0.39.2/src/command.ts:730:18) {
  name: "NotFound",
  code: "ENOENT"
}
Failure!

And it does not recover unless restarting the main process

Does this also happen if you write this same script in e.g. bash?

No, the problem seems to be related to Deno.execPath()
This works (using Deno.Command behind the scenes, and ["deno", "--version"] as command):
import { Cron } from "jsr:@hexagon/croner";
import { spawn } from "jsr:@cross/utils";

// Check deno version every fifth second
new Cron("*/10 * * * * *", async () => {
    try {
        const result = await spawn(["deno","--version"]);
        console.log("Success!");
        console.log(result); // 1
    } catch (e) {
        console.error("Failure!");
        console.log(e);
    }
});

... but this gives the said error (using `[Deno.execPath(), "--version"] as command);
import { Cron } from "jsr:@hexagon/croner";
import { spawn } from "jsr:@cross/utils";

// Check deno version every fifth second
new Cron("*/10 * * * * *", async () => {
    try {
        const result = await spawn([Deno.execPath(),"--version"]);
        console.log("Success!");
        console.log(result); // 1
    } catch (e) {
        console.error("Failure!");
        console.log(e);
    }
});

Could it be that dax uses Deno.execPath() internally, and Deno.execPath() somehow get changed to /home/user/.deno/bin/deno (deleted) when deno is upgraded?

Hmm, maybe deno → Deno.execPath() was added as a fix for people who didn't have deno in their PATH.
This is surprising behavior, though, if you're expecting it to find deno in your path. And would be a real head-scratcher if you've got multiple versions of Deno installed and Dax picks one that's not the one in your path.
Maybe the fix is as simple as trying the path first, then falling back to execPath if it wasn't found?


Add conditional typing imports

It does not work for py<3.11

I think its better to just rewrite
if sys.version_info < (3, 10):
    from typing_extensions import (
        Annotated,
        Concatenate,
        ParamSpec,
        get_args,
        get_origin,
        get_type_hints,
    )
else:
    from typing import (
        Annotated,
        get_args,
        get_type_hints,
        ParamSpec,
        Concatenate,
        get_origin,
    )

because typing_extensions would be installed anyway for py<=3.11, and in typing_extensions internally there are sys_version checks


add hierarchy -smtcheck

like -simcheck, but allow smtlib2_module modules.
Requested in https://github.com/YosysHQ/sby/pull/170#issuecomment-1160477086

Tests in https://github.com/YosysHQ/sby/pull/170

thanks!


ARTEMIS-856 Test fixes - Alternative

@clebertsuconic
Here's a slight alternative option to your pr (https://github.com/apache/activemq-artemis/pull/2209) i took the fixes for the server and control, but in the queueimpl I wanted to keep away from having the redistributor in the list (reason being later where want to try make the dispatch policies more pluggable it makes it very hard)
Also interestingly applying the same change that Franz has done for CPU here, but for the redistributor fixes many of the redistributor issues, essentially it was failing because it ended up in a spin.
https://github.com/apache/activemq-artemis/pull/2203
One case in the messageredistributiontest though still fails (testRedistributionWithMessageGroups), im looking into why it might, but if you can spot please do tell.
If you need master fixed asap, maybe merge your PR, and i can pr this over the top once i figure it out.

@clebertsuconic i figured out the last case and fixed it, as normal a one liner.

@michaelandrepearce Let me run my internal CI.. if all good will merge it in 2 hours (time to have the whole run)

@franz1981 i dont think it made it before the merge. Could you pr it by itself and ill merge

@michaelandrepearce I still have the following tests failing with these changes:

org.apache.activemq.artemis.tests.integration.cluster.distribution.AMQPMessageLoadBalancingTest.testLoadBalanceAMQP
org.apache.activemq.artemis.tests.integration.cluster.failover.ReplicatedPagingFailoverTest.testPageFailBeforeConsume
org.apache.activemq.artemis.tests.integration.openwire.cluster.TemporaryQueueClusterTest.testClusteredQueue
org.apache.activemq.artemis.tests.integration.server.ScaleDownTest.testBasicScaleDown[useScaleDownGroupName=true]
org.apache.activemq.artemis.tests.integration.server.ScaleDownTest.testStoreAndForward[useScaleDownGroupName=true]
org.apache.activemq.artemis.tests.integration.server.ScaleDownTest.testBasicScaleDown[useScaleDownGroupName=false]
org.apache.activemq.artemis.tests.integration.server.ScaleDownTest.testStoreAndForward[useScaleDownGroupName=false]

These all passed 100% with my other fix. (Not saying my fix was correct.. but there's something still around the routing logic.
I'm taking today's off... I may come back into this tomorrow.. but any help is appreciated.

@clebertsuconic have the day off dude, i will look into tomorrow during the day, im sure i can sort, if any others just list.

@clebertsuconic see https://github.com/apache/activemq-artemis/pull/2212.
Was a simple one.


Docs: Create React App: react-scripts-ts is deprecated

Page URL:
https://www.typescriptlang.org/docs/handbook/react.html#create-our-new-project
Issue:
The first step of running create-react-app with the react-scripts-ts option gives a depreciation warning.
create-react-app my-app --scripts-version=react-scripts-ts

The react-scripts-ts package is deprecated. TypeScript is now supported native
ly in Create React App. You can use the --template typescript option instead whe
n generating your app to include TypeScript support. Would you like to continue
using react-scripts-ts?

Recommended Fix:
The output from the recommended template in the warning is not quite the same output as the react-script-ts. Maybe add a note about the script being depreciated? Maybe support the new recommended template in the tutorial?
Browser:
Running in the terminal on macOS

We'll probably move this out of the TypeScript docs in some form I think, there are better resources with more incentives to stay up to date for TS + React

Fixed in https://github.com/microsoft/TypeScript-Website/pull/774


read() with negative offset did not move the pointer backwards

So I was doing a little experiment around with several stuffs and I did this:
read(-1);
dbgLog('Offset: ' + getOffset() + ', Value: ' + getHexValue());
read(-1);
dbgLog('Offset: ' + getOffset() + ', Value: ' + getHexValue());
read(-1);
dbgLog('Offset: ' + getOffset() + ', Value: ' + getHexValue());

And I got this output:
	Offset: 1164, Value: 14
	Offset: 1164, Value: 14
	Offset: 1164, Value: 14

Just as a reference this is my memory dump on 00000480 is :
02 00 00 00 00 00 01 00 00 00 00 0F 14 00 00 00
I don't think that the pointer really went back in place so it kept returning the same value. And as you see in the memory dump there isn't a duplicate of values.
Maybe this is because in data.ts line 266 the negative size is coverted into its absoulute value, but when the next read is called which calls correctBitByteOffsets, the lastsize used is the positive value instead of the negative value which just brings the pointer back to its original position?
(and sorry if I said anything wrong I just started learning .js yesterday because I wanted to use your extension, I tried my best to understand all the code)

And also the function getOffset() confused me a bit, because in the documentation/help guide it says :

Returns: The current file pointer offset.

However in dataread.ts line 298 on the description part it says:

Returns the current lastOffset

This two has different meaning and confused me 😅
I was using it for reading all the data up to the EndOfFile (which I later discovered option to pass in undefined which is not included in the documentation) through the equation (FileSize - getOffset() - 1) and didn't work since it is reading more data than available. Although in some cases we can get the "current" offset (or the next lastoffset) by (lastoffset + lastsize), while using readRowWithDetails the lastsize will be unknown/or variable in each block. Maybe consider changing the terms used or the code?
Anyways this is a very useful extension, I love it!

Hi,

When reading negative values the current offset is subtracted by the (abs) size, moving it backwards.
Then reading the next time this would be offset+size. I.e. it is at the same position as before. As it moves forward.
You just once move the offset back, afterwards everything is the same as if you would have used a positive size.
I.e. doing read(-1) multiple times always reads the same value. This is expected.
getOffset: get/setOffset was implemented on user request. It was originally not planned. It is not meant to be used in any calculations (although you could do, of course). It is meant to get the current offset , store it in some variable and restore it later. This can sometime be useful in a complicated data structure.

Sorry this is my missunderstanding, but then in the documentation it is written:,
If negative the offset is moved backwards.
I believe this actually contradicts with what you have just said. Please do amend either one of them. (What if I just wanted data in the range [-7:-4]?)
Correct me if I am wrong, but I cannot directly use the value from getOffset into setOffset because (getOffset() and lastOffset are equivalent) a normal read() is staring from lastOffset + lastSize, but setOffset changes the variable lastSize into zero. This simply means:

read(10);
setOffset(getOffset());
read(1);

will not give me the same result as:
read(10);
read(1);

Am I correct?

If negative the offset is moved backwards that is true. The problem is that the next read will add the absolute size.
I.e. the pointer is exactly where it was before.
I agree that this functionality might not be very useful. The 'read()' functionality was designed to be used with positive numbers.
It can deal with a negative value, but probably you can't do anything meaningful with it.
Is this (the negative size) really something you would want to use in a real project?

Let's say the current pointer is at 5 and you do a read(10) then the current pointer stays at 5.
If you use getOffset() it returns 5. And if you setOffset(5) it just stays where it is, but clearing the size.
I.e. the next read(1) returns the value at offset 5.
To achieve what you want you would need to do the following:

read(10);
read(0);  // would move the pointer to 15 in my example
setOffset(getOffset());
read(1);

I don't need to use the negative offset currently, I just needed the getOffset(), but then I find it weird when I was testing the getOffset. The workaround you provided in point 2 does work, so I guess I'll just use that method. Both of them are counter intuitive to me so I decided to report, but then feel free to close this issue if you find it alright!


Adds @list-inline-spacing variable

Gives control over the default spacing between list elements in an inline list. Sometimes 5px is too much or too little, or the user wants to use use em/rem values instead.

Punting due to the ghost user.


Fix - update time ranges

https://hello.planet.com/code/sentinel-hub/sentinel-frontend/eo-browser/eobrowser3/-/issues/1441#note_4882611
Test deploy: https://devext-fe.sinergise.com/sh-collections/tmp/fix/update_time_ranges/

Time ranges are now updated also in EOB.


docs: NodePort XDP on AWS

Write up a small getting started guide based on Tobias' notes on
EKS (https://gist.github.com/tklauser/268641aea4fced9e8c3b4a2f7536661b).
Signed-off-by: Tobias Klauser<EMAIL_ADDRESS>Signed-off-by: Daniel Borkmann<EMAIL_ADDRESS>

Coverage increased (+0.02%) to 37.108% when pulling 33468d158529121c0c28683b75f0cb20158baff4 on pr/xdp-eks-doc into 62eb0085654d302b3e0c6940255d2edd488ab0d3 on master.


Upgrading from V1 to V2: used namespaces should be updated

@maiorfi commented on Mon Aug 26 2019
Maybe it should be pointed out that, while upgrading from V1 to V2, proxy class namespace must be updated from:
using Microsoft.ServiceFabric.Services.Remoting.V1.FabricTransport.Client;

to
using Microsoft.ServiceFabric.Services.Remoting.V2.FabricTransport.Client;

Dettagli del documento
⚠ Non modificare questa sezione. È necessaria per i collegamenti relativi ai problemi tra docs.microsoft.com ➟ GitHub.

ID: 8902374b-b631-9d50-16ef-1899ea2dd29d
Version Independent ID: 55351e69-aa2a-901c-a563-106b62e3d6ac
Content: Comunicazione remota usando C# su Service Fabric
Content Source: articles/service-fabric/service-fabric-reliable-services-communication-remoting.md
Service: service-fabric
GitHub Login: @vturecek
Microsoft Alias: vturecek

@srvbpigh commented on Mon Aug 26 2019
Hello, @maiorfi
Thank you for your feedback.
We are actively reviewing your comments and will get back to you soon.
Kind regards,
Microsoft DOCS International Team

Thanks for the Feedback @CeciAc!
The document has been updated to include the namespace.
#please-close


Printing multiple labels are not in order and sometimes get corrupted

When printing labels they do not come out in order and sometimes the labels show as just grey print over the entire label (which seems to consume multiple labels from the queue).

@timmyhadwen you might have to collect some further data about the issues and determine a pattern.
When you say they are "out of order" - is there any sort of consistent pattern that does appear?
With regard to the "grey labels" - do they appear randomly?
I do not currently have access to any hardware to test on, I'm afraid.

Closing this as it seems to be resolved. I believe our printer needed the compression setting switched on.


Add tests for parallel processing

Let the tests in the Boogie test suite use multiple cores wherever possible, to test Boogie's parallel processing features. Tests using the debug flags /proverLog, /traceCaching, /printNecessaryAssumes or /mv have parallel processing turned off because this can affect the order of the debug output. Similarly, tests that contain multiple procedures have /errorTrace:0 added to them, since using multiple cores can affect which error trace is shown when there are multiple valid error traces.

I would have thought that there are a lot more tests with golden output containing error traces. Are you sure that you got all of them?

Tests with only a single procedure don't seem to be affected by this change. Does that explain the low number of affected tests?


nixos/ddclient: don't leak password in process listings

...by using replace-secret instead of sed when injecting the
password into the ddclient config file. (Verified with execsnoop.)
Closes #156400
Description of changes

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Tested locally and works fine. thanks!

Also FYI I am the upstream developer of ddclient.

Cool, I didn't know! Thanks!


Add field for Locations.geocode_response

This PR follows up on https://github.com/artsy/bearden/pull/274, because, as @madeleineb pointed out, around ~38k records on Redshift still seem to be not geocoded.
Looking deeper into the data, there are a lot of records that are marked as geocoded (they have non-nil latitudes and longitudes), but do not have meaningful data (nil city and country fields).
Unfortunately, checking for non-nil latitudes and longitudes does not return an accurate picture of whether or not a location has been geocoded. This is because, for imports, we allow users to include latitude and longitude fields. That means locations can have blank city or country fields and never be found by the geocoder.
Other things might also be at play here. More below on that.
TL;DR
My solution is to add more visibility into geocoder by saving the response in a new field, Locations.geocode_response. This will allow us to return to some of these locations for better analysis after geocoder has been running.
What does that mean for current locations? It does mean that zero of the 150,518 locations will be marked as geocoded. Geocoder will run daily, as it does now, making requests every 0.2.seconds.
From the perspective of Looker/Redshift, not much will change. When new data is synced, there will simply be more accurate location records. There will be no loss of data.
More background:
This query selects all the locations that we humans consider to be not geocoded. There are 70,794 such locations.
 select id, latitude, longitude, city, country, left(content, 15) from locations where latitude = 0 or longitude = 0 or city is null or country is null;

There are no locations such that latitude or longitude are null. This means that, according to the (flawed) geocoder, all locations have been geocoded.
So why do some results seem to be not geocoded? Here are some examples from looking at the data.

Location.find(77) is a location that has fallback lat and long ([0,0]). This suggests the geocode results returned nil. Yet geoTest(77) shows that city and country should be ["Innsbruck", "Austria”]. It's uncertain why this is happening. The bright side is that locations such as this should be fixed by running the geocoder on them again.
Location.find(4700) shows a location with content: "US, Washington”. After geocoding, this resolves to country: United States and city: nil. This looks like a missing city, but it's accurate. I saw many locations like this one.
Location.find(4418) is a location with content: “JP, Tokyo”. It is geocoded with country: “Japan”, city: nil. It looks like an error, and yet these are the results given by geocoder.
Another thing to consider is that rankable selects the top location based on what a human thinks is the best bulk source of data, not the best actual location. This could result in some amount of errors. Probably not the bulk of them though.

# Test geocode results for a location
def geoTest(id)
  r = Geocoder.search(Location.find(id).content).first
  [r.city, r.country]
end

Looking at this again, I think this is ready to merge - last call for comments! /cc @anandaroop

👍 LGTM


Improve docstrings and close #27

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (b1e25f8) 90.24% compared to head (d03954c) 90.24%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##           master      #30   +/-   ##
=======================================
  Coverage   90.24%   90.24%
=======================================
  Files           3        3
  Lines          82       82
=======================================
  Hits           74       74
  Misses          8        8

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


not able to use trim(), upper(), lower(), etc

Hi,
I am trying to use trim, upper, lower functions, but am unable to.
getting errors as:
The Helper or Operator with the name '$trim' is not defined
The Helper or Operator with the name '$upper' is not defined
The Helper or Operator with the name '$lower' is not defined
if json-sql-bulder2 supports these, please share examples for the same

Currently Not supported. But it will be an easy Job. You can Do it Luke the examples in the docs. Every PR with new Operatorsand helpers are welcome.


Transactions Tutorial: Update the start of Q5

Confirm that your node is synced, make sure you have set the Linux shell environment variable

CARDANO_NODE_SOCKET_PATH
to point to the correct socket on your node, e.g.
$ CARDANO_NODE_SOCKET_PATH=http://<IP_ADDRESS>:3001
and then submit your transaction to the Blockchain:

The socket path is NOT a host/port, but a file. In the tutorials, we choose db/node-socket,
so it would need to be  export CARDANO_NODE_SOCKET_PATH=db/node-socket.

Is this ticket still valid @kevinhammond or can be closed ?
Setting  CARDANO_NODE_SOCKET_PATH is mentioned in paragraph 5 of Transactions Tutorial

Now we can submit the transaction with
export CARDANO_NODE_SOCKET_PATH=db/node-socket
cardano-cli shelley transaction submit
--tx-filepath tx001.signed
--testnet-magic 42

We mention it for the first time in tutorial on creating addresses - which is used in Ex 1.

In order to query your address (see the utxo's at that address), you first need to set environment variable CARDANO_NODE_SOCKET_PATH to the socket-path specified in your node configuration:
export CARDANO_NODE_SOCKET_PATH=db/node-socket

Transactions tutorial is used in Ex 2.


My Webhook doesn't trigger aws codepipeline ( on certain occasions )

I have aws codepipeline created with source -> set to bitbucket repo.
my webhook gets triggered on code change and aws codepipeline runs.
recently , when a code change was pushed on bitbucket repo.
webhook didn't trigger an aws codepipeline.
How I solved it.
-> I clicked on the release change ( to start pipeline )
After that it automatically triggers pipeline on code change.
Problems:
-> Why did pipeline not get triggered on code change?
-> Does this happen frequently and How to solve it?

Hi @AditModi . Have you checked the Lambda function logs?

Hi @alexfrosa .
I don't see anything unusual in cloudwatch logs.
It just doesn't get triggered on some special occasions ( weird times doesn't work )  , on other occasions it works perfectly fine ( mostly works fine )


Control panels can request a list of connected nodes

A control panel should be able to request all the connected nodes, then receive a message containing all the currently connected nodes

Control panels now send a request to all sensor nodes on the server whenever they connect, which reply by sending information about themselves to the requesting control panel. In the opposite scenario, when a sensor node connects, it sends information about itself to all control panels on the server. This ensures that all control panels have an updated list of connected nodes.


Wrong calculation of dive plan with deco gas

I tried creating a pretty straight forward 55m dive with 20 mins bottom time, 18/45 as the back gas and 50% o2 as deco gas.  But I think something wrong, because I should clearly have more deco than three minutes
Here it is:
var dive = require('scuba-dive');
var buhlmannDeco = dive.deco.buhlmann();
var newPlan = new buhlmannDeco.plan(buhlmannDeco.ZH16ATissues);

var he = 0.45;
var o2 = 0.18;
var n2 = 1 - he - o2;

newPlan.addDepthChange(0, 55, n2, he, 2);
newPlan.addFlat(55, n2, he, 20);
var result = newPlan.calculateDecompression(0.5, 0.0);

console.log(result);// [{'depth':3,'time':3}]

There was a bug in how buhlmann was implemented. I fixed this. Please try again. Reopen if you think it's still broken.

@archisgore Cool! I'll check it out.  There are a lot of unit tests for buhlmann (and vpm) in https://github.com/torvalds/subsurface/blob/master/tests/testplan.cpp, you might want to copy some of those.  And an open buhlmann/vpm implementation in https://github.com/torvalds/subsurface/blob/master/subsurface-core/deco.c :)


Better error handling with Couchbase

Already discussed with Simon Baslé: AsyncN1qlQueryResult API makes not very easy to deal with errors since they are now emitted as errors in the main Observable<AsyncN1qlQueryRow>.
They will maybe provide an adapter to make our job easier in 2.x drivers. API may be improved in 3.x driver

Closing this issue since I this will be handled on Spring Data side.


Update user's password endpoint + tests

Need an endpoint to let the users update passwords. From an admin and user point of view. Don't want to just update the database record in a PUT or PATCH endpoint along with the user's information.

The endpoint should generate a reset password flow.

Should it have views for reseting the password?
Should it generate a token and let the client send the token and new password?

Any opinions are welcome to define the best way to do this keeping in mind that we don't want to handle views or Exclusive web flow.

Should all of them use the web views? if iOS open a web view to request the password reset and then the email will link to the web?

Moved this to Milestone 3.1 as this is somehow implementation specific.

Closing this as this is implementation specific and won't bother for now.


implemented render of templates for endpoint /templates/{id}/render

implemented mechanism to approve requests either by activation tile or by template_id

Also need an example with
return { 'template_id' => $id };
instead of
return "activation succeeded";


add PASSTHRU command to pass a compiler input script line unmodified to the output script

There are a bunch of new commands related to macros, and some others, that need to have support added to the compiler. This will take some design work, and the commands need to fit into the 2 pass structure of the compiler.
In the meantime, I'm implementing the PASSTHRU command (PT for short) which will take the remainder of the source line and write it directly to the "compiled" file. This will allow all commands to be included in the compiler source code, and it won't be necessary to hand edit the compiled code after every compile.
Here are some examples:
// beginning of macro definitions
PT send("flow,1,BOM")
// saved the accumulated flow commands as macro Q
PT send("flow,0,SM,Q")
// execute macro Q 4 times
PT send("flow,1,DM,Q,4")
// put a comment into the compiled code to assist debugging
PT // This comment will appear in the .js file

PASSTHRU command is in and working (see gait3x3.txt for an example). Will leave this ticket open until compiler support for new macro commands is imlemented

Need to re-implemement PASSTHRU and SYMDEF compiler commands. I did a discard changes command which accidentally wiped them out.


add docker hub ratelimit metric

provide docker hub ratelimit as a metric
https://docs.docker.com/docker-hub/download-rate-limit/#how-can-i-check-my-current-rate

Please add an options that user for docker hub

Thank you!


[operator][1.7.6] Ingress gateway is not removed when it is removed from IstioOperator CR

Bug description
This is a bug in operator's reconciliation logic. When ingress gateway is removed from ingressGateways section, corresponding deployment should be deleted. But it is not the case in 1.7.6. However I tried with 1.8.1 and the unreleased 1.9 and it works fine. So the fix needs to be back-ported to 1.7
[ ] Docs
[X] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
[ ] Upgrade
Expected behavior
When a gateway is deleted from ingressGateways section, the corresponding deployment should be deleted. Both istio-system and istio-operator have operators installed watching different namespaces because in Istio < 1.8 multiple CRs in the same ns is not supported (we need it for keeping gateways and control plane separate).
Steps to reproduce the bug
Control plane was installed with profile=minimal and no other setting

First I created a simple IstioOperator and save it as ingress-gw.yaml

apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
metadata:
  name: gateways
spec:
  profile: empty
  components:
    ingressGateways:
    - name: istio-ingressgateway
      enabled: true

Deploy it and check if it is deployed

$ kubectl apply -f ingress-gw.yaml -n istio-gateway
istiooperator.install.istio.io/gateways created

$ kubectl get pods -lapp=istio-ingressgateway -A
NAMESPACE      NAME                                    READY   STATUS    RESTARTS   AGE
istio-system   istio-ingressgateway-7dd8f49cb8-5zbs2   1/1     Running   0          7s

Modify ingress-gw.yaml : remove components section

apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
metadata:
  name: gateways
spec:
  profile: empty

Apply modified YAML and check for pods

$ kubectl apply -f ingress-gw.yaml -n istio-gateway
istiooperator.install.istio.io/gateways configured

# Wait for some time - like a minute or two just to make sure that it is still not Terminating
$ kubectl get pods -lapp=istio-ingressgateway -A
NAMESPACE      NAME                                    READY   STATUS    RESTARTS   AGE
istio-system   istio-ingressgateway-7dd8f49cb8-5zbs2   1/1     Running   0          3m22s

Version (include the output of istioctl version --remote and kubectl version --short and helm version --short if you used Helm)
$ istioctl17 version
client version: 1.7.6
control plane version: 1.7.6
data plane version: none

How was Istio installed?
I had operator installed. Then both control plane and gateways were installed with IstioOperator CR.

@su225 This was fixed in https://github.com/istio/istio/pull/27198
I will cherrypick it to release-1.7

@su225 This was fixed in https://github.com/istio/istio/pull/27198
I will cherrypick it to release-1.7

Closing this as it was fixed in https://github.com/istio/istio/pull/30057
Feel free to reopen it.


Initialize reason and SQLState in PostgresqlServerErrorException.

We now initialize reason and SQLState properties of R2dbcException
to provide details for code that uses only R2dbcException.
We're aligning the behavior with the JDBC driver that only
populates SQLState and leaves errorCode empty.
Closes gh-3.

Looks better.


Add a brief description on how we handle defaults

This fixes #1502

Any suggestions on who is a good reviewer for this?

LGTM

We should add the text about the rationale from https://github.com/GoogleCloudPlatform/kubernetes/issues/1502#issuecomment-70217263

@bgrant0607, The comment you mentioned has more details which may not be all that relevant to this specific section. I extracted some of it and added a brief explanation. PTAL and let me know if you prefer the detailed version. Thanks!

LGTM


Can not using Link, Image, Video function

I can run summernote with other toolbar's function but Link, Image and Video function don't run (do nothing when I clicked on it). I think there are missing Bootstrap Javascript but when I import Bootstrap Javascript then it still not run.
Do you have any ideas?

Try to use dialogsInBody: true option
http://summernote.org/deep-dive/#dialogs
Example:
<ReactSummernote
	options={{
		dialogsInBody: true
	}}
/>

That's work! Thank you very much.


Fixed bug in bpf where IPv4 destination address was stored as IPv6

What type of PR is this?
/kind bug

What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes #653
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

Should be backported


indentation changed

fixing the indentation err seen on dev env
Signed-off-by: Aishwarya Pradeep<EMAIL_ADDRESS>

Signed-off-by: Aishwarya Pradeep<EMAIL_ADDRESS>


Sandboxed-module error after upgrading node module from 6.x.x to 10.x.x

Getting TypeError: callSite.getFileName is not a function error after upgrading node version from 6.14.3 to 10.x.x.
I did check this with express community ( https://github.com/expressjs/express/issues/3919 ) but it seems to be a bug in the https://www.npmjs.com/package/sandboxed-module.
Could you provide the solution to fix this.
var file = callSite.getFileName() || ''
                  ^

TypeError: callSite.getFileName is not a function
at callSiteLocation (C:\MMS_Github\MMS Upgrade 10\ManageMyStaff\node_modules\body-parser\node_modules\depd\index.js:252:23)

at depd (C:\MMS_Github\MMS Upgrade 10\ManageMyStaff\node_modules\body-parser\node_modules\depd\index.js:111:14)

at Object.<anonymous> (C:\MMS_Github\MMS Upgrade 10\ManageMyStaff\node_modules\body-parser\index.js:14:32)

at SandboxedModule._compile (C:\MMS_Github\MMS Upgrade 10\ManageMyStaff\node_modules\sandboxed-module\lib\sandboxed_module.js:251:19)

at createInnerSandboxedModule (C:\MMS_Github\MMS Upgrade 10\ManageMyStaff\node_modules\sandboxed-module\lib\sandboxed_module.js:183:23)

at SandboxedModule.RecursiveRequireProxy (C:\MMS_Github\MMS Upgrade 10\ManageMyStaff\node_modules\sandboxed-module\lib\sandboxed_module.js:214:27)

at Object.<anonymous> (C:\MMS_Github\MMS Upgrade 10\ManageMyStaff\node_modules\express\lib\express.js:15:18)

at SandboxedModule._compile (C:\MMS_Github\MMS Upgrade 10\ManageMyStaff\node_modules\sandboxed-module\lib\sandboxed_module.js:251:19)

at createInnerSandboxedModule (C:\MMS_Github\MMS Upgrade 10\ManageMyStaff\node_modules\sandboxed-module\lib\sandboxed_module.js:183:23)

at SandboxedModule.RecursiveRequireProxy (C:\MMS_Github\MMS Upgrade 10\ManageMyStaff\node_modules\sandboxed-module\lib\sandboxed_module.js:214:27)

npm ERR! Test failed.  See above for more details.
Sharing the sample application with you on below path.
https://github.com/Ashish131989/depd-module-Issues

Team- Did you get chance to look into it?

@felixge @domenic Could you please look into it?It is blocking our development

i faced this issue in docker containers using node:10.14.1-alpine
changing to node:14-alpine fixes the issue, but node:12-alpine was not working either


helpdesk-faq: Subject links also need to be formatted

We recently had an FAQ item added with a link in the subject. We can display it nicely as well. There will never be links in the topic so that is left unchanged.

/lgtm


Replace rustc_version with rustversion

This will make our build.rs obsolete and hopefully fix the docs build

See #194

Not possible since we use mod-level annotations which are not supported by rustversion


Prop to disable hint on button

Hi there, is there a prop I can pass to disable this hint on the google sign in button ?

Alright thanks


Official commit

[ ] I added CHANGELOG entry for this change.
[ ] Change is not relevant to the end user.

Changes

Verification

Hi, it sounds like some test PR closing.