Probable miscompile with nested functions

The nested collect_while function misbehaves, and we get
$ lily nested-bug1.lly
before: h
before: l
before: o
before:
after: []

Looks very much like a misplaced back jump!
# nested-bug1.lly
define dbg[A](msg: String, val: A) {
   print($"^(msg): ^(val)")
}

define test(str: String) {
   var i = -1
   var ch = ""
   define get: String {
      var res = ch
      i += 1
      ch = str[i]
      return res
   }

   define collect_while: String {
      get()
      var ls: List[String] = []
      dbg("before",ch)
      while ch.is_alpha():
         ls.push(get())
      dbg("after",ls)
      return ls.join("")
   }

   print(collect_while())
}

test("hello  ")

I vaguely remember that there was some problem with closures and setting jumps back up. I need to do some work later on with redoing closures, and I'll tackle this as part of that.

I've tested this again with e3a7816, and I'm getting this output:
before: h
after: ["h", "e", "l", "l", "o"]
hello

I think relative jumps may have fixed what problems that were present, but I'm not 100% sure. Do you have any issues relating to blocks and closures still?

I can confirm that the example is now working, thanks!  Shall we keep this open until we're sure of other cases?

This variant still gives trouble:
define dbg[A](msg: String, val: A) {
   print($"^(msg): ^(val)")
}

define test(str: String) {
   var i = -1
   var ch = ""
   define get: String {
      var res = ch
      i += 1
      ch = str[i]
      return res
   }

   define collect_while: String {
      get()
      var ls: List[String] = []
      dbg("before",ch)
      while ch.is_alpha():
         ls.push(get())
      dbg("after",ls)
      return ls.join("")
   }
   print(collect_while())
}
test("hello  ")
before: h
IndexError: Index 5 is out of range.
Traceback:
    from lambda-bug1.lly:8: in (lambda)
    from lambda-bug1.lly:21: in (lambda)
    from lambda-bug1.lly:26: in test
    from lambda-bug1.lly:30: in __main__

My apologies - a mispaste. Replace that define (which does work) with this lambda equivalent:
   var collect_while = {||
      get()
      var ls: List[String] = []
      dbg("before",ch)
      while ch.is_alpha():
         ls.push(get())
      dbg("after",ls)
      ls.join("")
   }

What's strange is that this is working for a define block, but not a lambda block. I can't imagine what's internally different enough between those blocks to break this. Even worse, I can't reproduce this on my machine. Are you using a 32-bit machine for this (grasping for a straw there). Assuming that's not the case, I'm wondering if there's bad code gen involved.
What happens if you edit get to print out i each pass, for both the lambda and non-lambda versions?

Ah, I see the problem - I tested with the string "hello" and it simply ran out of string while testing. It works with "hello ". Just code that doesn't check for an obvious error condition - C teaches us bad habits, one of which is that there's always a char after the end of a string ;)

The Bug du Jour is an interesting one. I've implemented a simplified format function in xstr. (see end of it in https://gist.github.com/stevedonovan/71b1e2443602edee308aab07e233854b)
$ cat value-vararg-bug1.lly
import xstr
var s = "hello"
print(xstr.format("[{}]",s.upper()))
$ lily value-vararg-bug1.lly
HELLO

It does work if you just pass a variable!  My friend GDB informs me that the first fmt arg of xstr.format was "HELLO" - the value of the string! The varargs are ["HELLO"] as expected.

I'm glad to hear that the original issue is fixed. I was worried for a moment that we'd have to play hot potato passing messages between each other trying to figure it out.
What you're running into is almost certainly an emitter bug (more specifically, a storage is likely being used again that shouldn't be). I'll see if I can push a fix soon, and then I'll close this bug as a whole.


Add dynamic coloring of SVGs

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:
:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.

Flag
Coverage Δ

unittests
100.00% <100.00%> (ø)

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

Files with missing lines
Coverage Δ

django_pdf_view/templatetags/svg.py
100.00% <100.00%> (ø)


Implement ColorTransition

Greetings,
Avalonia currently supports the following transitions (from the documentation):

DoubleTransitions: For double target properties
FloatTransitions: For float target properties
IntegerTransitions: For int target properties

Unfortunately there is currently no support for ColorTransition that would make smooth color changes possible as in WPF or UWP.
Keep up the amazing work!

Currently blocked by brush->visual invalidation and property paths

I think brush -> visual invalidation should work fine, is there something I'm not aware of?

I wanted to use color transitions to animate the background of a button on hover because I didn't find a way to animate the mouse leave event with keyframe animations. So I wrote a SolidColorBrushTransition which creates a new brush for every frame. Unfortunately, it can't be used from XAML but from C# it works and runs smoothly even in debug mode.

I wanted to use color transitions to animate the background of a button on hover because I didn't find a way to animate the mouse leave event with keyframe animations. So I wrote a SolidColorBrushTransition which creates a new brush for every frame. Unfortunately, it can't be used from XAML but from C# it works and runs smoothly even in debug mode.

BrushTransition is already released. Closing as done.

It also soon will support gradients https://github.com/AvaloniaUI/Avalonia/pull/6183


Size of magnet

Is it possible to change the size of custom view, looks like my width and height are ignored.

Hi @bmelnychuk . Are you calling setIconView(..) with a view or a layout resource?

Hi, I tried both. This is layout i want to have for example
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="300dp"
    android:layout_height="300dp">

    <ImageView
        android:id="@+id/profileImage"
        android:src="@mipmap/ic_launcher"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

....

</FrameLayout>

but the size is always the same

I see. So the size is always the same because the layout params are not carried over from your xml view to the Window where the view is added. I will post a fix where you can manually set the width and height of the magnet. Thanks for pointing this out!

@bmelnychuk I attempted a fix in this PR https://github.com/premnirmal/Magnet/pull/17. Do you mind verifying the fix?

Fixed in version 1.1.6


GPS coordinates seem a bit off when using real world maps

PR #33 Adjusts the GPS to better align with the real world. I understand that it's not necessary to have these correct to accomplish the tasks in the challenge, but it does make it easier to develop when we can compare sensor generated maps with real world maps for example.

Thanks! Closing on merge of #33


Refactoring/run terminate instance

Mostly moved code to methods and refactored firewall management.

Regarding basic networking:
Running RSpec tests in folder : basic
Using Vagrant file            : Vagrantfile.basic_networking

Basic Network
  starts Linux VM with security groups
  destroys Linux with security groups

Finished in 1 minute 59.87 seconds (files took 0.12301 seconds to load)
2 examples, 0 failures

Process finished with exit code 0

Running RSpec tests in folder : vmlifecycle
Using Vagrant file            : Vagrantfile.advanced_networking

VM Life Cycle
  starts Linux and Windows VM
  destroys Linux and Windows VM

Finished in 3 minutes 16.5 seconds (files took 0.13201 seconds to load)
2 examples, 0 failures

Process finished with exit code 0

Running RSpec tests in folder : networking
Using Vagrant file            : Vagrantfile.advanced_networking

Networking features
  creates firewall and portwarding rules

Finished in 2 minutes 33.7 seconds (files took 0.11901 seconds to load)
1 example, 0 failures

Process finished with exit code 0

Ping @j00p34 @miguelaferreira
Can you aprove, or not :wink: ?
Was not sure if to squash most entries or not...

:+1:
➜  mferreira@sbpltk1zkfh04 vagrant-cloudstack (pr/144 ✔ ) bundle exec rake spec
[Coveralls] Set up the SimpleCov formatter.
[Coveralls] Using SimpleCov's default settings.
................................................................................................................
Finished in 0.10926 seconds (files took 0.48514 seconds to load)
168 examples, 0 failures

[Coveralls] Outside the CI environment, not sending data.
➜  mferreira@sbpltk1zkfh04 vagrant-cloudstack (pr/144 ✔ ) bundle exec rake functional_tests:all
Running RSpec tests in folder : vmlifecycle
Using Vagrant file            : Vagrantfile.advanced_networking

VM Life Cycle
  starts Linux and Windows VM
  destroys Linux and Windows VM

Finished in 3 minutes 52 seconds (files took 0.09492 seconds to load)
2 examples, 0 failures

Running RSpec tests in folder : rsync
Using Vagrant file            : Vagrantfile.advanced_networking

VM RSync
Connection to <IP_ADDRESS> closed.
  does rsync to the VM

Finished in 1 minute 5.89 seconds (files took 0.09307 seconds to load)
1 example, 0 failures

Running RSpec tests in folder : networking
Using Vagrant file            : Vagrantfile.advanced_networking

Networking features
  creates firewall and portwarding rules

Finished in 3 minutes 39.5 seconds (files took 0.12068 seconds to load)
1 example, 0 failures


does API gateway  endpoint supports  request Chunked transfer encoding  ?

Hi,
I have requirement to process stream of binary data  pass to Api gateway endpoint based on some corelationId as identity chunk by chunk  .
Please clarify the below issues :+1:
1.Does api gateway  rest endpoint supports chunked transfer and keep the connection open until all chunks  processed / apio gateway endpoint connection closed  and return the response with all chunks of data .
2.How many number of aws lambda instances gets created when we invoke AWS api gateway endpoint multiple times ?
Regards,
Brahmaiah Doma

No, API Gateway does not support chunked transfer.
Lambda will create a new instance only when it receives a request and all current instances are running.

that means for each request lambda service class instance gets created ?  is it ptototype /Singleton/Request scope  design pattern?

Given an application with no other traffic:If I make a request, and then after receiving a response I make another request, this will be a single Lambda instance.
If you and I make a request at the exact same time, 2 Lambda instances will be created


refactor(theme-classic): little breadcrumbs improvements

Motivation

turn a last breadcrumb item into a text (see https://usersnap.com/blog/breadcrumbs/ or https://martech.org/breadcrumb-links-good-user-experience-yes/)

Don’t link current page in breadcrumb navigation
The last item in the breadcrumb trail (current user’s location) is optional — if you want to display it, make sure that it’s not clickable or tappable. Since users are already on the page, it does not make any sense to add a link of the current page to the breadcrumb navigation.

clean up CSS styles -- background for breadcrumb item is supposed to apply only to active state (hover or current item), now it looks weird, so I don't see the point in changing that default design.

Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
Preview
Related PRs

👍


[Feature Request] The email sign in support verification code.

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
Currently, the way to log in via email is to send a magic link, which is not very user-friendly. So we hope to support the way to also send verification codes via email.
We can allow users to click on the link, or we can ask them to enter a verification code (when on different devices)
The verification code can be generated based on the token, 6 digits
The related code is here:
frontend/lib/auth/auth-sind-request.ts
Use Case
Make user email verification more friendly.
Benefits
No response
Add Screenshots
No response
Priority
Medium
Record

[X] I have read the Contributing Guidelines
[X] I have starred the repository

Hi @ahaapple,
I have 2 years of experience as a web developer, and I would love to work on implementing the email verification code feature. Additionally, I can focus on making the verification process more user-friendly. Could you please assign this issue to me?
Thanks!

@Che140401 Assigned, Thank you!

Hey @ahaapple I am very keen to work on this issue. I would be really happy if you could assign this issue to me.

@ahaapple Got it! To clarify, I need to add a new login page with :
An email login section supporting both magic links and verification codes.
A "Sign in with Google" button below the email login form.
Please confirm if this is correct, and I'll proceed.

Yes. we could let the user input verification codes with  https://ui.shadcn.com/docs/components/input-otp.

Okay


Fix install script on RHEL

The RHEL images are missing on Docker's S3 bucket.
See https://download.docker.com/linux/rhel/8/x86_64/stable/repodata/repomd.xml, and notice that x86_64 isn't listed here. But on https://download.docker.com/linux/centos/8/x86_64/stable/repodata/repomd.xml, we see that an x86_64 is indeed listed.
Now, if we look at the repo definition file at https://download.docker.com/linux/centos/docker-ce.repo, we can see the base URL for download Docker stable is:
baseurl=https://download.docker.com/linux/rhel/$releasever/$basearch/stable

This, on RHEL 8, on x86_64 architecture, would resolve to https://download.docker.com/linux/rhel/8/x86_64/stable, which, sadly, suddenly, doesn't exist.
There's a chance this might be a deliberate action, since RHEL appears to be recommending their own repos for installing Docker, and these repos are only accessible to registered users of RHEL. See https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux_atomic_host/7/html-single/getting_started_with_containers/index#getting_docker_in_rhel_7 for more details.

@mohanarpit, take a look here when you get a chance. I'm not happy using CentOS repos for RHEL, but it's the best solution I have, other than required RHEL registration for installing Appsmith.


SphericalCoordinate type incompatibl with Zoloto

In legacy mode, spherical coordinates have the following incompatible differences than Zoloto:

the distance member is called distance where Zoloto called this member dist
the tuple unpacking of the type is (distance, theta, phi) where Zoloto used (rot_x, rot_y, dist), which is incompatible (especially since theta and phi have very different meanings than rot_x and rot_y

This implementation is taken from the version of Zoloto in the v2023.1.0 image, release on Dec 1st.
https://github.com/srobo/zoloto/blob/master/zoloto/coords.py#L87

This ship has sailed.


feat: make sure to run swiftwave with popular tunelling applications

Is your feature request related to a problem? Please describe
There are many users who like to run this locally and self-host and put some tunnelling application to expose the applications. Modify swiftwave wherever required to work seemlessly with popular tunnels (Cloudflare, ngrok, manually SSH based etc.)
Describe the solution you'd like
Need to explore and find out issues
Issues -

[x] #559
[x] #561

Are you working on this?
Yes

Now, it works with cloudflare tunneling + ngrok.

Able to issue SSL certificates, even swiftwave is running on a local node (behind NAT)
Able to access image registry from remote, even swiftwave is running on a local node (behind NAT)


docs(Order/Filter/Bases): adapt Mathlib3 doc to Mathlib4

In the doc of  IsBasis the old convention is_basis was still used, and this PR fixes this.

Thanks!
bors r+


View fit does not work correctly when map size was changed

Describe the bug
When calling fit on a view belonging to a map that was resized with setSize the extent does not fit correctly.
To Reproduce
Steps to reproduce the behavior:

Go to https://codesandbox.io/s/fit-extent-with-changed-map-size-w42s2?file=/main.js
Click on the button
The view.fit(extent) does not fit the extent to the map correctly

Expected behavior
The view should use the map size for these calculations instead of the viewport size.
Maybe it is not intended to be used like this though. I guess I could set the size on the map target instead.

This probably happens because the new map size has not propagated to the view yet when you call fit(). To be more explicit about the new size, you can call view.fit(extent, {size: map.getSize()});.

Thanks, I had found that option and it works, but it is not a timing issue. The viewport element does not get resized when the map size is set.

I believe this is still an issue; I will try to describe what I am seeing.  The feature I am working on allows a user to draw a linestring on the map after which the entire map is resized to make room for a bottom drawer panel that contains data about the line drawn.  Below the code I am using to try to zoom the map view to create the map features and zoom to the extent of the vector layer that contains those features.  This all works great if the linestring is mostly horizontal.  However, the behavior seems very wrong when the linestring is mostly vertical.  In fact, the map will actually zoom in to make less of the features visible rather than zooming out to fit the entire set of features as I believe is expected.
  const createRouteLayer = (data) => {
    const features = [];

    const addPoint = (coords, props) => {
      const pointGeometry = new Point(coords);
      const pointFeat = new Feature({ geometry: pointGeometry });
      pointGeometry.set('routeId', id);
      pointGeometry.setProperties({ forecastProps: props });
      pointFeat.setStyle(pointStyle);
      features.push(pointFeat);
    };

    const addLine = (startCoords, endCoords) => {
      const routeSegment = new LineString([endCoords, startCoords]);
      const segmentFeat = new Feature({ geometry: routeSegment });
      segmentFeat.setStyle(getLineStyle());
      features.push(segmentFeat);
    };

    data.forEach((pointData, index) => {
      const { location: { coordinates } } = pointData;
      const pointCoords = [coordinates.lon, coordinates.lat];
      addPoint(pointCoords, pointData);

      if (index > 0) {
        const prevCoords = data[index - 1].location.coordinates;
        const { lon, lat } = prevCoords;
        addLine([lon, lat], pointCoords, pointData);
      }
    });

    const source = new VectorSource({ features });
    const vectorLayer = new VectorLayer({ source });
    vectorLayer.set('routeId', id);
    vectorLayer.set('routeType', ROUTE_TYPES.FORECAST);
    vectorLayer.setZIndex(1000);
    map.addLayer(vectorLayer);
    setRouteLayer(vectorLayer);
  };

  const zoomToFit = () => {
    setTimeout(() => {
      const fitOptions = {
        size: map.getSize(),
        padding: [200, 200, 200, 200],
        duration: 1200,
      };
      const extent = routeLayer.getSource().getExtent();
      map.getView().fit(extent, fitOptions);
    }, 500);
  };

Here is what the vertical line looks like as it is being drawn, followed by what it looks like after zoomToFit is called:

When inspect the extent and fit options I see that the new map size is being passed along properly to reflect the resized viewport:

As a reference here are the same screenshots for a horizontal line which works great:

@jasontk19 The map view is struggling to fit the viewport with a vertical padding summing up to 200+200=400 pixels onto an available area of only 200 pixels height. This leads to the unexpected result you're seeing.
Instead of resizing the screen, you update set the view padding when your bottom panel slides up. See https://openlayers.org/en/latest/examples/view-padding.html.

Thanks @ahocevar that was definitely it in my case.


How to use wasm-bindgen-test in a local path?

Summary
I am trying to directly use the wasm-bindgen-test crate because I want to make some changes in it.
[target.'cfg(target_arch = "wasm32")'.dev-dependencies]
wasm-bindgen-test = { path = "crates/wasm-bindgen/crates/test" }

But I am getting this error when I build it:
notdanilo@veritas:~/dev/notdanilo/cross-test$ wasm-pack test
Error: Error during execution of `cargo metadata`: error: failed to select a version for `wasm-bindgen-shared`.
    ... required by package `wasm-bindgen-macro-support v0.2.69`
    ... which is depended on by `wasm-bindgen-macro v0.2.69`
    ... which is depended on by `wasm-bindgen v0.2.69`
    ... which is depended on by `console_error_panic_hook v0.1.6`
    ... which is depended on by `wasm-bindgen-test v0.3.19 (/home/notdanilo/dev/notdanilo/cross-test/crates/wasm-bindgen/crates/test)`
    ... which is depended on by `cross-test v0.1.2-alpha.0 (/home/notdanilo/dev/notdanilo/cross-test)`
versions that meet the requirements `=0.2.69` are: 0.2.69

the package `wasm-bindgen-shared` links to the native library `wasm_bindgen`, but it conflicts with a previous package which links to `wasm_bindgen` as well:
package `wasm-bindgen-shared v0.2.69 (/home/notdanilo/dev/notdanilo/cross-test/crates/wasm-bindgen/crates/shared)`
    ... which is depended on by `wasm-bindgen-macro-support v0.2.69 (/home/notdanilo/dev/notdanilo/cross-test/crates/wasm-bindgen/crates/macro-support)`
    ... which is depended on by `wasm-bindgen-macro v0.2.69 (/home/notdanilo/dev/notdanilo/cross-test/crates/wasm-bindgen/crates/macro)`
    ... which is depended on by `wasm-bindgen v0.2.69 (/home/notdanilo/dev/notdanilo/cross-test/crates/wasm-bindgen)`
    ... which is depended on by `js-sys v0.3.46 (/home/notdanilo/dev/notdanilo/cross-test/crates/wasm-bindgen/crates/js-sys)`
    ... which is depended on by `wasm-bindgen-futures v0.4.19 (/home/notdanilo/dev/notdanilo/cross-test/crates/wasm-bindgen/crates/futures)`
    ... which is depended on by `wasm-bindgen-test v0.3.19 (/home/notdanilo/dev/notdanilo/cross-test/crates/wasm-bindgen/crates/test)`
    ... which is depended on by `cross-test v0.1.2-alpha.0 (/home/notdanilo/dev/notdanilo/cross-test)`

failed to select a version for `wasm-bindgen-shared` which could resolve this conflict

Thanks for the report! I'd recommend using Cargo's [patch] feature if you'd like to use a different version of wasm-bindgen crates. You may need to [patch] more than just one crate, however, since there's a family of crates with wasm-bindgen.

Thanks for the report! I'd recommend using Cargo's [patch] feature if you'd like to use a different version of wasm-bindgen crates. You may need to [patch] more than just one crate, however, since there's a family of crates with wasm-bindgen.

Thanks for the quick response. Would the patching still be necessary to build the crate locally even if I don't have any changes applied to it? I am trying to build a clean repo clone.

Thanks for the quick response. Would the patching still be necessary to build the crate locally even if I don't have any changes applied to it? I am trying to build a clean repo clone.

Quick update:

cargo clean seemed to fix it.
Running wasm-pack test --chrome with the stable toolchain fails because of the use of #![feature] so I switched to nightly.
Now I am getting this error:

  = note: rust-lld: error: duplicate symbol: __wbindgen_malloc
          >>> defined in /home/notdanilo/dev/notdanilo/cross-test/target/wasm32-unknown-unknown/debug/deps/libwasm_bindgen-52008e5452425f47.rlib(wasm_bindgen-52008e5452425f47.2udpmmivwxjrkfyb.rcgu.o)
          >>> defined in /home/notdanilo/dev/notdanilo/cross-test/target/wasm32-unknown-unknown/debug/deps/libwasm_bindgen-24ecc61ab227544e.rlib(wasm_bindgen-24ecc61ab227544e.wasm_bindgen.bz7yl1pq-cgu.15.rcgu.o)

          rust-lld: error: duplicate symbol: __wbindgen_free
          >>> defined in /home/notdanilo/dev/notdanilo/cross-test/target/wasm32-unknown-unknown/debug/deps/libwasm_bindgen-52008e5452425f47.rlib(wasm_bindgen-52008e5452425f47.2udpmmivwxjrkfyb.rcgu.o)
          >>> defined in /home/notdanilo/dev/notdanilo/cross-test/target/wasm32-unknown-unknown/debug/deps/libwasm_bindgen-24ecc61ab227544e.rlib(wasm_bindgen-24ecc61ab227544e.wasm_bindgen.bz7yl1pq-cgu.15.rcgu.o)

Quick update:

cargo clean seemed to fix it.
Running wasm-pack test --chrome with the stable toolchain fails because of the use of #![feature] so I switched to nightly.
Now I am getting this error:

  = note: rust-lld: error: duplicate symbol: __wbindgen_malloc
          >>> defined in /home/notdanilo/dev/notdanilo/cross-test/target/wasm32-unknown-unknown/debug/deps/libwasm_bindgen-52008e5452425f47.rlib(wasm_bindgen-52008e5452425f47.2udpmmivwxjrkfyb.rcgu.o)
          >>> defined in /home/notdanilo/dev/notdanilo/cross-test/target/wasm32-unknown-unknown/debug/deps/libwasm_bindgen-24ecc61ab227544e.rlib(wasm_bindgen-24ecc61ab227544e.wasm_bindgen.bz7yl1pq-cgu.15.rcgu.o)

          rust-lld: error: duplicate symbol: __wbindgen_free
          >>> defined in /home/notdanilo/dev/notdanilo/cross-test/target/wasm32-unknown-unknown/debug/deps/libwasm_bindgen-52008e5452425f47.rlib(wasm_bindgen-52008e5452425f47.2udpmmivwxjrkfyb.rcgu.o)
          >>> defined in /home/notdanilo/dev/notdanilo/cross-test/target/wasm32-unknown-unknown/debug/deps/libwasm_bindgen-24ecc61ab227544e.rlib(wasm_bindgen-24ecc61ab227544e.wasm_bindgen.bz7yl1pq-cgu.15.rcgu.o)

It looks like [patch] may not have patched everything? That looks like there's still two versions of the wasm-bindgen crate itself being linked in. Perhaps a missing patch entry for wasm-bindgen itself?

It looks like [patch] may not have patched everything? That looks like there's still two versions of the wasm-bindgen crate itself being linked in. Perhaps a missing patch entry for wasm-bindgen itself?

@alexcrichton the deal is I am not patching anything yet. Shouldn't crates/test be buildable with a clean repo?

@alexcrichton the deal is I am not patching anything yet. Shouldn't crates/test be buildable with a clean repo?

Unfortunately using wasm-pack in this repo itself will not work due to how wasm-pack works.

Unfortunately using wasm-pack in this repo itself will not work due to how wasm-pack works.

@alexcrichton what would be the suggested way to use a modified version of wasm-bindgen-test?
In case you are curious why I need it so much:
I am creating a cross-test crate that re-exports platform specific test frameworks because it is really annoying to create target cfgs on every project.
To make wasm-bindgen-test re-exportable, it seems that I need to rework some type pathes. I might create a PR for it if the solution doesn't get too hacky.

@alexcrichton what would be the suggested way to use a modified version of wasm-bindgen-test?
In case you are curious why I need it so much:
I am creating a cross-test crate that re-exports platform specific test frameworks because it is really annoying to create target cfgs on every project.
To make wasm-bindgen-test re-exportable, it seems that I need to rework some type pathes. I might create a PR for it if the solution doesn't get too hacky.

If you're editing in-tree you can use cargo test --target wasm32-unknown-unknown and it should work

If you're editing in-tree you can use cargo test --target wasm32-unknown-unknown and it should work

@alexcrichton that's not exactly what I am looking for. I want to be able to use a modified version of wasm-bindgen-test as a dependency just like how an end-user would use it in the project Cargo.toml and then run the tests with wasm-pack test.
I can't find anything in the docs explaining how to do that.

@alexcrichton that's not exactly what I am looking for. I want to be able to use a modified version of wasm-bindgen-test as a dependency just like how an end-user would use it in the project Cargo.toml and then run the tests with wasm-pack test.
I can't find anything in the docs explaining how to do that.

It's unfortunately not really well documented, but you'll need to compile a local version of wasm-bindgen-test (sibling to the wasm-bindgen binary) and then set that as the test runner for the wasm target through Cargo to execute tests. Basically you need to do what wasm-pack does, except manually to specify your own version of the binary.

It's unfortunately not really well documented, but you'll need to compile a local version of wasm-bindgen-test (sibling to the wasm-bindgen binary) and then set that as the test runner for the wasm target through Cargo to execute tests. Basically you need to do what wasm-pack does, except manually to specify your own version of the binary.

I'm also struggling to just include wasm-bindgen itself on my project, after cloning it locally and adding it via path on my Cargo.toml. I would like to extend RefFromWasmAbi some traits for more complex types, see this Rust Discord thread for more context and its followup:
(...)
# WASM
getrandom = { version = "0.2", features = ["js"] }
#wasm-bindgen = { version = "0.2", features = ["enable-interning"] }
wasm-bindgen = { path = "../wasm-bindgen" }
(...)

I'm getting:
crypt4gh-rust % cargo build --target wasm32-unknown-unknown
error: failed to select a version for `wasm-bindgen-shared`.
    ... required by package `wasm-bindgen-macro-support v0.2.62`
    ... which satisfies dependency `wasm-bindgen-macro-support = "=0.2.62"` of package `wasm-bindgen-macro v0.2.62`
    ... which satisfies dependency `wasm-bindgen-macro = "=0.2.62"` of package `wasm-bindgen v0.2.62`
    ... which satisfies dependency `wasm-bindgen = "^0.2.62"` of package `getrandom v0.2.11`
    ... which satisfies dependency `getrandom = "^0.2"` (locked to 0.2.11) of package `crypt4gh v0.4.1 (/Users/rvalls/dev/umccr/crypt4gh-rust)`
versions that meet the requirements `=0.2.62` are: 0.2.62

the package `wasm-bindgen-shared` links to the native library `wasm_bindgen`, but it conflicts with a previous package which links to `wasm_bindgen` as well:
package `wasm-bindgen-shared v0.2.89 (/Users/rvalls/dev/umccr/wasm-bindgen/crates/shared)`
    ... which satisfies path dependency `wasm-bindgen-shared` (locked to 0.2.89) of package `wasm-bindgen-macro-support v0.2.89 (/Users/rvalls/dev/umccr/wasm-bindgen/crates/macro-support)`
    ... which satisfies path dependency `wasm-bindgen-macro-support` (locked to 0.2.89) of package `wasm-bindgen-macro v0.2.89 (/Users/rvalls/dev/umccr/wasm-bindgen/crates/macro)`
    ... which satisfies path dependency `wasm-bindgen-macro` (locked to 0.2.89) of package `wasm-bindgen v0.2.89 (/Users/rvalls/dev/umccr/wasm-bindgen)`
    ... which satisfies path dependency `wasm-bindgen` (locked to 0.2.89) of package `crypt4gh v0.4.1 (/Users/rvalls/dev/umccr/crypt4gh-rust)`
Only one package in the dependency graph may specify the same links value. This helps ensure that only one copy of a native library is linked in the final binary. Try to adjust your dependencies so that only one package uses the links ='wasm-bindgen-shared' value. For more information, see https://doc.rust-lang.org/cargo/reference/resolver.html#links.

failed to select a version for `wasm-bindgen-shared` which could resolve this conflict

And when I try to trace the crate having a differing getrandom crate, I'm getting misleading output in cargo tree from the workspace level since it just outputs a very small subset of dependencies and not the whole tree for all the sub-crates:
% cargo tree
wasm-bindgen v0.2.89 (/Users/rvalls/dev/umccr/wasm-bindgen)
├── cfg-if v1.0.0
└── wasm-bindgen-macro v0.2.89 (proc-macro) (/Users/rvalls/dev/umccr/wasm-bindgen/crates/macro)
    ├── quote v1.0.35
    │   └── proc-macro2 v1.0.75
    │       └── unicode-ident v1.0.12
    └── wasm-bindgen-macro-support v0.2.89 (/Users/rvalls/dev/umccr/wasm-bindgen/crates/macro-support)
        ├── proc-macro2 v1.0.75 (*)
        ├── quote v1.0.35 (*)
        ├── syn v2.0.48
        │   ├── proc-macro2 v1.0.75 (*)
        │   ├── quote v1.0.35 (*)
        │   └── unicode-ident v1.0.12
        ├── wasm-bindgen-backend v0.2.89 (/Users/rvalls/dev/umccr/wasm-bindgen/crates/backend)
        │   ├── bumpalo v3.14.0
        │   ├── log v0.4.20
        │   ├── once_cell v1.19.0
        │   ├── proc-macro2 v1.0.75 (*)
        │   ├── quote v1.0.35 (*)
        │   ├── syn v2.0.48 (*)
        │   └── wasm-bindgen-shared v0.2.89 (/Users/rvalls/dev/umccr/wasm-bindgen/crates/shared)
        └── wasm-bindgen-shared v0.2.89 (/Users/rvalls/dev/umccr/wasm-bindgen/crates/shared)

I guess that the cargo [patch] strategy described above doesn't help me here as I want to modify/contribute to wasm-bindgen, so I need a local path?
What am I doing wrong here? :-S


API:Speech

While making a longrunnigrecognize, after converting an audio archive with the extension x-m4a into flac, the showed response was:
400

Show headers -

{
"error": {
"code": 400,
"message": "Invalid audio channel count",
"status": "INVALID_ARGUMENT"
}
}
could anyone help me with this problem?

@AntonioResen,
Please take a look at the following comment: https://github.com/GoogleCloudPlatform/google-cloud-php/issues/304#issuecomment-270938831
Let me know if there's anything further we can do to help.

@dwsupplee,
I analysed the audio file in the program Adobe Premier Pro CC 2017 and it has only one channel. So, I think this is not the problem... Thank you for your attention.

There's a great troubleshooting guide in the speech documentation, I'd recommend taking a look there if you haven't yet. Perhaps your single channel isn't 16 bit?

@AntonioResen have you been able to make any progress on this item? If not, let us know and we can try to get you pointed in the right direciton.

@dwsupplee,
Unfortunately , duo to my lack of time on transcribing my audio files, I had to given up from analysing the possibilities you pointed me, and had to go to synchronous way to help me. Anyway, I thank very much for your kindness and attention.
Best regards.

That's understandable! If you ever decide to attempt this again please feel free to re-open, we'll be happy to discuss further.


local bundle config throws error about branch, even though gemfile specifies correct branch

Bundler version 1.10.6
git version 2.5.3
ruby 2.2.3 (via RVM)
A couple of my projects have a dependency for another gem that I have cloned locally for development.
In my Gemfile I have:

gem 'my_gem', :git=>'git://github.com/path_to/my_gem.git', :branch=>'rails4'

To override that locally, I use:
bundle config local.my_gem /Path/to/gem
Here's the error, though:

$ bundle show my_gem
Local override for my_gem at /Users/stephenmarsh/dev/my_gem is using branch rails4 but Gemfile specifies rails4

Obviously this is a very confusing error because the branches are identical/apparently correct.
I have tried combinations of: re-pulling that branch from origin, running bundle update my_gem, and deleting and re-cloning the my_gem repo from scratch.  None of these work.

Found the problem.
I put some debugging code in bundler in the local_override! method of Git.rb

if git_proxy.branch != options["branch"] && !Bundler.settings[:disable_local_branch_check]
 puts options["branch"].inspect
 puts git_proxy.branch.inspect
 raise GitError, "Local override for #{name} at #{path} is using branch " \
   "#{git_proxy.branch} but Gemfile specifies #{options["branch"]}"
end

the result was:

"rails4"
"\e[32mrails4\e[m"

it seems the ANSI code for green is becoming part of the string in the new @git_proxy
this seems to come from the branch method in GitProxy.rb

def branch
  @branch ||= allowed_in_path do
     git("branch") =~ /^\* (.*)$/ && $1.strip
   end
end

It turns out that git("branch") was returning:  "  master\e[m\n* \e[32mrails4\e[m\n  rails4_bootstrap3\e[m\n"
So, I disabled color terminal outputs from git by running:  git config --global color.ui false
And now it works. :D
I'm not sure if this is technically a Git bug or a Bundler bug, or simply poorly configured settings in my environment somewhere?

Maybe we need to run git commands with the --no-color option? Or maybe use a lower level git command that doesn't include colorization.

Thanks @indirect.  I am not seeing this error with git config --global color.ui auto either.  Only seeing it with color.ui always.
Has it ever been discussed to change this to:

        def branch
          @branch ||= allowed_in_path do
            git("rev-parse --abbrev-ref HEAD").strip
          end
        end

?
As this does not have any colorization, even with always, and eliminates the need for Regex?
Would be happy to make a PR if this sounds like right direction.

@stephenhmarsh a PR for that would be excellent :)

Hi, can someone please advise which branch I should base my bugfix off of and/or PR to?  It was discovered on 1.10.6, but I see this method has been unchanged for quite a while.  Thanks!

It should be based off of master. :)


Fix integration test

The purpose of this PR is only to fix tox -e integration or nosetests integration if you have a busybox image in your lxd.

Hi @jpic - I appreciate the patch and the work you're doing. However, I don't want to get into the habit of running the integration tests on a lxd instance that matters, i.e. in an environment where we couldn't just delete all the containers and all the images and all the profiles after every run. I certainly don't want to be the result of data loss because someone ran the integration tests against their production environment.
The true intent of the integration tests is mostly for the upstream lxd developers to run in their CI. I'd rather not turn the integration tests into a maintenance burden for the pylxd developers (as we're already resource constrained).

I'd rather not turn the integration tests into a maintenance burden for the pylxd developers (as we're already resource constrained).

Well if you're looking to extend the family I'd be glad to volunteer.


Update k8schain

Changes
This picks up a change to k8schain that drops a dependency on forked K8s
cred providers nominally maintained by Vincent.
See https://github.com/google/go-containerregistry/pull/1234
* use go 1.17 semantics in go.mod
go get -u github.com/google/go-containerregistry/pkg/authn/k8schain@main
* revert k8s upgade that breaks knative/pkg
* undo go 1.17 change in go.mod
./hack/update-deps.sh

/kind cleanup
/assign vdemeester
/assign sbwsg
Submitter Checklist
As the author of this PR, please check off the items in this checklist:

[ ] Docs included if any changes are user facing
[ ] Tests included if any functionality added or changed
[x] Follows the commit message standard
[x] Meets the Tekton contributor standards (including
functionality, content, code)
[x] Release notes block below has been filled in or deleted (only if no user facing changes)

Release Notes
Drops dependency on k8s cred providers, statically link GCR/ECR/ACR cred helpers' Go code instead

Something weird is happening with k8schain hanging trying to pull from a local registry.
I added some test code to just pull the pipeline image:
        log.Println("------ pulling image with k8schain...")
        if _, err := remote.Image(r, remote.WithAuthFromKeychain(kc)); err != nil {
                t.Fatalf("Pulling %s: %v", r, err)
        }
        log.Println("------ PULLED IMAGE WITH K8SCHAIN")

...and it blocks for minutes before eventually failing and proceeding with anonymous auth (which succeeds):
2022/01/17 14:57:15 ------ pulling image with k8schain...
time="2022-01-17T14:57:15-05:00" level=error msg="Error parsing the serverURL" error="docker-credential-ecr-login can only be used with Amazon Elastic Container Registry." serverURL="<IP_ADDRESS>:59503/testreconcile_remotepipelineref"
2022/01/17 15:04:09 GET /v2/
2022/01/17 15:04:09 GET /v2/testreconcile_remotepipelineref/manifests/latest
2022/01/17 15:04:09 ------ PULLED IMAGE WITH K8SCHAIN

The log line is a bit of a red herring, it's just telling us that <IP_ADDRESS>:59503 isn't ECR (which it isn't!), the mystery wait happens after that line is logged.

...and it blocks for minutes before eventually failing and proceeding with anonymous auth (which succeeds):

This sounds a lot like the behaviour from #4087
If you try wrapping it in a runtime trace I am curious if you will see a similar thing as we did in that issue - a series of very long dialConnFor calls that eventually all seem to time out.

Tracked the problematic behavior to the ACR cred helper, with a fix proposed in https://github.com/chrismellard/docker-credential-acr-env/pull/2
With this change, the test passes as expected: https://github.com/imjasonh/pipeline/compare/k8schain...imjasonh:k8schain-with-fix

Tracked the problematic behavior to the ACR cred helper, with a fix proposed in chrismellard/docker-credential-acr-env#2
With this change, the test passes as expected: imjasonh/pipeline@k8schain...imjasonh:k8schain-with-fix

Update: the ACR cred helper PR has merged 🎉 , and https://github.com/google/go-containerregistry/pull/1247/ is now open to bring it in to k8schain -- as before, with that PR replaced in go.mod, the test passes: imjasonh/pipeline@k8schain...imjasonh:k8schain-with-fix
When that merges I'll remove the replace, go get -u, and push to this branch, which should pass all tests 🤞

/test pull-tekton-pipeline-integration-tests

All the dependent PRs are merged, this should be ready to go now. 🚀

/lgtm

Tested locally without the AWS_ env vars in the controller config and didn't see a ten minute slowdown. Nice work!  I think we can safely remove those again. For reference I used the examples/v1beta1/taskrun/no-ci/tekton-bundles.yaml example to test with.
One thing I did notice is the following log line printed with each taskrun execution. It would be awesome if it didnt print this but I don't think it's a blocker at all:
{"level":"info","ts":"2022-01-20T20:46:53.450Z","logger":"tekton-pipelines-controller.event-broadcaster","caller":"record/event.go:282","msg":"Event(v1.ObjectReference{Kind:\"TaskRun\", Namespace:\"default\", Name:\"remote-task-reference\", UID:\"602c57e3-2b4f-4032-80d2-af9f6cc0848
e\", APIVersion:\"tekton.dev/v1beta1\", ResourceVersion:\"13457267\", FieldPath:\"\"}): type: 'Normal' reason: 'Started' ","commit":"ccdfb72"}
time="2022-01-20T20:46:53Z" level=error msg="Error parsing the serverURL" error="docker-credential-ecr-login can only be used with Amazon Elastic Container Registry." serverURL=index.docker.io/ptasci67/example-oci

One thing I did notice is the following log line printed with each taskrun execution. It would be awesome if it didnt print this but I don't think it's a blocker at all:

Yeah I've also been a bit annoyed by that. I might try to fix this either in ggcr or upstream in the ecr-login cred helper. Until then it's just noisy and not (usually!) indicative of a real error.


Test failing when building on the CLI

Latest release (tag 1.3.14, #57488b3), the build fails here:
[ERROR] Failures:
[ERROR]   SignerInformationServiceTest.testSuccessfulGetSignerInformationIsSincePageable:101 expected: <7> but was: <3>
[INFO]
[ERROR] Tests run: 154, Failures: 1, Errors: 0, Skipped: 0

The test passes when executed in Intelli-J but not when ran via the CLI as per the instructions in the readme.

Hi @ryanbnl ,
the linked PR (#205 ) should fix your problem building the project.

Thanks, I think I fixed the problem locally back then.


Set static serving dir to a separate directory

Instead of using the main directory of "api" to serve the static files from, create a "static" folder and server the files from there. This will make it so that client machines will only have access to the static files as intended.

Hi. I would like to take a crack at this issue. It would be my first one so please let me know if i'm making any mistakes. As I've understood I would have to do the following:

move the index.html, app.cs,  and fire.png to a new directory called static
change the locations correspondingly in app.js and 'index.html`

Also, what is the procedure I should follow in trying to fix this issue? I would really appreciate it if you could help me out with the whole process.

You've got it exactly!! Just relocate all of those files to a new "static" directory and then adjust the values in the corresponding files you listed. Just let me know what parts you need assistance on and I'd be happy to help!

@rstrom1763 Sorry for the delay. So how do I go about making the pull request? From what I understand I should fork this repo, create a new branch and then make the changes and then submit a PR. Is this process correct?

You're correct! You don't have to make another branch on your fork if you don't want to, that part is up to your own discretion. Once you make the fork you can clone it to your computer, commit changes to it, then submit a pull request which I will review before merging.

Implemented in pull request listed below.
https://github.com/rstrom1763/AF-NCC-Scripts/commit/034ba29120fdd5ff81c5963a3f991ceb179c126b


Feature request: Remove unnecessary parenthesis

Hello,
Would it be possible to create a rule, that removes unnecessary parenthesis as described in the abaplint rule: https://rules.abaplint.org/many_parentheses/
Example:
IF ( variable IS INITIAL ).
  variable = 42.
ENDIF.

Expected:
IF variable IS INITIAL.
  variable = 42.
ENDIF.

Hi Jan,
from "thumbs up" response, definitely our most popular proposal so far! :-)
I completely agree with your example, but I wonder whether in other cases, parentheses might actually be intended to improve readability, e.g. by grouping subexpressions that semantically belong together …
  IF lv_is_valid = abap_true AND ( lv_year = 2023 AND lv_month < 10 ).
  ENDIF.

… or because not everyone may be so familiar with operator precedence rules:
  IF ( lv_year = 2022 AND lv_month > 8 ) OR ( lv_year = 2023 AND lv_month < 10 ).
  ENDIF.

But that could of course be solved with options, e.g. "Remove parentheses around subexpressions…":

never
if all logical operators are the same
whenever operator precedence allows

Kind regards,
Jörg-Michael

Good thinking. I think I'd choose "Never" for the option "Remove parentheses around subexpressions". I'd only be interested in removing the parentheses if the entire condition is wrapped in parentheses.

Hi all,
so here's a preview of the new cleanup rule "Remove needless parentheses" for the next release: I'd suggest the following options, of which only the first one would be activated by default:

The first option, "Remove needless parentheses around the entire logical expression", does the following (covering 61% of the 2000+ statements with needless parentheses that I found in sample code):

The second option, "Remove needless parentheses around relational expressions" (11% of the cases) still looks rather tame and harmless to me:

Third option, "Remove needless parentheses from OR ( ... AND ... )" (26%) would be a bit more daring (see discussion above):

Fourth option, "Remove needless parentheses from AND ( ... AND ... ) / OR ( ... OR ... )" (1%):

The only cases of needless parentheses that I found in sample code NOT covered by these four options would be OR ( NOT ... ) as well as AND ( NOT ... ), but those were so rare that I didn't think an option would be needed. Also, theoretically, you could remove parentheses from NOT ( rel_expr ), e.g. NOT ( a = b ), but for that, I didn't find a single case.
Hope this makes sense, including the proposed default settings?
@fabianlupa:

I cannot for the life of me remember the precedence rules

Maybe try "OrANGe" as a mnemonic (from weakest to strongest precedence):

Or
And
Not
Ge (greater or equal, >=) as a representative of any relational expression (i.e. comparison or predicate)

EQUIV would be even weaker than "OR", but that's so weak and so rarely used, it's not even mentioned in the mnemonic ;-)
Kind regards,
Jörg-Michael

… so you could say, as long as you well-structured logical expression appears in OrANGe 🍊 order…
CHECK            a  = b
         AND NOT c GE d
      OR         a  = c
         AND NOT c GE b.

you're fine without any parentheses :-)

Thanks for the programming lesson @jmgrassau , shouldn't be too difficult to remember, coincidentally orange is part of the name of my current employer... 🍊

Hi Jan,
thanks again for opening this issue! The new cleanup rule "Remove needless parentheses" is now available in version 1.11.0 which was just released!
Kind regards,
Jörg-Michael


On Windows Vista and earlier, add SUpermium to the start menu and Quick Launch

Once Supermium is installed on Windows Vista and earlier, you won't see shortcuts for it in the start menu or in Quick Launch, meaning I have to add it to those places myself. Could you please attempt to fix this??

I have a similar issue on Windows 7 x64 Ultimate SP1. Only a desktop shortcut is placed, and the installer also doesn't correctly update the registry entries (entry in Programs and Features, file type/protocol associations) when installing on top of 121, which worked for me, though I have seen reports from other people that you have to uninstall 121 before installing 122.


updated my files to the folder.

Zero To Mastery - Canvas 2022 🎉🎉
👉 Please remove the below and replace with your own values, leaving the headers where they are. 👈
PR contains:

this PR contains all my files added to the already existing folder.

Breaking changes
NONE.
Screenshots

Closing due to a conflict. Feel free to resolve and re-open 🙂


Missing file/dependency?

Hi,
When I follow the instructions on the Readme I am getting No module named 'fam.llm.mixins.gpt2loading Seems like some missing file and/or dependency.

Closing since it is going to be fixed by #24

All fixed!


Infinite app loader running

Followed the steps:

take the "Develop" branch's latest pull
execute the command "npm run electron:clean"
execute the command "npm run electron:start"

infinite loader running

As per the terminal error showing as below:

Resolved


docker-compose parsing error

Hi - I'm having issues getting the docker container set up

I have docker installed (and successfully got deepstack running as a stand-alone container - removing it had no impact on the error I'm having)
I have copied the sample config files to a new directory /Volumes/DATA/Raw_files and updated with my specifics
I used terminal and navigate to the Raw_Files folder with the config files in it and run "docker-compose up"
I am then receiving a yaml parsing error.  I've tried to spot errors and used http://yaml-online-parser.appspot.com/ which is reporting no errors with the docker-compase.yml file.
I tried using the sample yaml file and ended up getting the same error message.
Apologies in advance if I've done something stupid!

Have you tried with the sample files?

[Yes - error is the same]

Have you tried the steps in the troubleshooting guide?
https://github.com/danecreekphotography/node-deepstackai-trigger/wiki/Troubleshooting

[Yes - nothing there to help, and have looked all over - but I'm a bit of a newbie at this!]

Log entries
This is the error I am receiving:

Admin@Plex Raw_files % docker-compose up
ERROR: yaml.parser.ParserError: while parsing a flow mapping
in "./docker-compose.yml", line 1, column 1
expected ',' or '}', but got '{'
in "./docker-compose.yml", line 2, column 34

Installation details

OS: Mac OS 10.15.2
Docker setup: Docker version 19.03.13, build 4484c46d9d

docker-compose.yml below
version: "3.8"
services:
  trigger:
    volumes:
      # Change d:/myfolder/myimages to point to the folder that will have the images
      # to analyze. Only change the local path that is before the :/aiinput portion.
      # Don't change the :/aiinput part.  For a list of valid timezone values
      # see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
      # The value to use is in the "TZ database name" column.
      - TZ=Europe/London

    ports:
      # This port is used by the local web server when annotated images are enabled.
      # If you change the port used by the local web server in the settings.json file
      # this also has to change to match.
      - 4242:4242

    # ------------------------------------------------------------------------
    # Don't change anything below this line unless you know what you are doing
    secrets:
      - triggers
      - settings
    image: danecreekphotography/node-deepstackai-trigger:latest
    restart: always
    depends_on:
      - deepstack-ai

  deepstack-ai:
    image: deepquestai/deepstack:latest
    restart: always
    volumes:
      - localstorage:/datastore
    environment:
      - VISION-DETECTION=True

volumes:
  localstorage:

secrets:
  settings:
    # This should point to the location of the settings.json configuration file
    file: ./settings.json
  triggers:
    # This should point to the location of the triggers.json configuration file
    file: ./triggers.json

That really sounds like your docker-compose.yml file isn't formatted properly. I know you pasted in the contents and it looks fine, but can you zip up the actual file and attach it to this issue?
Also try running docker-compose.yml -f ./docker-compose.yml up to see if explicitly specifying the file makes a difference.

I tried running the command you suggested  -it did't work (zsh: command not found: docker-compose.yml) so I adapted it to the following

docker-compose -f ./docker-compose.yml up

but still got a very similar error:

ERROR: yaml.parser.ParserError: while parsing a flow mapping
in "././docker-compose.yml", line 1, column 1
expected ',' or '}', but got '{'
in "././docker-compose.yml", line 2, column 34

I notice the file location is now "././docker-compose.yml", is this a file/execution path issue?
File should be attached - thanks for a quick response 👍
docker-compose.yml.zip
M

Your docker-compose.yml file isn't a plain txt file. It looks like it was edited/opened in some sort of rich text editor. This is what the first part of the file is:
{\rtf1\ansi\ansicpg1252\cocoartf2511
\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fmodern\fcharset0 Courier;}
{\colortbl;\red255\green255\blue255;\red0\green0\blue0;}
{\*\expandedcolortbl;;\cssrgb\c0\c0\c0;}
\paperw11900\paperh16840\margl1440\margr1440\vieww18760\viewh8400\viewkind0
\deftab720
\pard\pardeftab720\sl280\partightenfactor0

\f0\fs24 \cf2 \expnd0\expndtw0\kerning0
version: \'933.8\'94\

The file needs to be a plain text file.


pqiv: 2.13 -> 2.13.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/phillipberndt/pqiv/releases.
meta.description for pqiv is: Powerful image viewer with minimal UI
meta.homepage for pqiv is: https://www.pberndt.com/Programme/Linux/pqiv
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 2.13.1 with grep in /nix/store/6hwn9g54jg4x4p3hp8z4w799j3d1pi57-pqiv-2.13.1
found 2.13.1 in filename of file in /nix/store/6hwn9g54jg4x4p3hp8z4w799j3d1pi57-pqiv-2.13.1

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
pqiv

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/6hwn9g54jg4x4p3hp8z4w799j3d1pi57-pqiv-2.13.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A pqiv https://github.com/r-ryantm/nixpkgs/archive/4f46f782e2825831d43ffbd683906f8cc9c1958b.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/4f46f782e2825831d43ffbd683906f8cc9c1958b#pqiv

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/6hwn9g54jg4x4p3hp8z4w799j3d1pi57-pqiv-2.13.1
ls -la /nix/store/6hwn9g54jg4x4p3hp8z4w799j3d1pi57-pqiv-2.13.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

1 package built:

pqiv

Maintainer pings
cc @donovanglover for testing.

@NixOS/nixpkgs-merge-bot merge


"super advanced" Actions behave differently from static ones.

When I pass a 'correlated' bundle of information (such as "bracetypes" below) to a symbol, and then make recursive calls to that symbol, then the information gets overwritten unless I protect it with a second symbol ("brace2" below) which renames the relevant symbol. The more basic actions (like symbol:#letter# below) don't care.
{
     "letter": ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P"],
     "bracetypes": ["[open:(][close:)]","[open:{][close:}]","[open:<][close:>]","[open:«][close:»]","[open:𛰫][close:𛰬]","[open:⌜][close:⌝]","[open:ᙅ][close:ᙂ]","[open:ᙦ][close:ᙣ]","[open:⁅][close:⁆]","[open:⌈][close:⌉]","[open:⌊][close:⌋]","[open:⟦][close:⟧]","[open:⦃][close:⦄]","[open:⦗][close:⦘]","[open:⫷][close:⫸]"],
     "brace": ["#open2##symbol# #[symbol:#letter#][#bracetypes#]brace2##symbol##close2# #[symbol:#letter#][#bracetypes#]brace2#", "","#open2##symbol# #[symbol:#letter#][#bracetypes#]brace2##symbol##close2# "],
     "brace2": ["#[open2:#open#][close2:#close#]brace#"],
     "origin": ["#[symbol:#letter#][#bracetypes#]brace2#"]
}

This gives output with matched braces and matched brace labels, such as the following:

«G ⫷B ⌊N ⁅M ⌈C C⌉ ⫷K ᙦA ᙅE ⌜B ᙦB Bᙣ B⌝ ᙦJ 𛰫K 𛰫H H𛰬 ⦃P ᙅD ⌈M ⌈B B⌉ M⌉ Dᙂ ⁅H H⁆ P⦄ K𛰬 Jᙣ Eᙂ ᙅL (J J) ⫷E E⫸ Lᙂ Aᙣ ⁅M ⌈M (K K) M⌉ M⁆ K⫸ M⁆ N⌋ B⫸ «H ᙅJ Jᙂ H» G»

Technically I don't need the symbol/action "open2" since I only use the open braces before recursive calls. But if I rename all occurrances of "close2" to "close", I get this sort of output:
<A «O O> «L <O ᙅH H> O{{close}} L{{close}} <P «K K> P{{close}} A{{close}}
It's as if nested calls "borrow" the value of their parent, and then the variable is no longer defined after the call! Yet, note that the capital letters match up perfectly; they have no such issue.
Of course, how I initially wrote the code was with no protective symbol "brace2", like this:
{
     "letter": ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P"],
     "bracetypes": ["[open:(][close:)]","[open:{][close:}]","[open:<][close:>]","[open:«][close:»]","[open:𛰫][close:𛰬]","[open:⌜][close:⌝]","[open:ᙅ][close:ᙂ]","[open:ᙦ][close:ᙣ]","[open:⁅][close:⁆]","[open:⌈][close:⌉]","[open:⌊][close:⌋]","[open:⟦][close:⟧]","[open:⦃][close:⦄]","[open:⦗][close:⦘]","[open:⫷][close:⫸]"],
     "brace": ["#open##symbol# #[symbol:#letter#][#bracetypes#]brace##symbol##close# #[symbol:#letter#][#bracetypes#]brace#", "","#open##symbol# #[symbol:#letter#][#bracetypes#]brace##symbol##close# "],
     "origin": ["#[symbol:#letter#][#bracetypes#]brace#"]
}

which gives output like this:

{L ⟦F ᙦL ⁅C ⌈O ⁅N N⌉ (H H⌉ ⦃D D⌉ O{{close}} C{{close}} ⫷P P{{close}} L{{close}} 𛰫F ᙅF ⦗I Iᙂ F{{close}} F{{close}} F{{close}} L{{close}}

Again, the letters match up fine, yet the different braces and brackets don't.
Another interesting example is this piece of code:
{
     "origin": ["#[#xvals#]lambda#Hello!#x#","#[[x:seven, eight]]lambda#Hello!#x#", "#[x:one, two]lambda#Hello!#x#","#[x:#test#]lambda#Hello!#x#"],
     "test":["three","four"],
     "lambda":["#x#"],
     "x":["null"],
     "xvals":["[x:five, six]"]
}

The first and second rule for symbol "origin" clobbers the value of "x" so that after it's called, the variable no longer even exists. So, using the Tracery tutorial, I can get run histories like the following:

twoHello!null
threeHello!null
fourHello!null
threeHello!null
oneHello!null
oneHello!null
sixHello!{{x}}

Or like the following:

threeHello!null
threeHello!null
fiveHello!{{x}}
fiveHello!{{x}}
fourHello!{{x}}
twoHello!{{x}}
fourHello!{{x}}

Or:

twoHello!null
fourHello!null
eightHello!{{x}}
sixHello!{{x}}
threeHello!{{x}}
sixHello!{{x}}
oneHello!{{x}}

So "x" actually disappeared from the grammar! Now, I wouldn't mind being able to use actions to change the value of "x" over time. But having it just disappear isn't very useful, and I don't understand why the first two rules are different from the other two (using bare lambda or using lambda with "test").

I've run into something this issue actually prevents me from doing. I'm trying to have a generated narrative remember what the hero is trying to accomplish, but the hero's goal is a list of alternatives like "money, riches, treasure" or "medicine, a cure". Since the nested narratives have different goals, I need to rename "quest" to "quest2" to keep it from being forgotten. But if I use something like "#[quest2:#quest#]tellStory#", of course that just picks one element from the list. So really what I'm wanting at the moment is a way to wrap "quest", keeping it from being evaluated; or something like #quest.rulesList# which would evaluate to the list "money, riches, treasure" for example.
The thing is, I can't seem to find a viable workaround. Here are several attempts to get around the problem:
{
   "origin": ["#[#setVars#]thepattern#","#[#setVars#]thePatternWrapper#","#[settings:#setVars#]smarterWrapper#",
             "#[settings:#setVars#]evenSmarterWrapper#"],
   "thepattern": ["#one#, #one#, #one#, #one# ..(thepattern).. #two#, #two#, #two#, #two#"],
   "thepattern2": ["#one2#, #one2#, #one2#, #one2# ...(thepattern2)... #two2#, #two2#, #two2#, #two2#"],
   "thepattern3": ["#one3#, #one3#, #one3#, #one3# ....(thepattern3).... #two3#, #two3#, #two3#, #two3#"],
   "thepattern4": ["#one4#, #one4#, #one4#, #one4# .....(thepattern4)..... #two4#, #two4#, #two4#, #two4#"],
   "thePatternWrapper": ["#[one2:#one#][two2:#two#]thepattern2#"],
   "smarterWrapper": ["#[#settings#]smarterWrapperHelper#"],
   "smarterWrapperHelper":["#[one3:#one#][two3:#two#]thepattern3#"],
   "evenSmarterWrapper": ["#[#settings.replace(one, one4).replace(two, two4)#]thepattern4#"],
   "setVars": ["#setOne##setTwo#","[one:plane, car, road, boat, vacation][two:kiss, wedding, date, longing gaze, heart, cuddle]"],
   "setOne": ["[one:yes, no, maybe, try again, reply hazy]","[one:cat, dog, horse, bird, puppet, seahorse, fish, espionage]","[one:1, 2, 3, 4, 5]","[one:many, some, multitudes, a number]"],
   "setTwo": ["[two:ufo, pyramid, greek fire, bigfoot, Barney]","[two:life, taxes, free will, morality, missing socks, calculus]","[two:into, under, out of, between, within, acquitted of]"]
}

"thePattern" does what I'm trying to do, but isn't protecting the variables, so it would lose them if I recursively called "thePattern". The rest of them prematurely collapse "one" and "two" down to one possibility.
The results look like this:

no, no, no, no ...(thepattern2)... between, between, between, between
some, some, many, many ..(thepattern).. out of, acquitted of, out of, between
((one4)), ((one4)), ((one4)), ((one4)) .....(thepattern4)..... ((two4)), ((two4)), ((two4)), ((two4))
vacation, vacation, vacation, vacation ...(thepattern2)... cuddle, cuddle, cuddle, cuddle
((one4)), ((one4)), ((one4)), ((one4)) .....(thepattern4)..... ((two4)), ((two4)), ((two4)), ((two4))
car, boat, plane, plane ..(thepattern).. date, cuddle, kiss, longing gaze
((one4)), ((one4)), ((one4)), ((one4)) .....(thepattern4)..... ((two4)), ((two4)), ((two4)), ((two4))
road, road, road, road ...(thepattern2)... kiss, kiss, kiss, kiss
multitudes, multitudes, multitudes, multitudes ....(thepattern3).... calculus, calculus, calculus, calculus
((one4)), ((one4)), ((one4)), ((one4)) .....(thepattern4)..... ((two4)), ((two4)), ((two4)), ((two4))
a number, a number, a number, a number ...(thepattern2)... calculus, calculus, calculus, calculus
road, road, road, road ...(thepattern2)... kiss, kiss, kiss, kiss
((one4)), ((one4)), ((one4)), ((one4)) .....(thepattern4)..... ((two4)), ((two4)), ((two4)), ((two4))
plane, plane, plane, plane ....(thepattern3).... date, date, date, date
((one4)), ((one4)), ((one4)), ((one4)) .....(thepattern4)..... ((two4)), ((two4)), ((two4)), ((two4))
plane, road, plane, boat ..(thepattern).. longing gaze, kiss, date, wedding
seahorse, dog, bird, puppet ..(thepattern).. under, out of, out of, within
((one4)), ((one4)), ((one4)), ((one4)) .....(thepattern4)..... ((two4)), ((two4)), ((two4)), ((two4))
((one4)), ((one4)), ((one4)), ((one4)) .....(thepattern4)..... ((two4)), ((two4)), ((two4)), ((two4))
2, 2, 2, 2 ....(thepattern3).... into, into, into, into
5, 5, 5, 5 ...(thepattern2)... life, life, life, life

I really can't figure out why the "evenSmarterWrapper" approach (pattern4) didn't work! Shouldn't the "replace()" change the names before the text is even evaluated? Come to think of it, though, that method wouldn't offer any protection if I was doing recursion.
A second feature that would help me out here would be double evaluation. I could have symbols like "treasure" and "cure" hold their possible paraphrasings, and keep a symbol "quest" which simply evaluates to the text "treasure" or the text "cure"; and then I could write ##quest## and get what I want.

I'm afraid that the answer may be a bug in the Tracery code.  Saving lists
of things was a bit of an afterthought, so there may well be incorrect
behavior in that.  I haven't looked at that iteration of Tracery in a year
or so, so I can't really help you there.  I am working on a new version of
Tracery right now, but I'm not sure if I'll get it done by this week.
Is it possible for you to perform a workaround, where you set these
variables dynamically with javascript before the story starts?  Often the
best way to do very complex stuff with tracery a hybrid approach, do some
manipulations of the grammar before generation, etc.
On Sat, Nov 26, 2016 at 6:23 PM, dranorter<EMAIL_ADDRESS>wrote:

I've run into something this issue actually prevents me from doing. I'm
trying to have a generated narrative remember what the hero is trying to
accomplish, but the hero's goal is a list of alternatives like "money,
riches, treasure" or "medicine, a cure". Since the nested narratives have
different goals, I need to rename "quest" to "quest2" to keep it from being
forgotten. But if I use something like "#[quest2:#quest#]tellStory#", of
course that just picks one element from the list. So really what I'm
wanting at the moment is a way to wrap "quest", keeping it from being
evaluated; or something like #quest.rulesList# which would evaluate to the
list "money, riches, treasure" for example.
The thing is, I can't seem to find a viable workaround. Here are several
attempts to get around the problem:
{
"origin": ["#[#setVars#]thepattern#","#[#setVars#]thePatternWrapper#","#[settings:#setVars#]smarterWrapper#",
"#[settings:#setVars#]evenSmarterWrapper#"],
"thepattern": ["#one#, #one#, #one#, #one# ..(thepattern).. #two#, #two#, #two#, #two#"],
"thepattern2": ["#one2#, #one2#, #one2#, #one2# ...(thepattern2)... #two2#, #two2#, #two2#, #two2#"],
"thepattern3": ["#one3#, #one3#, #one3#, #one3# ....(thepattern3).... #two3#, #two3#, #two3#, #two3#"],
"thepattern4": ["#one4#, #one4#, #one4#, #one4# .....(thepattern4)..... #two4#, #two4#, #two4#, #two4#"],
"thePatternWrapper": ["#[one2:#one#][two2:#two#]thepattern2#"],
"smarterWrapper": ["#[#settings#]smarterWrapperHelper#"],
"smarterWrapperHelper":["#[one3:#one#][two3:#two#]thepattern3#"],
"evenSmarterWrapper": ["#[#settings.replace(one, one4).replace(two, two4)#]thepattern4#"],
"setVars": ["#setOne##setTwo#","[one:plane, car, road, boat, vacation][two:kiss, wedding, date, longing gaze, heart, cuddle]"],
"setOne": ["[one:yes, no, maybe, try again, reply hazy]","[one:cat, dog, horse, bird, puppet, seahorse, fish, espionage]","[one:1, 2, 3, 4, 5]","[one:many, some, multitudes, a number]"],
"setTwo": ["[two:ufo, pyramid, greek fire, bigfoot, Barney]","[two:life, taxes, free will, morality, missing socks, calculus]","[two:into, under, out of, between, within, acquitted of]"]
}
"thePattern" does what I'm trying to do, but isn't protecting the
variables, so it would lose them if I recursively called "thePattern". The
rest of them prematurely collapse "one" and "two" down to one possibility.
The results look like this:
no, no, no, no ...(thepattern2)... between, between, between, between
some, some, many, many ..(thepattern).. out of, acquitted of, out of,
between
((one4)), ((one4)), ((one4)), ((one4)) .....(thepattern4)..... ((two4)),
((two4)), ((two4)), ((two4))
vacation, vacation, vacation, vacation ...(thepattern2)... cuddle, cuddle,
cuddle, cuddle
((one4)), ((one4)), ((one4)), ((one4)) .....(thepattern4)..... ((two4)),
((two4)), ((two4)), ((two4))
car, boat, plane, plane ..(thepattern).. date, cuddle, kiss, longing gaze
((one4)), ((one4)), ((one4)), ((one4)) .....(thepattern4)..... ((two4)),
((two4)), ((two4)), ((two4))
road, road, road, road ...(thepattern2)... kiss, kiss, kiss, kiss
multitudes, multitudes, multitudes, multitudes ....(thepattern3)....
calculus, calculus, calculus, calculus
((one4)), ((one4)), ((one4)), ((one4)) .....(thepattern4)..... ((two4)),
((two4)), ((two4)), ((two4))
a number, a number, a number, a number ...(thepattern2)... calculus,
calculus, calculus, calculus
road, road, road, road ...(thepattern2)... kiss, kiss, kiss, kiss
((one4)), ((one4)), ((one4)), ((one4)) .....(thepattern4)..... ((two4)),
((two4)), ((two4)), ((two4))
plane, plane, plane, plane ....(thepattern3).... date, date, date, date
((one4)), ((one4)), ((one4)), ((one4)) .....(thepattern4)..... ((two4)),
((two4)), ((two4)), ((two4))
plane, road, plane, boat ..(thepattern).. longing gaze, kiss, date, wedding
seahorse, dog, bird, puppet ..(thepattern).. under, out of, out of, within
((one4)), ((one4)), ((one4)), ((one4)) .....(thepattern4)..... ((two4)),
((two4)), ((two4)), ((two4))
((one4)), ((one4)), ((one4)), ((one4)) .....(thepattern4)..... ((two4)),
((two4)), ((two4)), ((two4))
2, 2, 2, 2 ....(thepattern3).... into, into, into, into
5, 5, 5, 5 ...(thepattern2)... life, life, life, life
I really can't figure out why the "evenSmarterWrapper" approach (pattern4)
didn't work! Shouldn't the "replace()" change the names before the text is
even evaluated? Come to think of it, though, that method wouldn't offer any
protection if I was doing recursion.
A second feature that would help me out here would be double evaluation. I
could have symbols like "treasure" and "cure" hold their possible
paraphrasings, and keep a symbol "quest" which simply evaluates to the text
"treasure" or the text "cure"; and then I could write ##quest## and get
what I want.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/galaxykate/tracery/issues/31#issuecomment-263098281,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACYbFfCCG5xOzYov4lUOvDVmUcnlpRO2ks5rCOm8gaJpZM4K8zI5
.

Ah, it's good to hear that you're not sure about that! :) I'll be sure to play with the new features when they come.
I suppose with what I'm doing right now, I really could just put in words like TREASURE that get replaced with something more descriptive later. Or even things like VILLAGEOFCEEDODRIN where "ceedodrin" is a word Tracery makes up for me.
Either way, it's not a big deal. I decided to do NaNoGenMo just two days ago. Well-- I decided to do it back in December of 2015, but then I'd forgotten it existed until two days ago. My project is just an elaboration on the "nested story" idea from the Tracery tutorial.


Enable support for VK_KHR_ray_query

Description
Enable support for VK_KHR_ray_query, and fix current VK_KHR_acceleration_structure implementation.
This pull request contains minimal functionality set for capturing apps that use VK_KHR_ray_query.
Missing features:

Shader debugger support for shaders with SPV_KHR_ray_query types.
Although, disassembly of such shaders is working correctly;
Support for VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR descriptors sets in functions:

VulkanReplay::PatchReservedDescriptors;
VulkanRenderState::BindDescriptorSet;
Commands from VK_KHR_push_descriptor extension;
Commands from VK_KHR_descriptor_update_template extension;

All lacking features have been "marked" with TODO comments in the codebase.
Known Issues:

Non-zero captured frames from "Basic ray queries" KhronosGroup's sample are rendered in RenderDoc as white-screen;

Tested on:
GPUs:

Intel Arc A770
AMD Radeon RX 6750 XT;

Apps:

"Ray query" sample from SaschaWillems
"Basic ray queries" sample from KhronosGroup (known issue)
Quake II RTX (free on Steam) - set to use VK_KHR_ray_query instead of VK_KHR_ray_tracing_pipeline

(options → graphics settings → ray tracing API → prefer VK_KHR_ray_query)

This PR clashes with ongoing work - see #3271 - so I'm going to close it. You're free to keep this code locally on your branch, though note that soon it will likely conflict quite significantly.
In future if you're going to work on such a large feature like this I strongly recommend that you communicate first to check that there isn't any other work happening already that might clash, and that the changes you are making are in the right direction and desired. That prevents any wasted effort that happens from working on code changes only to find that they aren't something that is wanted upstream.
If you'd like to contribute to this functionality you might get in touch with @cmannett85-arm who's currently working on landing code.


Compiling Error after 0.14 and a simple fix

Hi gRPC Team,
I performed the following steps after the 0.14 merge (https://github.com/grpc/grpc/pull/7219):
$ git clone https://github.com/grpc/grpc.git
$ cd grpc
$ git submodule update --init
$ make
$ git clone https://github.com/googleapis/googleapis
$ cd googleapis
$ make all
$ cd gens
$ g++ -c -std=c++11 -I/home/pgrosu/apps/protobuf/include -I../../include -I. ./google/genomics/v1/*cc
$ g++ -c -std=c++11 -I/home/pgrosu/apps/protobuf/include -I../../include -I. ./google/api/*cc
$ g++ -c -std=c++11 -I/home/pgrosu/apps/protobuf/include -I../../include -I. ./google/longrunning/*cc
$ g++ -c -std=c++11 -I/home/pgrosu/apps/protobuf/include -I../../include -I. ./google/rpc/*cc
$ g++ -c -std=c++11 -I/home/pgrosu/apps/protobuf/include -I../../include -I. ./google/iam/v1/*cc
$ cd ..

Then using the following client.cc code (referenced in https://github.com/grpc/grpc/issues/7131#issuecomment-230182747):
#include <google/genomics/v1/reads.grpc.pb.h>
#include <grpc++/client_context.h>
#include <grpc++/create_channel.h>
#include <grpc++/security/credentials.h>
#include <grpc++/support/status.h>
#include <grpc/grpc.h>
#include <iostream>

int main(int argc, char** argv) {
  auto stub = ::google::genomics::v1::ReadServiceV1::NewStub(
      ::grpc::CreateChannel("genomics.googleapis.com:443",
                          ::grpc::GoogleDefaultCredentials()));

  ::grpc::ClientContext context;

  ::google::genomics::v1::SearchReadsRequest request;
  ::google::genomics::v1::SearchReadsResponse response;

  request.add_read_group_set_ids("CMvnhpKTFhDq9e2Yy9G-Bg");
  request.set_reference_name("17");
  request.set_start(41196311);
  request.set_end(41277499);

  stub->SearchReads(&context, request, &response);

  std::cout << "The Read ID is: " << response.alignments(0).id() << std::endl;
  std::cout << "The Fragment Name is: " << response.alignments(0).fragment_name() << std::endl;
  std::cout << "The Aligned Sequence is: " << response.alignments(0).aligned_sequence() << std::endl;

  std::cout << std::endl;

  return 0;
}

I then proceeded to try and compile it like this:
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../libs/opt:../libs/opt/protobuf:/home/pgrosu/apps/protobuf/lib
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/pgrosu/apps/protobuf/lib
$ export GRPC_DEFAULT_SSL_ROOTS_FILE_PATH=/home/pgrosu/apps/grpc/etc/roots.pem
$ export GOOGLE_APPLICATION_CREDENTIALS=ya...[my access token]...
$
$ g++ -std=c++11 -L/usr/lib -L../libs/opt -L/home/pgrosu/apps/protobuf/lib -I./gens -I/home/pgrosu/apps/protobuf/include -I../include -lgrpc++ -lprotobuf  client.cc gens/*.o -o client

Initially I got some undefined errors like this:
$ g++ -std=c++11 -L/usr/lib -L../libs/opt -L/home/pgrosu/apps/protobuf/lib -I./gens -I/home/pgrosu/apps/protobuf/include -I../include -lgrpc++ -lprotobuf  client.cc gens/*.o -o client
../libs/opt/libgrpc++.so: undefined reference to `SSL_CTX_free'
../libs/opt/libgrpc++.so: undefined reference to `X509_NAME_get_index_by_NID'
../libs/opt/libgrpc++.so: undefined reference to `EC_KEY_free'
../libs/opt/libgrpc++.so: undefined reference to `CRYPTO_set_locking_callback'
../libs/opt/libgrpc++.so: undefined reference to `SSL_CTX_get_cert_store'
../libs/opt/libgrpc++.so: undefined reference to `EVP_DigestVerifyInit'
...
$

I then referenced the boringssl library, and during the compilation I got the following error:
g++ -std=c++11 -L/usr/lib -L../libs/opt -L/home/pgrosu/apps/protobuf/lib -I./gens -I/home/pgrosu/apps/protobuf/include -I../include -lgrpc++ -lprotobuf -lboringssl client.cc gens/*.o -o client
/usr/bin/ld: skipping incompatible /usr/lib/libm.so when searching for -lm
/usr/bin/ld: skipping incompatible /usr/lib/libc.so when searching for -lc
/usr/bin/ld: client: hidden symbol `SSL_CTX_free' in ../libs/opt/libboringssl.a(ssl_lib.o) is referenced by DSO
/usr/bin/ld: final link failed: Nonrepresentable section on output
collect2: error: ld returned 1 exit status
$

Since the SSL_CTX_free symbol is hidden from the Dynamic Shared Object (DSO) - as a way to probably improve loading times - I then proceeded to do the following change to the grpc Makefile:
$ cp Makefile Makefile-orig
$ sed s/-fvisibility=hidden//g Makefile > Makefile-not-hidden
$ cp Makefile-not-hidden Makefile

I then recompiled grpc and rebuilt the googleapis, and the client now compiles without the need for referencing BoringSSL, like this:
$ g++ -std=c++11 -L/usr/lib -L../libs/opt -L/home/pgrosu/apps/protobuf/lib -I./gens -I/home/pgrosu/apps/protobuf/include -I../include -lgrpc++ -lprotobuf client.cc gens/*.o -o client

I'm not sure by how much the loading times would have been improved with having the visibility hidden for SSL, but it seems to run fairly fast even without it.  Maybe this might not be the most efficient fix - and I will try to find a more elegant way - but it works for now.
I'm flexible and look forward to working together to explore possible solutions, for finding something that is best for all the users.
Hope it helps,
Paul

Hi @pgrosu,
Could you please compile client.cc using the current head? We just merged #7292, hopefully it could fix this error.
Thanks,
Yuchen

Hi Yuchen,
I'm giving it a try right now, though my system is Linux.
I'll give you an update of the result.
Thank you for helping us,
Paul

Hi Yuchen (@y-zeng),
Unfortunately no luck, I seem to get the same error and had to fix the core/lib/http/httpcli.c file the same way as before.  Below are the results of the run before my update:
D0711 23:44:48.980936531   25414 env_linux.c:77]             Warning: insecure environment read function 'getenv' used
D0711 23:44:48.981324343   25414 env_linux.c:77]             Warning: insecure environment read function 'getenv' used
I0711 23:44:48.981375359   25414 ev_epoll_linux.c:84]        epoll engine will be using signal: 36
D0711 23:44:48.981414350   25414 ev_posix.c:106]             Using polling engine: epoll
D0711 23:44:48.981492984   25414 env_linux.c:77]             Warning: insecure environment read function 'getenv' used
D0711 23:44:48.981547345   25414 env_linux.c:77]             Warning: insecure environment read function 'getenv' used
D0711 23:44:48.981892648   25414 env_linux.c:77]             Warning: insecure environment read function 'getenv' used
D0711 23:44:48.982974762   25414 env_linux.c:77]             Warning: insecure environment read function 'getenv' used
D0711 23:44:49.011128390   25414 env_linux.c:77]             Warning: insecure environment read function 'getenv' used
E0711 23:44:49.160134175   25414 timer.c:181]                assertion failed: deadline.clock_type == g_clock_type
googleapis/test.sh: line 11: 25414 Aborted                 ./client
$

I then updateed core/lib/http/httpcli.c on lines 206-207 to the following to update the clock_type to GPR_CLOCK_MONOTONIC:
  }
  req->deadline = gpr_convert_clock_type(req->deadline, GPR_CLOCK_MONOTONIC);
  req->handshaker->handshake(

After rebuilding it and running it, I got the expected result:
D0711 23:46:25.046384962   25973 env_linux.c:77]             Warning: insecure environment read function 'getenv' used
D0711 23:46:25.046786469   25973 env_linux.c:77]             Warning: insecure environment read function 'getenv' used
I0711 23:46:25.046836612   25973 ev_epoll_linux.c:84]        epoll engine will be using signal: 36
D0711 23:46:25.046873553   25973 ev_posix.c:106]             Using polling engine: epoll
D0711 23:46:25.046952176   25973 env_linux.c:77]             Warning: insecure environment read function 'getenv' used
D0711 23:46:25.047005730   25973 env_linux.c:77]             Warning: insecure environment read function 'getenv' used
D0711 23:46:25.047095087   25973 env_linux.c:77]             Warning: insecure environment read function 'getenv' used
D0711 23:46:25.048337429   25973 env_linux.c:77]             Warning: insecure environment read function 'getenv' used
D0711 23:46:25.050908810   25973 env_linux.c:77]             Warning: insecure environment read function 'getenv' used
The Read ID is: ChZDTXZuaHBLVEZoRHE5ZTJZeTlHLUJnEgIxNxi3tdITKAA
The Fragment Name is: SRR584004.2808039
The Aligned Sequence is: ATCATTACCCCCATTTTACAGAGTGGGAGACTGAAGCACAGTGAAAAGGCTCTGAGAAAGTCGGCTGGCCTAAGTCTCAAGAACAGTCATTCATGGTGGAA

$

The good thing is that the BoringSSL library does not need to referenced.
Feel free to ping me anytime if you need help or anything - maybe we can come up with an elegant solution together.
Paul

Hi Paul (@pgrosu),
Thanks a lot for testing this!
If undefined reference to `SSL_CTX_free' and hidden symbol `SSL_CTX_free' is referenced by DSO  do not appear anymore, I'd suggest we close this issue and move back to #7131 to solve assertion failed: deadline.clock_type == g_clock_type.
Thanks,
Yuchen

Hi Yuchen (@y-zeng),
I would be happy to :)
Let's tackle #7131 together - it'll be fun!
Thanks,
Paul

I'm seeing the same assertion failure as this in more or less the same circumstances (the only obvious difference is that I'm on Windows). It looks like the handshake code was extensively refactored in 963be3727033668049a4de9f9ce1b507239e93f6 - is it possible this issue was inadvertently reintroduced?
I'd like to try a checkout from before that change to see if it works, but I've only been able to get grpc to build and link properly on Windows with more recent changes, so I might not manage it.


[WIP] Feat improved services and parameters config

@mariusbalcytis started a branch (work-in-progress), converted configs from xml to yml. in the first place
Tests passed with vendor/bin/codecept run


Improvements to partner's export children

Summary
There are a couple of place in the csv generated when you export children that can be made more useful.
Why fix
The current contents of these columns are not useful without arcane knowledge.
Details
How to get to the partner's export children download

sign in as<EMAIL_ADDRESS>click on children
click on  "Export Results to CSV"

What needs changing
1/  Family ID
Replace this column with Guardian Last Name, Guardian First Name
2/ Item needed diaper id
Change this column to show Items needed as text.
Criteria for completion

[ ] export is updated to show the new fields
[ ] testing to support this functionality.

1/ Family ID
Replace this column with Guardian Last Name, Guardian First Name

Do you mean replace 1 column family_id with 1 column "Guardian Last Name, Guardian First Name" or should those be two columns?

I think it can be one column, and probably should be.  We can probably just call it Guardian, but it should be in Last Name, First Name format for ease of sorting


fix(ci): check language modified to run faster tests

Above 400cd45 runs ca and es as targeted changes 👍🏻


[TableCard] Cannot filter on timestamp strings

What package is this for?

[x] React
[ ] Angular

Describe the bug
In the tableCard the TIMESTAMP type column filters do not work.
To Reproduce
Steps to reproduce the behavior:

Go to TableCard story
Click on the column filter for a timestamp column
Type a partial string and notice that no records match this filter

Please create a reduced test case in CodeSandbox:
https://codesandbox.io/s/github/carbon-design-system/carbon-addons-iot-react/tree/next/packages/react/examples/codesandbox

Expected behavior
A clear and concise description of what you expected to happen.
Environment/versions:

OS: [e.g. MacOS, Windows]
Browser: [e.g. chrome, safari]
carbon-addons-iot-react version: [e.g. v2.60.0]

Additional context
If applicable, add screenshots to help explain your problem.
Add any other context about the problem here.
Specific timeline issues / requests
Do you want this work within a specific time period? Is it related to an
upcoming release?
NB: The core contributors will try to work with your timeline, but it's not
guaranteed. The earlier you make a request in advance of a desired delivery
date, the better!

@scottdickerson Was #3058 supposed to close this issue, or is this separate?

@EdmondCShaffer This was supposed to be closed by your other, PR #3058, right?

Closing as I believe #3058 fixed this. Please re-open if not.


fix(TDP-3873): Improve getSample() performance on large files.

What is the current behavior? (You can also link to an open issue here)
When getting a sample from a large file, the limit is applied to every individual input split (i.e. if you have 100 files and a limit of 10, there might be up to 1000 records read from disk before the actual limit is applied).
What is the new behavior?
When getting a sample from a large file, we use a shared count to ensure that only the limited number of records are fetched.
Please check if the PR fulfills these requirements

[X] The commit message follows Talend standard
[X] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features) ?
[ ] The code coverage on new code >75%
[ ] The new code does not introduce new technical issues (sonar / eslint)

What kind of change does this PR introduce?

[X] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build / CI related changes
[ ] Other... Please describe:

Does this PR introduce a breaking change?

[ ] Yes
[X] No

Pull request test result: success :star:


Code action suggestion: add / remove braces of closure

It would be nice if there is a code action which removes or adds curly braces of the closure.  i.e.
  vec.iter().filter(|x| x % 2 == 0)

becomes
  vec.iter().filter(|x| {
    x % 2 == 0
  })

or vice versa.

We can make this more general to work with blocks in general, wrap expressions in a block or unwrap a block expression. Unwrapping should only be shown where it makes sense though(as in in a closure we only want to show an unwrap action if the block contains one expression).

This is generally achievable using join lines and extend selection:

I have the following keybinding for this
    "command": "git.revertSelectedRanges" },
  { "key": "ctrl+j",
    "command": "editor.action.joinLines",
    "when": "editorLangId != 'rust'" },
  { "key": "ctrl+j",
    "command": "rust-analyzer.joinLines",
    "when": "editorLangId == 'rust'" },

We need to check though, if we are settign this keybinding by default and if this is properly documented.
We can also have an assist here, intellij has one!


Training Loss for Language Models

Hi Dr. Bae,
Thanks for contributing the great paper. I have recently been reading your paper, ‘Studying Large Language Model Generalization with Influence Functions’. I noticed that the training loss of language models is different from other discriminative models. I'm wondering whether my implementation correct? I'm also wondering whether I should use same training loss for estimating iHVP and calculating training sample gradient.
Many thanks indeed!
Here is my implementation. I'm using GPT2
def train_outputs(self, model: Module, batch: Any):
    # batch_size needs to be 1
    batch.pop('labels')
    logits = model(**batch).logits
    probs = logits.softmax(-1)
    pseudo_labels = torch.multinomial(probs[0], 1).view(1, -1)
    batch['labels'] = pseudo_labels
    return logits

def train_loss_on_outputs(self, outputs, batch):
    # batch_size needs to be 1
    labels = batch['labels']
    shift_logits = outputs[..., :-1, :].contiguous()
    shift_labels = labels[..., 1:].contiguous()
    loss = CrossEntropyLoss(reduction='sum')(
        shift_logits.view(-1, shift_logits.size(-1)),
        shift_labels.view(-1),
    )
    return loss

or should I take the argmax of model's prediction

Thank you for the question! You should use sampled gradients for computing the EK-FAC factors (e.g., Lambda factor or pseudo-gradient covariance) but use the not-sampled gradient for computing influence scores. It is difficult to see if the implementation is correct with the given code, but if you can share end-to-end example, I can give more detailed comments!

Hi Dr. Bae,
Thanks for the response. I was using torch-influence repo. Below is my code for the objective class and I'm using LiSSA to estimating ihvp.
class LMObject(BaseObjective):
    def __init__(self, tokenizer, test_length) -> None:
        self.tokenizer = tokenizer
        self.test_length = test_length

    def train_outputs(self, model: Module, batch: Any):
        # batch_size needs to be 1
        logits = model(**batch).logits
        return logits

    def train_loss_on_outputs(
            self,
            outputs,
            batch,
            pseudo_loss: bool,
    ):
        labels = batch['input_ids'].clone()
        shift_logits = outputs[..., 1:-1, :].contiguous()
        shift_labels = labels[..., 2:].contiguous()
        mask = (shift_labels != self.tokenizer.pad_token_id).view(-1)
        losses = CrossEntropyLoss(reduction='none')(
            shift_logits.view(-1, shift_logits.size(-1)),
            shift_labels.view(-1),
        )
        loss = losses[mask].sum()
        return loss

    train_regularization = None

    def train_loss(
            self,
            model: Module,
            params: torch.Tensor,
            batch: Any,
            pseudo_loss: bool,
    ) -> torch.Tensor:
        # batch_size needs to be 1
        outputs = self.train_outputs(model, batch)
        loss = self.train_loss_on_outputs(outputs, batch, pseudo_loss)
        return loss

    def test_loss(
            self,
            model: Module,
            params: torch.Tensor,
            batch: Any,
    ) -> torch.Tensor:
        # batch_size needs to be 1
        labels = batch.pop('labels')
        outputs = model(**batch)
        logits = outputs.logits
        shift_logits = logits[..., :-1, :].contiguous()
        shift_labels = labels[..., 1:].contiguous()
        mask = (shift_labels != self.tokenizer.pad_token_id).view(-1)
        print(self.tokenizer.decode(shift_labels[..., mask][0]), self.tokenizer.decode(shift_logits.argmax(-1)[..., mask][0]))
        losses = CrossEntropyLoss(reduction='none')(
            shift_logits.view(-1, shift_logits.size(-1)),
            shift_labels.view(-1),
        )
        loss = losses[mask].sum()
        batch['labels'] = labels
        return loss

Many thanks indeed!

No problem! I recently released the repo for computing influence functions with the WikiText example: https://github.com/pomonam/kronfluence. You can check it out to compare with this code.


POJOize IdpResponse

Super minor, but I was helping another dev over on StackOverflow and realized that IdpResponses look like<EMAIL_ADDRESS>not all that helpful. 😉 This PR makes IdpResponse a nice POJO.

@SUPERCILEX :+1:


Compiled serializer is huged because of serializerState

Prerequisites

[X] I have written a descriptive issue title
[X] I have searched existing issues to ensure the regression has not already been reported

Last working version
4.20
Stopped working in version
4.3.0
Node.js version
20.x
Operating system
Linux
Operating system version (i.e. 20.04, 11.3, 10)

💥 Regression Report
Every compiled schema contains a stringified version of the schema. Issue is when the schema is huged.
Today it almost kills the advantage of compilation.
It comes from the bump to v5.7.0 of fast-json-stringify.
And to be specific if comes from : https://github.com/fastify/fast-json-stringify/pull/617.
It seems that this getState() of the serializer is never used.
Steps to Reproduce
async function main() {
  const app = fastify({
    exposeHeadRoutes: false,
    jsonShorthand: false,
    schemaController: {
      compilersFactory: {
        buildSerializer: writeSerializerFactory,
      },
    },
    logger: {
      level: 'debug'
    }
  });

  addAllSchemas(app);

  await app.register(async api => {
    api.register(... all handlers ...)
  });

  await app.ready().then(() => {
    app.log.info('Ready, all serializer compiled');
    app.close();
  });
}

export const writeSerializerFactory = StandaloneSerializer({
  readMode: false,
  storeFunction(routeOpts, schemaSerializationCode) {
    if (routeOpts.method === 'HEAD') {
      return;
    }
    writeFileSync(generateSerializerFilePath(routeOps), schemaSerializationCode);
  },
});

Expected Behavior
Why have this serializerState ? Is does not seem to be used at all ?

Since only rounding seems to be used in the state, a workaround for me was to make a patch on fast-json-stringify using yarn patch, making the following change in serializer.js :
diff --git a/lib/serializer.js b/lib/serializer.js
index 922be35793cd51c173bde24f992b2d98a172a8ee..fd32a6fea53c6b3c1de49b1216d0c540061acba2 100644
--- a/lib/serializer.js
+++ b/lib/serializer.js
@@ -20,7 +20,7 @@ module.exports = class Serializer {
         this.parseInteger = Math.trunc
         break
     }
-    this._options = options
+    this._options = {rounding: options.rounding}
   }

   asInteger (i) {

Thanks for reporting! Would you like to send a Pull Request to address this issue? Remember to add unit tests.

OK, will do.
I guess the PR will be on fast-json-stringify rather than fast-json-stringify-compiler.

Here it is : https://github.com/fastify/fast-json-stringify/pull/704

@remidewitte Would you say your PR resolved this issue?

Indeed. You can close. Many thanks


UI feature: sharing password protected file download page

Feature:
When Download Page button is clicked in My Files view, if the file is password protected, show a popup, with an option to include the key (! followed by b64 key) in the link, a la Mega.

Done! https://github.com/0xFireball/PenguinUpload/commit/eaacdfa9b7481c0bf4e8f3dcf01f957fcb4a8225


Open Source

Some basic open source nice to haves would be great. I'm a dev that's been interested in helping the Heroes community but not motivated enough to start something myself (a lot of my spare time goes to duelyst).
I haven't worked with C# before but I'm sure I could knock out some features/issues. Please add issues you'd like to be done with as much detail as you can muster to the relevant repo, add a README with basic necessary details, etc.

Done. Didn't have enough time to write them before release. Info for website repo is coming soon. Currently #5 is top priority, a great opportunity to learn cross-platform C#


data: Saan-king

Added my profile

Fixes Issue

Changes proposed

Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[x] My change requires changes to the documentation.
[x] I have updated the documentation accordingly.
[x] All new and existing tests passed.
[x] This PR does not contain plagiarized content.
[x] The title of my pull request is a short description of the requested changes.

Screenshots

Note to reviewers

Hi I have made the changes to Saan-king.json and updated the fork

Please kindly merge my request


No minification or concatenation occurring in --production

Hello, and thanks for your work on meteor-scss! It's a very useful package!
When I run my app in production, it doesn't minify or concatenate any of the CSS.  So my application is loading a ton of CSS files.  How do I get it to concatenate and minify my css?  Because of how my application is structured, it doesn't matter the order of concatenation. I have 130 sass files in my project, so I think I could definitely increase load speed with concatenation and minification.

Minification and concatenation are not done by this plugin.
The meteor build pipeline has multiple steps. This plugin only concerns the compiling step (which runs in both debug and production mode). Minification is done in another step and for this you need another plugin (e.g. standard-minifier-css, which is the default one from meteor). If you then still don't get a minified css in production mode, you should create a reproduction and discuss the issue in the meteor repository.

Oh, thank you!  I must have removed that package inadvertently.