[bug] When Use fetch in js to send message to my python process，

Describe the bug
When I want to use tauri's fetch function to send data to my python program ( this program start in tauri::Command), I send it smoothly and get response in the first time, and when I send data to the same url the second time, the fetch function gets stuck in the "req.arrayBuffer()" step and keeps asking for memory. Until the webview crashes.
This only happens in release mode, not in dev mode

Reproduction
No response
Expected behavior
This only happens in release mode, not in dev mode。
I just call the function above：
function sendMsgToPythonSocket(path: String, message: Map<String, Object>): Promise<any> {
    console.log(path, message)
    return new Promise( (resolve, reject) => {
        console.log("http promise init")
        RustFetch("http://localhost:10025/py_tool_manager" + path, {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json',
            },
            body: JSON.stringify(message),
        }).then(
            (response: Response) => {
                response.clone().text()
                    .then(data => {
                        console.log(data)
                        resolve({
                            "data": data
                        });
                    })
            }
        )
        // console.log(await response.text())
    } )

}

default.json
{
  "$schema": "../gen/schemas/desktop-schema.json",
  "identifier": "default",
  "description": "Capability for the main window",
  "remote": {
    "urls": ["https://", "http://" ],
    "http":{
      "urls": [
        "http://localhost:10025/*",
        "http://localhost:10025/tools_init"
      ]
    },
    "websocket": {
      "urls": [
        "ws://localhost:10025",
        "ws://localhost:10025/*"
      ]
    }
  },
  "windows": [
    "main"
  ],
  "permissions": [
    "core:default",
    "shell:allow-open",
    "core:window:allow-start-dragging",
    "core:window:allow-close",
    "core:window:allow-maximize",
    "core:window:allow-minimize",
    "core:window:allow-start-resize-dragging",
    "dialog:default",
    {
      "identifier": "shell:allow-execute",
      "allow": [
        {
          "name": "exec-sh",
          "cmd": "sh",
          "args": [
            "-c",
            {
              "validator": "\\S+"
            }
          ],
          "sidecar": false
        },
        {
          "name": "exec-cmd",
          "cmd": "cmd",
          "args": [
            "/c",
            {
              "validator": "\\S+"
            }
          ],
          "sidecar": false
        }
      ]
    },
    "process:default",
    "websocket:default",
    "websocket:allow-connect",
    "websocket:allow-send",
    {
      "identifier": "http:default",
      "allow": [{ "url": "https://*.tauri.app" }, { "url": "http://localhost:10025/**" }]
    },
    "http:allow-fetch",
    "http:allow-fetch-send",
    "http:allow-fetch-read-body",
    "http:allow-fetch-cancel"
  ]
}

Full tauri info output
[✔] Environment
    - OS: Windows 10.0.19045 x86_64 (X64)
    ✔ WebView2: 130.0.2849.80
    ✔ MSVC: Visual Studio Community 2022
    ✔ rustc: 1.80.1 (3f5fd8dd4 2024-08-06)
    ✔ cargo: 1.80.1 (376290515 2024-07-16)
    ✔ rustup: 1.27.1 (54dd3d00f 2024-04-24)
    ✔ Rust toolchain: stable-x86_64-pc-windows-msvc (environment override by RUSTUP_TOOLCHAIN)
    - node: 20.16.0
    - pnpm: 9.12.1
    - npm: 10.8.1

[-] Packages
    - tauri 🦀: 2.0.4
    - tauri-build 🦀: 2.0.1
    - wry 🦀: 0.46.1
    - tao 🦀: 0.30.3
    - tauri-cli 🦀: 2.0.3
    - @tauri-apps/api : 2.0.2 (outdated, latest: 2.1.1)
    - @tauri-apps/cli : 2.0.3 (outdated, latest: 2.1.0)

[-] Plugins
    - tauri-plugin-fs 🦀: 2.0.3
    - @tauri-apps/plugin-fs : not installed!
    - tauri-plugin-dialog 🦀: 2.0.3
    - @tauri-apps/plugin-dialog : 2.0.1
    - tauri-plugin-http 🦀: 2.0.3
    - @tauri-apps/plugin-http : 2.0.1
    - tauri-plugin-process 🦀: 2.0.1
    - @tauri-apps/plugin-process : 2.0.0
    - tauri-plugin-shell 🦀: 2.0.1
    - @tauri-apps/plugin-shell : 2.0.0 (outdated, latest: 2.0.1)
    - tauri-plugin-localhost 🦀: 2.0.1
    - @tauri-apps/plugin-localhost : not installed!
    - tauri-plugin-websocket 🦀: 2.0.1
    - @tauri-apps/plugin-websocket : 2.0.0

[-] App
    - build-type: bundle
    - CSP: unset
    - frontendDist: ../dist
    - devUrl: http://localhost:1420/
    - framework: Vue.js
    - bundler: Vite

Stack trace
No response
Additional context
No response

Please provide a minimal repro

Please provide a minimal repro as I wasn't able to reproduce

I found it happen in  every function which is return promise when it call in el-dialog for element-plus

Please provide a minimal repro as I wasn't able to reproduce

I found it happen in every function which is return promise when it call in el-dialog for element-plus

Please provide a minimal repro as I wasn't able to reproduce
I try to use origin fetch, axios and reqwest (provide a invoke interfece for js to call) to replace tauri http and I found it happen in every function which is return promise when it call in el-dialog for element-plus, Later I will try to provide a minimal repro to you


send friend request

is there a way to send a friend request to a user
thanks

added here #60

Just added this feature in the 2.0.0 update.


withRowCount() seems to reset its output

Have you tried latest version of polars?

[yes]

What version of polars are you using?
tested this with 0.6.0 and 0.5.4
What operating system are you using polars on?
Windows 10
What node version are you using
node 16.17.0
Describe your bug.
When you chain withRowCount to scanCSV, the row count column seems to reset after a while.
What are the steps to reproduce the behavior?
Use a CSV with sufficient lines (it seems you need at least 1500 lines). Use scanCSV and withRowCount.
When manually initializing the LazyDataFrame, withRowCount seems to work as intended.
import pl from "nodejs-polars";
import * as fs from "node:fs";

const data = [...Array(5000).keys()];
fs.writeFileSync("data.csv", data.join("\n"));

const lf1 = await pl.DataFrame(data).lazy().withRowCount().collect();
const lf2 = await pl.scanCSV("data.csv").withRowCount().collect();

console.log(lf1);
console.log(lf2);

What is the actual behavior?
lf1:
┌────────┬──────────┐
│ row_nr ┆ column_0 │
│ ---    ┆ ---      │
│ u32    ┆ f64      │
╞════════╪══════════╡
│ 0      ┆ 0.0      │
├╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
│ 1      ┆ 1.0      │
├╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
│ 2      ┆ 2.0      │
├╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
│ 3      ┆ 3.0      │
├╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
│ ...    ┆ ...      │
├╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
│ 4996   ┆ 4996.0   │
├╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
│ 4997   ┆ 4997.0   │
├╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
│ 4998   ┆ 4998.0   │
├╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
│ 4999   ┆ 4999.0   │
└────────┴──────────┘

lf2:
shape: (4999, 2)
┌────────┬──────┐
│ row_nr ┆ 0    │
│ ---    ┆ ---  │
│ u32    ┆ i64  │
╞════════╪══════╡
│ 0      ┆ 1    │
├╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌┤
│ 1      ┆ 2    │
├╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌┤
│ 2      ┆ 3    │
├╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌┤
│ 3      ┆ 4    │
├╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌┤
│ ...    ┆ ...  │
├╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌┤
│ 1186   ┆ 4996 │
├╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌┤
│ 1187   ┆ 4997 │
├╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌┤
│ 1188   ┆ 4998 │
├╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌┤
│ 1189   ┆ 4999 │
└────────┴──────┘

What is the expected behavior?
I would expect the withRowCount to not reset halfway
What do you think polars should have done?

This snip might be help illustrating the issue. Here you can see that the withRowCount() seems to "reset", here after 1416

this should be fixed in 0.7.1

it is!


Cost Effective HD Map Production; Apollo partner contact Information

Hello everyone,
I have developed software that uses satellite imagery to generate highly detailed HD maps. This method of HD map production has multiple benefits including lower costs ($28 per square mile) and more scalability for map-based self-driving technology. As a result of this innovation, I have formed a company called AVSmaping (Autonomous Vehicle Systems) based in Sacramento, California that provides HD mapping services to self-driving companies looking to expand their service area for autonomous taxi users in the United States. Our software currently produces satisfactory unannotated results. I have closely tracked the progress of the open-source apollo self-driving car project since v5.0. I also was an early contributor to openpilot another open-source level 2 software. I think the Apollo project and testing operations would benefit from my software. I am looking for contact information to contact the U.S. apollo operation/testing center or HQ. Can someone provide me with a phone number and e-mail address that is appropriate for this specific inquiry? Guidance on contact information is appreciated. Thank you.

In view of your business needs, it is recommended that you contact the official website contact information https://www.apollo.auto/contactus


[Feature] Improve emphasis behavior in a stacked bar chart

What problem does this feature solve?
Mainly, in stacked bars, sometimes is useful to have the emphasis on the whole category, not on the series.
I'll try to explain with some screenshots:
If we see the example on the docs of a stacked bar (this one https://echarts.apache.org/examples/en/editor.html?c=bar-y-category-stack) when we do hover on some value, the emphasis could be 'none', 'self' and 'series'. None is self-explanatory, 'self' raises some weird behavior that, honestly, I don't understand:

And 'series' emphasis on the whole series:

But is sometimes useful to have the emphasis just on the category, specially when the label shows info about the category, not about the series, something like this (I made it with paint):

What does the proposed API look like?
Add 'category' on the series-bar.emphasis.focus with the expected behavior.
Anyway, if there is a workaround to get this, I want to know! I've tried with events but without result.
Also, I think it would be a good idea to have also the event 'blur' to allow having this behavior programmatically.
Thanks in advance!

I think the 'self' is a bug. And it seems to be a useful feature to focus the category. Are you interested in making a pull request? Please checkout the wiki to learn more.

Yes of course! I'll try to implement this feature in the next days.


Feature Request: Bayesian Optimization

Can the hyperparameters of auto-ARIMA be optimized by Bayesian optimization using packages like Hyperopt for faster modelling?

This is one I'll have to think on for a while. As it currently stands, you couldn't easily sub in a new backend seamlessly, but that's because that was the behavior R's auto.arima set as precedent. I'm not saying that's the only way, or the proper way, just explaining why it is the way it is.
That said, if hyperopt or other hyper-param search methods can be shown to out-perform the stepwise algorithm that Hyndman laid out, then I think it's worth including for sure.
I'm going to mark this as backlog for now, since I think it's more of a convenience feature than anything else.

I'm going to close this since I don't see it as being very high priority. If anyone ever wants to take a crack at it, feel free to comment as such.


Will not build

Hi.
Great project! But for some reason, it doesn't build anymore.  Attached, is my build log.
build.log

Hi sorry for not seeing this. You're probably best making sure you update the libraries in lib to their latest on main branch. git submodule update. You should also go to here https://github.com/raspberrypi/pico-tflmicro and raise an issue if it persists.


Slicing masked data throws TypeError with numpy >=1.24.2

spectral-cube version 0.6.1.dev263+ge4f31e3
(Upgraded from 0.6 for the same reason given in #880)
Problem:
TypeError: Field elements must be 2- or 3-tuples, got 'dtype('float64')'
MWE:
from spectral_cube import SpectralCube
from astropy.wcs import WCS
import astropy.units as u

wcs_dict = {
'CTYPE1': 'WAVE    ', 'CUNIT1': 'Angstrom', 'CDELT1': 0.2, 'CRPIX1': 0, 'CRVAL1': 10, 'NAXIS1': 5,
'CTYPE2': 'HPLT-TAN', 'CUNIT2': 'deg', 'CDELT2': 0.5, 'CRPIX2': 2, 'CRVAL2': 0.5, 'NAXIS2': 4,
'CTYPE3': 'HPLN-TAN', 'CUNIT3': 'deg', 'CDELT3': 0.4, 'CRPIX3': 2, 'CRVAL3': 1, 'NAXIS3': 3}
wcs = WCS(wcs_dict)
data = np.ones((3,5,4)) * u.Jy

cube = SpectralCube(data=data, wcs=wcs)
cube = cube.with_mask(cube < 1 * u.Jy)

cube[0]

~/.conda/envs/gistdev/lib/python3.9/site-packages/spectral_cube/masks.py in _filled(self, data, wcs, fill, view, use_memmap, **kwargs)
    226         # Must convert to floating point, but should not change from inherited
    227         # type otherwise
--> 228         dt = np.result_type([data.dtype, 0.0])
    229
    230         if use_memmap and data.size > 0:

~/.conda/envs/gistdev/lib/python3.9/site-packages/numpy/core/overrides.py in result_type(*args, **kwargs)

TypeError: Field elements must be 2- or 3-tuples, got 'dtype('float64')'

Fix:
I think removing the square brackets in dt = np.result_type([data.dtype, 0.0]) should fix the issue.

Looks like this was solved earlier today:
https://github.com/radio-astro-tools/spectral-cube/pull/883

@keflavich @drtobybrown Hello fellow radio astronomers! Toby is right that the change introduced by https://github.com/radio-astro-tools/spectral-cube/pull/883 had incorrect syntax for numpy.result_type. I have just submitted a PR fix!

ah, sorry, I read things wrong - the bug was introduced today.  Thanks for the fix; we clearly need test coverage.

Solved by https://github.com/radio-astro-tools/spectral-cube/pull/886


Visualisation Ideas

I am currently experimenting with the visualisation of product price changes:

What I have found so far is, that many prices iterate in a specfic range. The Boxes you see is the general range of each products, the points are the price changes in price history. All displayed on the same price axis.
I would like to find out which products are more speculative than others. Any ideas or feedback is welcome.

The black Dot is the current price. The Graph is called boxplot and I used d3, I will open a pull request soon.

More vis is always good! I would assume this would be an alternative to the price history bars for each item? If we add this, we should be able to switch between the bars and the box plot. I need the bars for other analysis.


Retain premises and users in dev and test environments

We are now seeding users (and roles/qualifications) and premises using the: SeedJob process.
So that seeding isn't lost on dev and test at every deploy we now stop truncating the users and premises tables on every migration run (every deployment).

This is dependent on some changes to the migrations that I made that are now causing some issues, so I'd hold off on merging this until I've fixed them

@pezholio I've tweaked the wiremock generator: https://github.com/ministryofjustice/hmpps-community-accommodation-wiremock/pull/21 Could you take a look to see if I've done that correctly?

This is dependent on some changes to the migrations that I made that are now causing some issues, so I'd hold off on merging this until I've fixed them

ok, thks


Requests with #Points > 2, duplicated points at waypoints

I just understood the issue with the extra point for requests which have via points, that we discussed here.
When there is a GHRequest with for example 3 Points. We merge two Paths. Usually, the last point of the first Path is equal to the first point of the second Path. Right now we just append the two Paths. This leads to a duplication of points. For example have a look at this route.
The resulting points json looks like this:
points: {
coordinates: [
[
11.498807,
49.984347
],
[
11.499067,
49.98446
],
[
11.499214,
49.984541
],
=============================
Here is the waypoint, you see that the point above and below are duplicated
=============================
[
11.499214,
49.984541
],
[
11.499627,
49.984682
]
],
type: "LineString"
},

Overall, this is not very critical. The better or cleaner solution would probably be to not duplicate these points, but we would have to change our instructions then.
Right now the ViaPointInstruction, references the first duplicated point. The ContinueInstruction references the second duplicated point. If we remove one of these points, we could not continue with this pattern.
{
distance: 0,
sign: 5,
interval: [
2,
3
],
text: "Waypoint 1",
time: 0,
street_name: ""
},
{
distance: 33.387,
sign: 0,
interval: [
3,
4
],
text: "Continue onto Waldhüttenstraße",
time: 7512,
street_name: "Waldhüttenstraße"
},

but we would have to change our instructions then.

Yes, I would postpone this when we make instructions a new PathDetail? Otherwise this feels a bit artificial if we skip all via points that have just one point but the FinishInstruction will be added as all instructions do not include the last point ...

Let's discuss this here instead of in #1138 :).

Hmmh, this feels wrong and we should probably skip adding the via points opposed to my recent comment in #1139?

What do you mean? Should we change the instructions then?
We could remove the first point of the first instruction, for every Path, except the first Path. But what happens if the first instruction after the via-point has only one point?

What do you mean? Should we change the instructions then?

Can we avoid adding points from a ViaInstruction to the "fullPoins" in PathMerger?
Something like:
if(!(i instanceof FinishInstruction) || pathIndex + 1 == paths.size())
   fullPoints.add(i.getPoints());

Or should we make the correct refactoring? Currently the normal instructions have the interval [from, last-1] and the ViaInstructions and FinishInstructions have [from,last]. The interval [from,last] should be the default but then we should ignore all instructions with last-from<1. This would then also be in sync with the PathDetails that also have [first,last]

Can we avoid adding points from a ViaInstruction to the "fullPoins" in PathMerger?
Or should we make the correct but Java-API-breaking refactoring?

I think that, your described change would not fix the issue. The issue is that the ViaInstruction and the next instruction after the ViaInstruction reference the same coordinate.
Currently, every point in the points array, belongs to exactly one Instruction. So the "correct" change would be to break this assumption. To use the example given above, we would remove the duplicated point
[
11.499214,
49.984541
]

Then we would have to change the references of the Instructions to:
{
distance: 0,
sign: 5,
interval: [
2,
3
],
text: "Waypoint 1",
time: 0,
street_name: ""
},
{
distance: 33.387,
sign: 0,
interval: [
2,
3
],
text: "Continue onto Waldhüttenstraße",
time: 7512,
street_name: "Waldhüttenstraße"
},

Currently the normal instructions have the interval [from, last-1] and the ViaInstructions and FinishInstructions have [from,last]

Are you sure? To me it looks like the other way around.
In InstructionList#createJson we do:
// the last instruction should not point to the next instruction
if (counter + 1 == instructions.size())
   tmpIndex--;

I think (95% sure ;)) the current state for two paths (size 10 and 10) with a via point is:
[0, 9], [10, 10], [11, 20]
but it should be:
[0, 10], [10, 10], [10, 19]
where the point at index 10 is the end point of the first and the via point and the start point of the second path but it should not be duplicated in the final PointList as it is now. This way the instructions would be in-line with the PathDetails.

For example look at this request. You can see that the 9,9 example is true for the finish instruction, but not the via instruction. For the via instruction it would be 8,9.

You can see that the 9,9 example is true for the finish instruction, but not the via instruction. For the via instruction it would be 8,9.

Yes, it is inconsistent. But isn't it [9,10]?
So, I think the current state is: [0, 9], via:[9, 10], [10, 19], finish:[19, 19]
Which does not make much sense as a via point should be just one point.
So it should be: [0, 9], via:[9, 9], [9, 18], finish:[18, 18]
A further problem is also on the Java side: here we measure a length of a ViaInstruction with the help of PointList.size which would be 1 instead of last-first which would be 0.

Which does not make much sense as a via point should be just one point.
And it should be: [0, 9], via:[9, 9], [9, 18], finish:[18, 18]

Indeed that's more logical.

I think seeing different behavior between clients: Java vs Web.
Java client returns open [x,y) instruction intervals, while Web client returns closed [x,y] ones?
e.g. for a small path with 2 instructions and pointList.size() = 2, iterating instruction.getPoints().size() returns 1+1 points in Java and 2+1 points in Web.

Java client returns open [x,y) instruction intervals, while Web client returns closed [x,y] ones?

With Java client you mean that you include GraphHopper as a lib and call the calcPaths method locally? With web you mean the json interface or do you mean the java client?
The Java interface does not really provide you any intervals, only point sizes.
For example have a look at this routing request.
It has only 2 points. The instructions look like this:
instructions: [
{
distance: 3.928,
sign: 0,
interval: [
0,
1
],
text: "Continue onto K 6720",
time: 220,
street_name: "K 6720"
},
{
distance: 0,
sign: 4,
interval: [
1,
1
],
text: "Arrive at destination",
time: 0,
street_name: ""
}
]

The continue instruction has 1 point. The finish instruction has 1 point. The second number of the interval points to the next instruction. Example [0,1], here the next instruction would start at the point with the index 1.
This is the current state of the API.
When thinking more about this, this actually seems wrong. I think the second number of the interval should point to the last point of the instruction.
This was also pointed out by @karussell here

All path details currently work this way: you specify first and last and the length is last-first.

I finally understood the issue.
Think about this turn:
A ----- B
         |
         C

If you route from A->C. The PathDetails for the street name would be:
details: {
street_name: [
[
0,
1,
"A-B"
],
[
1,
2,
"B-C"
]
]
}

From point 0 (A) to point 1 (B). We are on the street A-B. From point 1 (B) to point 2 (C) we are on the street "B-C". So the path details are correct.
For the same situation the instructions right now, would look like:
instructions: [
{
distance: 9.613,
sign: 0,
interval: [
0,
1
],
text: "Continue onto A-B",
time: 692
},
{
distance: 7,
sign: 2,
interval: [
1,
2
],
text: "Turn right onto B-C",
time: 280
},
{
distance: 0,
sign: 4,
interval: [
2,
2
],
text: "Arrive at destination",
time: 0,
street_name: ""
}
]

Which is also correct. The problem of the instructions are the format of the instructions, as instructions contain points and no index references. When we calculate the points of a route, we don't duplicate the points at the end/beginning of an edge. Therefore we have to use "hacks" in the serialization to artificially set points of some to size 0.
I think we should change the format of the instructions to become more similar to the PathDetails, by not containing points, but only from and to references.
WDYT?

In both cases I mean the Java clients, GraphHopper from graphhopper-core using offline graph and GraphHopperWeb from directions-api-client-hc using an online server (tested GraphHopper and Kurviger the same).
Sorry when mentioned "intervals" above, it was the Java instruction point sizes. :slightly_smiling_face:
Iterating instruction.getPoints().size() returns inconsistent results between the two clients for the exact same route.
The directions-api-client-hc client has +1 point sizes in the response instructions than the graphhoppcer-core.

With directions-api-client-hc client, each instruction (except the final) has in its PointList as last point also the 1st point of the next instruction.
This is not happening with graphhoppcer-core client, where the instructions PointList end at previous point from the next instruction.

Iterating instruction.getPoints().size() returns inconsistent results between the two clients for the exact same route.

Yeah, this could be. But I think the current Java API for gh-core is wrong and not the hc client.

I think we should change the format of the instructions to become more similar to the PathDetails, by not containing points, but only from and to references.

Yes, this would be perfect (including the problem with the PointList that @devemux86 found) but we can also do this as a later step if too much effort. As a first step we can fix the interval 'bug' of the ViaInstructions.


Find out who send message and message type in sender middleware

I have several patterns that would reply to user with direct_message and direct_metion and mention. I want to append @user in reply message when origin message received via any mention methods, and do it automatically. Now I have to do the check in every command as in sender middleware I can only access to channel and text, without original user's info.
Explain with code:
Now I have to do this in every hears:
controller.heaers(['patterns'], 'direct_message,mention', (bot, message) => {
var reply = 'xxxx'
// check message comes from mention
var reply = reply + message.user
})

Which could be done in sender middleware, except:
controller.middleware.send.use(function(bot, message, next) {
// message.user is undefined in middleware
    next();

});

As of version 0.6, outgoing messages sent with reply (and sent by conversations) now have a message.to field that should contain the user id of the recipient.


Update development_workflow.md

Description
Improve Development workflow documentation. It avoids repeating an instruction and by separating the minikube's Docker daemon check block emphasizes the importance of that step.
Fixes: #issue
Checklist

[X] I have manually tested my changes and I am happy with the result.
[X] The documentation reflects the changes.
[X] The PR branch is set up to merge into dev instead of master.
[X] I haven't introduced breaking changes that would disrupt existing jobs, i.e. backwards compatibility is maintained.
[ ] In case I changed the dependencies in any requirements.in I have run pip-compile to update the corresponding requirements.txt.
[ ] In case I changed one of the services' models.py I have performed the appropriate database migrations (refer to the DB migration docs).
[ ] In case I changed code in the orchest-sdk I followed its release checklist.
[ ] In case I changed code in the orchest-cli I followed its release checklist.

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


Advanced Slides Integration

Hello,
I really love this fantastic package:)
However, to make it maximum useful for me, I need an easy way to use my TikZ Graphics in an  Obsidian Advanced Slides Presentation.
Could anyone think of a feasible way to do that?
Currently the only way I can think of is Copying the SVG tag and manually pasting it in the presentation. Which is not very handy and does not allow to 'include' TikZ from other Notes.

This currently works with the core slides package fyi.


looking for CMIP6.ScenarioMIP.NCAR.CESM2.ssp370.r11i1p1f1.6hrLev.ta.gn 9  476.07 GB

Describe the bug

Desktop (please complete the following information):

OS: Windows

Browser and Version:  Google Chrome

To Reproduce
This is just an attempt to generate a wget for this model. I am able to get the wget, but the files are all empty.
CMIP6.ScenarioMIP.NCAR.CESM2.ssp370.r11i1p1f1.6hrLev.ta.gn 9
there appears to be
476.07 GB
Expected behavior
wget downloads
Screenshots

Additional context
data fields are empty.

This is a problem with the site hosting the data.  Please email the support list<EMAIL_ADDRESS>


Invalid cross-device link (DependencyCheck v3.3.0)

I tried to switch to newest dependency-check-maven plugin, which results in following error:
[ERROR] Failed to execute goal org.owasp:dependency-check-maven:3.3.0:update-only (owasp-dependency-update) on project jenkins-maintenance: An exception occurred while downloading updates. Please see the log file for more details. Failed to initialize the RetireJS repo: /tmp/dctempfe32b35b-0b68-41f7-b514-c7c417e4b4fb/jsrepository.json -> /var/local/share/owasp-cache-3.3.0/jsrepository.json: Invalid cross-device link -> [Help 1]

Directory /tmp is located on a fast, local hard disk (SSD).
/var/local/share is in this case an NFS share. I also tried to use local workspace for cve database directory or inside maven repository but same error occures. (With database I mean the directory set by dataDirectory property. Deleting this directory will not help)
System is a RedHat linux, with Jenkins as build system

The problem does not occur if database and temporary directory are located on same hard disc partition.
Is it possible to use soft links instead of hard links ? Alternatively...how to overwrite the temporary directory used by dependency-check-maven plugin, without affecting other maven modules (so I could set it to same disk where database is stored).

Thanks, this is a duplicate of #1394 - although I had originally thought this was a windows only bug.  A fix will be published with the next release.
The only way to change the temp directory for a maven build would be to set the temp.directory system variable:
mvn -Dtemp.directory=/path/to/tmp verify


mac_notifications-utilizing process never exits

Here's a test program that demonstrates the problem:
#!/usr/bin/env python3

import sys
import time

from mac_notifications import client

def noop(*args, **kwargs):
    """No operation: do nothing."""
    pass

class Callback:
    def __init__(self):
        self.called_back = False

    def callback(self, *args, **kwargs):
        print(f'args: {args}')
        print(f'kwargs: {kwargs}')
        self.called_back = True

if __name__ == '__main__':
    cb = Callback()
    client.create_notification(
        title="title",
        subtitle="subtitle",
        icon=None,
        action_button_str="Acknowledge",
        action_callback=cb.callback,
    )
    while not cb.called_back:
        print('waiting...')
        sys.stdout.flush()
        time.sleep(1)
    print('hello!')

It never exits.  It does the print('hello!') fine, but the process just keeps running.
What do I need to do to get the process to exit normally?
Thanks!

Hello @dstromberg,
Thanks for opening an issue for your question.
In this particular case this is expected. The reason for this is that we don't know whether we can still expect more actions or not. Therefore, you need to call client.stop_listening_for_callbacks() once you want to quit. This will kill the background thread that is listening for responses and thus will make your application quit.
An example of this is shown here;
https://github.com/Jorricks/macos-notifications/blob/6f0741dae497a13d70734d233fa97d94f48c6c3f/examples/notification_with_action.py#L24


Our shell wrapper around swig is a bug according to bazel

Bazel likes to strip things it doesn't like out of PATH, as discussed at https://github.com/bazelbuild/bazel/issues/957.  For TensorFlow, this is a problem since we have a shell wrapper around swig that just says swig "$@".  In my case, swig is in ~/homebrew/bin.
Since Bazel considers this a bug in TensorFlow rather than in Bazel, it may be more useful to have the discussion here than on the Bazel site.

Here is the problematic file: https://github.com/tensorflow/tensorflow/blob/master/tensorflow/tools/swig/swig.sh

Perhaps we can use some kind of crosstool wrapper-type functionality?

Alternatively set it up during the configure script, the way we do python: as a parameter in bazelrc.

@ebrevdo: Yep, I think that's the way to go.

I think using configure is also the best thing to do as well. configure can find a way to plugin the location of swig through command line or generate an external local repository for swig. It needs to configure SWIG_LIB as well.

configure hack complete.  I'll send it for review soon.


ERROR: Cannot locate specified Dockerfile: Dockerfile when building remark

When I try to build remark using the supplied docker-compose.yml file in my home directory (centOS 7) with the command sudo docker-compose build && sudo docker-compose up -d, I get the error:
Building remark
ERROR: Cannot locate specified Dockerfile: Dockerfile

Does the docker-compose.yml file need to be in a specific location?
EDIT: I've also run the command without sudo and get the same error as above.

I 've figured this out myself now. But just a heads up; to a total docker-compose noob the instructions where it states: copy provided docker-compose.yml and customize for your needs are a little confusing.
When I read them I thought it meant to literally just make a copy of that file from the github repo. Then add it to your server customize it to your needs and run the docker-compose build && docker-compose up -d command.
Once I git cloned the repo and added the docker-compose.yml file I avoided the error.


When you leave the character and enter again, you

When you leave the character and enter again, you

This is problem with view mode/left panel.
Write in console "print(modules.game_interface.currentViewMode)" and write result here.

Probably problem is when:
->mode "2"
->change left panel state
->change mode

So, if you relgin -> "modules.game_interface.currentViewMode" number was change?

Probably yes, why?
Because in game is few states who change player position in screen.

Resize map -> implemented.
Add Left Panel -> implemented.
View Mode nr. 2 -> implemented.

So, in yours screen I see that you use state nr. 2 but with name 3. Well you probably must change condition in line 118 from:
if currentViewMode() == 2 then
to:
if currentViewMode() == 2 and currentViewMode() == 3 then

How can I solve this problem ?
https://pastebin.com/Nc8p1DkS
https://pastebin.com/FRCQpqXN

okay

Ahh, 2 more line:
In lines 95, 102 (the same code):
Change from:
if currentViewMode() ~= 2 then
to:
if currentViewMode() ~= 2 and currentViewMode() ~= 3 then

as soon as i get in the game

Probably, I make mistake with conditions:

change "and" to "or" in this 3 lines.

more after you restart the modules goes to the place

Because it's refresh UI, and draw again this objects.

complicated
I tried here in every way I know and no results

In line 118 from:
if currentViewMode() == 2 then
to:
if currentViewMode() == 2 or currentViewMode() == 3 then
In lines 95, 102 (the same code):
Change from:
if currentViewMode() ~= 2 then
to:
if currentViewMode() ~= 2 or currentViewMode() ~= 3 then
You change "and" to "or"?

https://pastebin.com/BWU16Lqe

In lines 92-96 change:
This:
if currentViewMode() ~= 2 or currentViewMode() ~= 3 then
healthCircleFront:setY(mapPanel:getHeight() / 2 - healthCircle:getHeight() / 2 + 30 + Yhppc)
else
healthCircleFront:setY(mapPanel:getHeight() / 2 - healthCircle:getHeight() / 2 + 0 + Yhppc)
end
To:
if currentViewMode() == 2 or currentViewMode() == 3 then
healthCircleFront:setY(mapPanel:getHeight() / 2 - healthCircle:getHeight() / 2 + 0 + Yhppc)
else
healthCircleFront:setY(mapPanel:getHeight() / 2 - healthCircle:getHeight() / 2 + 30 + Yhppc)
end

In lines 105-109 change:
if currentViewMode() ~= 2 or currentViewMode() ~= 3 then
manaCircleFront:setY(mapPanel:getHeight() / 2 - manaCircle:getHeight() / 2 + 30 + Ymppc)
else
manaCircleFront:setY(mapPanel:getHeight() / 2 - manaCircle:getHeight() / 2 + 0 + Ymppc)
end
To:
if currentViewMode() == 2 or currentViewMode() == 3 then
manaCircleFront:setY(mapPanel:getHeight() / 2 - manaCircle:getHeight() / 2 + 0 + Ymppc)
else
manaCircleFront:setY(mapPanel:getHeight() / 2 - manaCircle:getHeight() / 2 + 30 + Ymppc)
end

Obrg :)

thank you

Some fixes for custom UI in cf6aa02 .
View mode 2 must be preserved.

 Test


fix: adding requirements for xnat etl

minor fix to add pyxnat and xlmtodict to requirements. no need to fix versions, pretty simple dependencies.

Codecov Report

Merging #338 (7b9105c) into dev (e96cfa0) will decrease coverage by 3.79%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##              dev     #338      +/-   ##
==========================================
- Coverage   78.30%   74.51%   -3.80%
==========================================
  Files          43       36       -7
  Lines        2793     2048     -745
==========================================
- Hits         2187     1526     -661
+ Misses        606      522      -84

Impacted Files
Coverage Δ

pyluna-pathology/luna/pathology/common/utils.py
62.43% <0.00%> (-24.40%)
:arrow_down:

pyluna-pathology/luna/pathology/dsa/utils.py
94.28% <0.00%> (-2.86%)
:arrow_down:

pyluna-pathology/luna/pathology/analysis/ml.py

...-pathology/luna/pathology/cli/infer_tile_labels.py

...hology/luna/pathology/cli/extract_stain_texture.py

...athology/luna/pathology/common/annotation_utils.py

pyluna-pathology/luna/pathology/cli/save_tiles.py

...thology/luna/pathology/cli/generate_tile_labels.py

pyluna-pathology/luna/pathology/cli/dsa_viz.py

Continue to review full report at Codecov.

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


Error In first line of docker file

The first line should read
FROM tobi312/rpi-postgresql-postgis
The current line doesn't work. I would make a new branch but it won't let me create one and this is an easy fix.

Ohh, let me take a look, dunno how it managed to get through
On Mon, 19 Apr, 2021, 06:52 SpencerStingley, @.***>
wrote:

The first line should read
FROM tobi312/rpi-postgresql-postgis
The current line doesn't work. I would make a new branch but it won't let
me create one and this is an easy fix.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/CT83/Raspberry-Pi-PostGres-Docker-Compose/issues/1,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AECXEEKVUWXUTZQOL2YUQM3TJOAVRANCNFSM43E2V5ZQ
.


Error verifying target

I'm attempting to get Lattice up and running on my laptop.  The environment I'm using is as follows:

Macbook Pro Retina 15"
Yosemite
16GB RAM
Vagrant 1.7.2
VirtualBox 4.3.26

I have cloned the repo and checked out v0.2.2.  When I run the command:
$ vagrant up --provider virtualbox

I receive the following output:
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'lattice/ubuntu-trusty-64'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'lattice/ubuntu-trusty-64' is up to date...
==> default: Setting the name of the VM: lattice_default_1428380011297_77805
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: hostonly
==> default: Forwarding ports...
    default: 22 => 2222 (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: <IP_ADDRESS>:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Warning: Connection timeout. Retrying...
    default:
    default: Vagrant insecure key detected. Vagrant will automatically replace
    default: this with a newly generated keypair for better security.
    default:
    default: Inserting generated public key within guest...
    default: Removing insecure key from the guest if its present...
    default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
==> default: Configuring and enabling network interfaces...
==> default: Mounting shared folders...
    default: /vagrant => /Users/mminella/Documents/IntelliJWorkspace/lattice
==> default: Running provisioner: shell...
    default: Running: inline script
==> default: stdin: is not a tty
==> default: mkdir: created directory ‘/var/lattice’
==> default: mkdir: created directory ‘/var/lattice/setup’
==> default: Running provisioner: shell...
    default: Running: inline script
==> default: stdin: is not a tty
==> default: Running provisioner: shell...
    default: Running: /var/folders/6s/2mwfrcbx5tg1mxr251bbl44m0000gn/T/vagrant-shell20150406-22161-13q66nz
==> default: stdin: is not a tty
==> default: Downloading https://s3-us-west-2.amazonaws.com/lattice/releases/v0.2.2/lattice.tgz ..
==> default: DONE!
==> default: Ign http://security.ubuntu.com trusty-security InRelease
==> default: Ign http://us.archive.ubuntu.com trusty InRelease
==> default: Get:1 http://security.ubuntu.com trusty-security Release.gpg [933 B]
==> default: Ign http://us.archive.ubuntu.com trusty-updates InRelease
==> default: Get:2 http://security.ubuntu.com trusty-security Release [63.5 kB]
==> default: Ign http://us.archive.ubuntu.com trusty-backports InRelease
==> default: Hit http://us.archive.ubuntu.com trusty Release.gpg
==> default: Get:3 http://us.archive.ubuntu.com trusty-updates Release.gpg [933 B]
==> default: Get:4 http://us.archive.ubuntu.com trusty-backports Release.gpg [933 B]
==> default: Get:5 http://security.ubuntu.com trusty-security/main Sources [76.1 kB]
==> default: Hit http://us.archive.ubuntu.com trusty Release
==> default: Get:6 http://us.archive.ubuntu.com trusty-updates Release [63.5 kB]
==> default: Get:7 http://security.ubuntu.com trusty-security/restricted Sources [2,061 B]
==> default: Get:8 http://security.ubuntu.com trusty-security/universe Sources [19.5 kB]
==> default: Get:9 http://security.ubuntu.com trusty-security/multiverse Sources [1,905 B]
==> default: Get:10 http://us.archive.ubuntu.com trusty-backports Release [63.5 kB]
==> default: Get:11 http://security.ubuntu.com trusty-security/main amd64 Packages [251 kB]
==> default: Hit http://us.archive.ubuntu.com trusty/main Sources
==> default: Hit http://us.archive.ubuntu.com trusty/restricted Sources
==> default: Hit http://us.archive.ubuntu.com trusty/universe Sources
==> default: Hit http://us.archive.ubuntu.com trusty/multiverse Sources
==> default: Hit http://us.archive.ubuntu.com trusty/main amd64 Packages
==> default: Get:12 http://security.ubuntu.com trusty-security/restricted amd64 Packages [8,875 B]
==> default: Hit http://us.archive.ubuntu.com trusty/restricted amd64 Packages
==> default: Get:13 http://security.ubuntu.com trusty-security/universe amd64 Packages [92.0 kB]
==> default: Hit http://us.archive.ubuntu.com trusty/universe amd64 Packages
==> default: Hit http://us.archive.ubuntu.com trusty/multiverse amd64 Packages
==> default: Get:14 http://security.ubuntu.com trusty-security/multiverse amd64 Packages [3,459 B]
==> default: Hit http://us.archive.ubuntu.com trusty/main i386 Packages
==> default: Get:15 http://security.ubuntu.com trusty-security/main i386 Packages [242 kB]
==> default: Hit http://us.archive.ubuntu.com trusty/restricted i386 Packages
==> default: Get:16 http://security.ubuntu.com trusty-security/restricted i386 Packages [8,846 B]
==> default: Hit http://us.archive.ubuntu.com trusty/universe i386 Packages
==> default: Get:17 http://security.ubuntu.com trusty-security/universe i386 Packages [92.1 kB]
==> default: Hit http://us.archive.ubuntu.com trusty/multiverse i386 Packages
==> default: Get:18 http://security.ubuntu.com trusty-security/multiverse i386 Packages [3,628 B]
==> default: Get:19 http://security.ubuntu.com trusty-security/main Translation-en [126 kB]
==> default: Hit http://us.archive.ubuntu.com trusty/main Translation-en
==> default: Hit http://security.ubuntu.com trusty-security/multiverse Translation-en
==> default: Hit http://us.archive.ubuntu.com trusty/multiverse Translation-en
==> default: Hit http://security.ubuntu.com trusty-security/restricted Translation-en
==> default: Hit http://us.archive.ubuntu.com trusty/restricted Translation-en
==> default: Get:20 http://security.ubuntu.com trusty-security/universe Translation-en [51.1 kB]
==> default: Hit http://us.archive.ubuntu.com trusty/universe Translation-en
==> default: Get:21 http://us.archive.ubuntu.com trusty-updates/main Sources [190 kB]
==> default: Get:22 http://us.archive.ubuntu.com trusty-updates/restricted Sources [2,564 B]
==> default: Get:23 http://us.archive.ubuntu.com trusty-updates/universe Sources [108 kB]
==> default: Get:24 http://us.archive.ubuntu.com trusty-updates/multiverse Sources [4,765 B]
==> default: Get:25 http://us.archive.ubuntu.com trusty-updates/main amd64 Packages [490 kB]
==> default: Get:26 http://us.archive.ubuntu.com trusty-updates/restricted amd64 Packages [9,238 B]
==> default: Get:27 http://us.archive.ubuntu.com trusty-updates/universe amd64 Packages [264 kB]
==> default: Get:28 http://us.archive.ubuntu.com trusty-updates/multiverse amd64 Packages [11.7 kB]
==> default: Get:29 http://us.archive.ubuntu.com trusty-updates/main i386 Packages [480 kB]
==> default: Get:30 http://us.archive.ubuntu.com trusty-updates/restricted i386 Packages [9,256 B]
==> default: Get:31 http://us.archive.ubuntu.com trusty-updates/universe i386 Packages [264 kB]
==> default: Get:32 http://us.archive.ubuntu.com trusty-updates/multiverse i386 Packages [11.9 kB]
==> default: Get:33 http://us.archive.ubuntu.com trusty-updates/main Translation-en [232 kB]
==> default: Get:34 http://us.archive.ubuntu.com trusty-updates/multiverse Translation-en [6,076 B]
==> default: Hit http://us.archive.ubuntu.com trusty-updates/restricted Translation-en
==> default: Get:35 http://us.archive.ubuntu.com trusty-updates/universe Translation-en [135 kB]
==> default: Get:36 http://us.archive.ubuntu.com trusty-backports/main Sources [5,298 B]
==> default: Get:37 http://us.archive.ubuntu.com trusty-backports/restricted Sources [28 B]
==> default: Get:38 http://us.archive.ubuntu.com trusty-backports/universe Sources [22.5 kB]
==> default: Get:39 http://us.archive.ubuntu.com trusty-backports/multiverse Sources [1,898 B]
==> default: Get:40 http://us.archive.ubuntu.com trusty-backports/main amd64 Packages [5,536 B]
==> default: Get:41 http://us.archive.ubuntu.com trusty-backports/restricted amd64 Packages [28 B]
==> default: Get:42 http://us.archive.ubuntu.com trusty-backports/universe amd64 Packages [26.2 kB]
==> default: Get:43 http://us.archive.ubuntu.com trusty-backports/multiverse amd64 Packages [1,245 B]
==> default: Get:44 http://us.archive.ubuntu.com trusty-backports/main i386 Packages [5,550 B]
==> default: Get:45 http://us.archive.ubuntu.com trusty-backports/restricted i386 Packages [28 B]
==> default: Get:46 http://us.archive.ubuntu.com trusty-backports/universe i386 Packages [26.3 kB]
==> default: Get:47 http://us.archive.ubuntu.com trusty-backports/multiverse i386 Packages [1,249 B]
==> default: Hit http://us.archive.ubuntu.com trusty-backports/main Translation-en
==> default: Hit http://us.archive.ubuntu.com trusty-backports/multiverse Translation-en
==> default: Hit http://us.archive.ubuntu.com trusty-backports/restricted Translation-en
==> default: Hit http://us.archive.ubuntu.com trusty-backports/universe Translation-en
==> default: Ign http://us.archive.ubuntu.com trusty/main Translation-en_US
==> default: Ign http://us.archive.ubuntu.com trusty/multiverse Translation-en_US
==> default: Ign http://us.archive.ubuntu.com trusty/restricted Translation-en_US
==> default: Ign http://us.archive.ubuntu.com trusty/universe Translation-en_US
==> default: Fetched 3,486 kB in 4s (740 kB/s)
==> default: Reading package lists...
==> default: Reading package lists...
==> default: Building dependency tree...
==> default: Reading state information...
==> default: The following extra packages will be installed:
==> default:   libcurl3
==> default: The following NEW packages will be installed:
==> default:   curl libcurl3
==> default: 0 upgraded, 2 newly installed, 0 to remove and 30 not upgraded.
==> default: Need to get 295 kB of archives.
==> default: After this operation, 873 kB of additional disk space will be used.
==> default: Get:1 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main libcurl3 amd64 7.35.0-1ubuntu2.3 [172 kB]
==> default: Get:2 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main curl amd64 7.35.0-1ubuntu2.3 [123 kB]
==> default: dpkg-preconfigure: unable to re-open stdin: No such file or directory
==> default: Fetched 295 kB in 0s (990 kB/s)
==> default: Selecting previously unselected package libcurl3:amd64.
==> default: (Reading database ... 89937 files and directories currently installed.)
==> default: Preparing to unpack .../libcurl3_7.35.0-1ubuntu2.3_amd64.deb ...
==> default: Unpacking libcurl3:amd64 (7.35.0-1ubuntu2.3) ...
==> default: Selecting previously unselected package curl.
==> default: Preparing to unpack .../curl_7.35.0-1ubuntu2.3_amd64.deb ...
==> default: Unpacking curl (7.35.0-1ubuntu2.3) ...
==> default: Processing triggers for man-db (<IP_ADDRESS>-1ubuntu1) ...
==> default: Setting up libcurl3:amd64 (7.35.0-1ubuntu2.3) ...
==> default: Setting up curl (7.35.0-1ubuntu2.3) ...
==> default: Processing triggers for libc-bin (2.19-0ubuntu6.6) ...
==> default: ‘/tmp/lattice-build/common/health_check’ -> ‘/var/lattice/health_check’
==> default: ‘/tmp/lattice-build/common/LATTICE_VERSION’ -> ‘/var/lattice/LATTICE_VERSION’
==> default: ‘/tmp/lattice-build/common/system-config/lattice.logrotate.txt’ -> ‘/etc/logrotate.d/lattice’
==> default: Installing Lattice (v0.2.2) - Coordinator
==> default: ‘/tmp/lattice-build/coordinator/upstart/bootstrap.conf’ -> ‘/etc/init/bootstrap.conf’
==> default: ‘/tmp/lattice-build/coordinator/upstart/consul.conf’ -> ‘/etc/init/consul.conf’
==> default: ‘/tmp/lattice-build/coordinator/upstart/doppler.conf’ -> ‘/etc/init/doppler.conf’
==> default: ‘/tmp/lattice-build/coordinator/upstart/etcd.conf’ -> ‘/etc/init/etcd.conf’
==> default: ‘/tmp/lattice-build/coordinator/upstart/file-server.conf’ -> ‘/etc/init/file-server.conf’
==> default: ‘/tmp/lattice-build/coordinator/upstart/gnatsd.conf’ -> ‘/etc/init/gnatsd.conf’
==> default: ‘/tmp/lattice-build/coordinator/upstart/gorouter.conf’ -> ‘/etc/init/gorouter.conf’
==> default: ‘/tmp/lattice-build/coordinator/upstart/metron.conf’ -> ‘/etc/init/metron.conf’
==> default: ‘/tmp/lattice-build/coordinator/upstart/receptor.conf’ -> ‘/etc/init/receptor.conf’
==> default: ‘/tmp/lattice-build/coordinator/upstart/route-emitter.conf’ -> ‘/etc/init/route-emitter.conf’
==> default: ‘/tmp/lattice-build/coordinator/upstart/trafficcontroller.conf’ -> ‘/etc/init/trafficcontroller.conf’
==> default: ‘/tmp/lattice-build/coordinator/bin/consul’ -> ‘/usr/local/bin/consul’
==> default: ‘/tmp/lattice-build/coordinator/bin/doppler’ -> ‘/usr/local/bin/doppler’
==> default: ‘/tmp/lattice-build/coordinator/bin/etcd’ -> ‘/usr/local/bin/etcd’
==> default: ‘/tmp/lattice-build/coordinator/bin/file-server’ -> ‘/usr/local/bin/file-server’
==> default: ‘/tmp/lattice-build/coordinator/bin/gnatsd’ -> ‘/usr/local/bin/gnatsd’
==> default: ‘/tmp/lattice-build/coordinator/bin/gorouter’ -> ‘/usr/local/bin/gorouter’
==> default: ‘/tmp/lattice-build/coordinator/bin/healthcheck’ -> ‘/usr/local/bin/healthcheck’
==> default: ‘/tmp/lattice-build/coordinator/bin/metron’ -> ‘/usr/local/bin/metron’
==> default: ‘/tmp/lattice-build/coordinator/bin/receptor’ -> ‘/usr/local/bin/receptor’
==> default: ‘/tmp/lattice-build/coordinator/bin/route-emitter’ -> ‘/usr/local/bin/route-emitter’
==> default: ‘/tmp/lattice-build/coordinator/bin/trafficcontroller’ -> ‘/usr/local/bin/trafficcontroller’
==> default: ‘/tmp/lattice-build/coordinator/coordinator_health_check’ -> ‘/var/lattice/coordinator_health_check’
==> default: mkdir: created directory ‘/var/lattice/static-files’
==> default: healthcheck
==> default: mkdir: created directory ‘/var/lattice/config’
==> default: ‘/tmp/lattice-build/coordinator/config/gnatsd.conf’ -> ‘/var/lattice/config/gnatsd.conf’
==> default: ‘/tmp/lattice-build/coordinator/config/gorouter.yml’ -> ‘/var/lattice/config/gorouter.yml’
==> default: ‘/tmp/lattice-build/coordinator/config/metron.json’ -> ‘/var/lattice/config/metron.json’
==> default: ‘/tmp/lattice-build/coordinator/config/consul.json’ -> ‘/var/lattice/config/consul.json’
==> default: ‘/tmp/lattice-build/coordinator/config/consul-services’ -> ‘/var/lattice/config/consul-services’
==> default: ‘/tmp/lattice-build/coordinator/config/consul-services/file-server.json’ -> ‘/var/lattice/config/consul-services/file-server.json’
==> default: ‘/tmp/lattice-build/coordinator/config/consul-services/etcd.json’ -> ‘/var/lattice/config/consul-services/etcd.json’
==> default: ‘/tmp/lattice-build/coordinator/config/consul-services/nats.json’ -> ‘/var/lattice/config/consul-services/nats.json’
==> default: ‘/tmp/lattice-build/coordinator/config/doppler.json’ -> ‘/var/lattice/config/doppler.json’
==> default: ‘/tmp/lattice-build/coordinator/setup/trafficcontroller-template.json’ -> ‘/var/lattice/setup/trafficcontroller-template.json’
==> default: mkdir: created directory ‘/var/lattice/run’
==> default: mkdir: created directory ‘/var/lattice/log’
==> default: Finished Installing Lattice Coordinator (v0.2.2)!
==> default: consul stop/waiting
==> default: bootstrap stop/waiting
==> default: Installing Lattice (v0.2.2) - Lattice Cell
==> default: ‘/tmp/lattice-build/lattice-cell/upstart/auctioneer.conf’ -> ‘/etc/init/auctioneer.conf’
==> default: ‘/tmp/lattice-build/lattice-cell/upstart/converger.conf’ -> ‘/etc/init/converger.conf’
==> default: ‘/tmp/lattice-build/lattice-cell/upstart/executor.conf’ -> ‘/etc/init/executor.conf’
==> default: ‘/tmp/lattice-build/lattice-cell/upstart/garden-linux.conf’ -> ‘/etc/init/garden-linux.conf’
==> default: ‘/tmp/lattice-build/lattice-cell/upstart/rep.conf’ -> ‘/etc/init/rep.conf’
==> default: ‘/tmp/lattice-build/lattice-cell/bin/auctioneer’ -> ‘/usr/local/bin/auctioneer’
==> default: ‘/tmp/lattice-build/lattice-cell/bin/converger’ -> ‘/usr/local/bin/converger’
==> default: ‘/tmp/lattice-build/lattice-cell/bin/executor’ -> ‘/usr/local/bin/executor’
==> default: ‘/tmp/lattice-build/lattice-cell/bin/garden-linux’ -> ‘/usr/local/bin/garden-linux’
==> default: ‘/tmp/lattice-build/lattice-cell/bin/rep’ -> ‘/usr/local/bin/rep’
==> default: ‘/tmp/lattice-build/lattice-cell/bin/tee2metron’ -> ‘/usr/local/bin/tee2metron’
==> default: ‘/tmp/lattice-build/lattice-cell/cell_health_check’ -> ‘/var/lattice/cell_health_check’
==> default: mkdir: created directory ‘/var/lattice/garden’
==> default: mkdir: created directory ‘/var/lattice/garden/depot’
==> default: mkdir: created directory ‘/var/lattice/garden/rootfs’
==> default: mkdir: created directory ‘/var/lattice/garden/overlays’
==> default: mkdir: created directory ‘/var/lattice/garden/graph’
==> default: ‘/tmp/lattice-build/lattice-cell/garden/garden-bin’ -> ‘/var/lattice/garden/garden-bin’
==> default: ‘/tmp/lattice-build/lattice-cell/garden/garden-bin/rootfs’ -> ‘/var/lattice/garden/garden-bin/rootfs’
==> default: ‘/tmp/lattice-build/lattice-cell/garden/garden-bin/rootfs/ubuntu.sh’ -> ‘/var/lattice/garden/garden-bin/rootfs/ubuntu.sh’
==> default: ‘/tmp/lattice-build/lattice-cell/garden/garden-bin/rootfs/setup.sh’ -> ‘/var/lattice/garden/garden-bin/rootfs/setup.sh’
==> default: ‘/tmp/lattice-build/lattice-cell/garden/garden-bin/rootfs/centos.sh’ -> ‘/var/lattice/garden/garden-bin/rootfs/centos.sh’
==> default: ‘/tmp/lattice-build/lattice-cell/garden/garden-bin/.gitignore’ -> ‘/var/lattice/garden/garden-bin/.gitignore’
==> default: ‘/tmp/lattice-build/lattice-cell/garden/garden-bin/create.sh’ -> ‘/var/lattice/garden/garden-bin/create.sh’
==> default: ‘/tmp/lattice-build/lattice-cell/garden/garden-bin/README.md’ -> ‘/var/lattice/garden/garden-bin/README.md’
==> default: ‘/tmp/lattice-build/lattice-cell/garden/garden-bin/overlay.sh’ -> ‘/var/lattice/garden/garden-bin/overlay.sh’
==> default: ‘/tmp/lattice-build/lattice-cell/garden/garden-bin/destroy.sh’ -> ‘/var/lattice/garden/garden-bin/destroy.sh’
==> default: ‘/tmp/lattice-build/lattice-cell/garden/garden-bin/net.sh’ -> ‘/var/lattice/garden/garden-bin/net.sh’
==> default: ‘/tmp/lattice-build/lattice-cell/garden/garden-bin/repquota’ -> ‘/var/lattice/garden/garden-bin/repquota’
==> default: ‘/tmp/lattice-build/lattice-cell/garden/garden-bin/setup.sh’ -> ‘/var/lattice/garden/garden-bin/setup.sh’
==> default: ‘/tmp/lattice-build/lattice-cell/garden/skeleton’ -> ‘/var/lattice/garden/skeleton’
==> default: ‘/tmp/lattice-build/lattice-cell/garden/skeleton/bin’ -> ‘/var/lattice/garden/skeleton/bin’
==> default: ‘/tmp/lattice-build/lattice-cell/garden/skeleton/bin/wshd’ -> ‘/var/lattice/garden/skeleton/bin/wshd’
==> default: ‘/tmp/lattice-build/lattice-cell/garden/skeleton/bin/iodaemon’ -> ‘/var/lattice/garden/skeleton/bin/iodaemon’
==> default: ‘/tmp/lattice-build/lattice-cell/garden/skeleton/bin/oom’ -> ‘/var/lattice/garden/skeleton/bin/oom’
==> default: ‘/tmp/lattice-build/lattice-cell/garden/skeleton/bin/.gitkeep’ -> ‘/var/lattice/garden/skeleton/bin/.gitkeep’
==> default: ‘/tmp/lattice-build/lattice-cell/garden/skeleton/bin/wsh’ -> ‘/var/lattice/garden/skeleton/bin/wsh’
==> default: ‘/tmp/lattice-build/lattice-cell/garden/skeleton/bin/container-net’ -> ‘/var/lattice/garden/skeleton/bin/container-net’
==> default: ‘/tmp/lattice-build/lattice-cell/garden/skeleton/bin/nstar’ -> ‘/var/lattice/garden/skeleton/bin/nstar’
==> default: ‘/tmp/lattice-build/lattice-cell/garden/skeleton/etc’ -> ‘/var/lattice/garden/skeleton/etc’
==> default: ‘/tmp/lattice-build/lattice-cell/garden/skeleton/etc/.gitkeep’ -> ‘/var/lattice/garden/skeleton/etc/.gitkeep’
==> default: ‘/tmp/lattice-build/lattice-cell/garden/skeleton/run’ -> ‘/var/lattice/garden/skeleton/run’
==> default: ‘/tmp/lattice-build/lattice-cell/garden/skeleton/run/.gitkeep’ -> ‘/var/lattice/garden/skeleton/run/.gitkeep’
==> default: ‘/tmp/lattice-build/lattice-cell/garden/skeleton/stop.sh’ -> ‘/var/lattice/garden/skeleton/stop.sh’
==> default: ‘/tmp/lattice-build/lattice-cell/garden/skeleton/jobs’ -> ‘/var/lattice/garden/skeleton/jobs’
==> default: ‘/tmp/lattice-build/lattice-cell/garden/skeleton/jobs/.gitkeep’ -> ‘/var/lattice/garden/skeleton/jobs/.gitkeep’
==> default: ‘/tmp/lattice-build/lattice-cell/garden/skeleton/destroy.sh’ -> ‘/var/lattice/garden/skeleton/destroy.sh’
==> default: ‘/tmp/lattice-build/lattice-cell/garden/skeleton/start.sh’ -> ‘/var/lattice/garden/skeleton/start.sh’
==> default: ‘/tmp/lattice-build/lattice-cell/garden/skeleton/net.sh’ -> ‘/var/lattice/garden/skeleton/net.sh’
==> default: ‘/tmp/lattice-build/lattice-cell/garden/skeleton/lib’ -> ‘/var/lattice/garden/skeleton/lib’
==> default: ‘/tmp/lattice-build/lattice-cell/garden/skeleton/lib/hook-parent-after-clone.sh’ -> ‘/var/lattice/garden/skeleton/lib/hook-parent-after-clone.sh’
==> default: ‘/tmp/lattice-build/lattice-cell/garden/skeleton/lib/hook-child-before-pivot.sh’ -> ‘/var/lattice/garden/skeleton/lib/hook-child-before-pivot.sh’
==> default: ‘/tmp/lattice-build/lattice-cell/garden/skeleton/lib/hook’ -> ‘/var/lattice/garden/skeleton/lib/hook’
==> default: ‘/tmp/lattice-build/lattice-cell/garden/skeleton/lib/hook-parent-before-clone.sh’ -> ‘/var/lattice/garden/skeleton/lib/hook-parent-before-clone.sh’
==> default: ‘/tmp/lattice-build/lattice-cell/garden/skeleton/lib/hook-child-after-pivot.sh’ -> ‘/var/lattice/garden/skeleton/lib/hook-child-after-pivot.sh’
==> default: ‘/tmp/lattice-build/lattice-cell/garden/skeleton/net_rate.sh’ -> ‘/var/lattice/garden/skeleton/net_rate.sh’
==> default: ‘/tmp/lattice-build/lattice-cell/garden/skeleton/setup.sh’ -> ‘/var/lattice/garden/skeleton/setup.sh’
==> default: ‘/tmp/lattice-build/lattice-cell/garden/skeleton/tmp’ -> ‘/var/lattice/garden/skeleton/tmp’
==> default: ‘/tmp/lattice-build/lattice-cell/garden/skeleton/tmp/.gitkeep’ -> ‘/var/lattice/garden/skeleton/tmp/.gitkeep’
==> default: Reading package lists...
==> default: Building dependency tree...
==> default: Reading state information...
==> default: gcc is already the newest version.
==> default: gcc set to manually installed.
==> default: 0 upgraded, 0 newly installed, 0 to remove and 30 not upgraded.
==> default: Reading package lists...
==> default: Building dependency tree...
==> default: Reading state information...
==> default: make is already the newest version.
==> default: make set to manually installed.
==> default: 0 upgraded, 0 newly installed, 0 to remove and 30 not upgraded.
==> default: Reading package lists...
==> default: Building dependency tree...
==> default: Reading state information...
==> default: Suggested packages:
==> default:   libnet-ldap-perl rpcbind portmap default-mta mail-transport-agent
==> default: The following NEW packages will be installed:
==> default:   quota
==> default: 0 upgraded, 1 newly installed, 0 to remove and 30 not upgraded.
==> default: Need to get 542 kB of archives.
==> default: After this operation, 1,438 kB of additional disk space will be used.
==> default: Get:1 http://us.archive.ubuntu.com/ubuntu/ trusty/main quota amd64 4.01-3 [542 kB]
==> default: dpkg-preconfigure: unable to re-open stdin: No such file or directory
==> default: Fetched 542 kB in 0s (1,039 kB/s)
==> default: Selecting previously unselected package quota.
==> default: (Reading database ... 89951 files and directories currently installed.)
==> default: Preparing to unpack .../quota_4.01-3_amd64.deb ...
==> default: Unpacking quota (4.01-3) ...
==> default: Processing triggers for ureadahead (0.100.0-16) ...
==> default: ureadahead will be reprofiled on next reboot
==> default: Processing triggers for man-db (<IP_ADDRESS>-1ubuntu1) ...
==> default: Setting up quota (4.01-3) ...
==> default: Processing triggers for ureadahead (0.100.0-16) ...
==> default: Reading package lists...
==> default: Building dependency tree...
==> default: Reading state information...
==> default: linux-image-extra-3.13.0-46-generic is already the newest version.
==> default: linux-image-extra-3.13.0-46-generic set to manually installed.
==> default: 0 upgraded, 0 newly installed, 0 to remove and 30 not upgraded.
==> default: bootstrap start/running
==> default: Finished Installing Lattice Cell (v0.2.2)!
==> default: Running provisioner: shell...
    default: Running: inline script
==> default: stdin: is not a tty
==> default: Lattice is now installed and running. You may target it with the Lattice cli via: ltc target <IP_ADDRESS>.xip.io

However, when I attempt an $ ltc target <IP_ADDRESS>.xip.io, I receive the error:
Michaels-MBP-2:~ mminella$ ltc target <IP_ADDRESS>.xip.io
Error verifying target: Get http://receptor.<IP_ADDRESS>.xip.io/v1/desired_lrps: dial tcp: lookup receptor.<IP_ADDRESS>.xip.io on <IP_ADDRESS>:53: no such host

I've seen others (@dsyer) report that their dns had trouble with this and they had dns to change to <IP_ADDRESS> or <IP_ADDRESS>.

i agree with @spencergibb that this looks like a dns problem .. the error looks like your router (<IP_ADDRESS>) is not resolving the lattice cluster at receptor.<IP_ADDRESS>.xip.io.  could you try updating your dns configuration to use <IP_ADDRESS> / <IP_ADDRESS> instead of <IP_ADDRESS> and see if that works?
if this doesn't work, we may need to look into setting up dnsmasq as an alternative

I had some similar issues. The main problem is, that the network interface is managed by our IT and thus can not be changed easily.

<IP_ADDRESS> seems to have addressed the issue, however, I honestly think I'd prefer going the dnsmasq route in the longer term...

Small update here.  Since I use my local gateway for some DNS settings, I need it to be first on my list of DNS servers.  However, this fails when it is first on the list (I need <IP_ADDRESS> first on the list).

That's not surprising.  A story has been prioritized in our backlog to document setting up dnsmasq so that we don't have to rely on xip.io for name resolution.  Sorry for the wait, but I think this will be your best bet rather than playing games with your DNS configuration.

Just an update, the document document has been delivered.
Please let me know if this works well with either Lattice v0.2.3 or Lattice v0.2.4 (just released today).
Closing this issue, but please feel free to re-open if this isn't addressed by the dnsmasq doc!
--
Marco Nicosia
Product Manager
Pivotal Software, Inc.


[kiali] pilot version endpoint is gone, use the new istiod replacement

fixes: https://github.com/istio/istio/issues/23677
pilot service version endpoint is gone in 1.6 - replaced with analogous version endpoint in the istiod service. Kiali needs to switch to using the new istiod endpoint.

In response to a cherrypick label: new pull request created: #23679


Stop trying to reliable send a message if we didn't receive an ack in too long

Just as a safety measure, on the send side, we want to prevent the reliable sender from keep trying to resend a message if we don't get any ack from the remote after a certain amount of time (maybe 3 seconds)?
Similar to: on the receive side, we stop trying to receive fragments if we didn't receive the entire fragment message in 30 seconds

Alternative to this would be to terminate the connection if the ack took too long


Can't get the extension to work on Edge

I don't know if this is actual bug or something with my configuration but I can't get the extension to work on Edge. When I open it I only see the loading image and nothing happens. If I click on "inspect popup" the console contains this
CONSOLE21301: serviceWorker.getRegistrations is rejected due to unsecure context or host restriction in ms-browser-extension://DissenterExtension_38934B2267E44D4A958195D27ADD1554/popup/popup.html.
Extension version 0.1.4, Edge version 44.17763.1.0

Hi @Eirenarch thank you for submitting an issue. Will investigate this issue.

Hi @Eirenarch, in the latest release of r9, the Dissenter Microsoft Edge extension is now working. https://github.com/gab-ai-inc/gab-dissenter-extension/releases/tag/r9


Cancel Player Interactions with the World

We should cancel block breaking by either setting the player in adventure mode or by setting a packet to cancel the action
Currently the player is set to adventure mode but it still can interact with buttons or trapdors

adventure mode is needed to be able to kill chickens in high grass imo

craft doesn't work
opening inventories doesn't work
doors are not a problem at the moment
item frame doesn't seems to work

must just prevent putting flowers into pots and i think we're good

additional infos on what adventure mode doesn't do https://bugs.mojang.com/browse/MC-109963


This solver cannot solve your circuit.

Hi. I was hoping to quickly try out different coupling circuits between two transmons and generate numerical Hamiltonians for the system in order to simulate CZ gate fidelities in time domain, but seems SQcircuit is unable to solve most of my circuits. It just gives ValueError: This solver cannot solve your circuit. I give the simplest example of my code here so one can replicate the problem.
My brief investigation suggests some accuracy check fails in circuit.py. If I remove the check, the code executes, but it sees 4 modes instead of 3 as there should be (easy to verify for example in qucat). I guess SQcircuit needs the number of nodes to correspond to the number of modes, but for arbitrary schematics this is often not the case.
I tried using qucat to generate Hamiltonians as well, but qucat only generates near diagonal H and eliminates the coupling terms I need for my simulations so I was hoping SQcircuit could solve my problem. A quick numerical test I did appeared to suggest SQcircuits might be usable the way I hoped for simple capacitively coupled transmons, but maybe not for more complicated circuits. Perhaps also worth mentioning is that to get correct eigenfrequencies even for capacitively coupled qubits, I had to use relatively high truncation number (maybe 10) which resulted in rather large numerical H compared to what would otherwise suffice if one derives it by hand (3) and while perhaps not an issue as such, it would slow down the numerical simulations quite a bit.
I'm not sure if these are bugs or features, but I just felt it might be worthwhile to bring into your attention what I was hoping for from SQcircuit and how I at least so far failed to reach it. Comments and suggestions are appreciated.

from numpy import *
import SQcircuit as sqc

J = 2.07e-15/2/pi/1e9/6.6e-34
C = 1.6e-19**2/2/1e9/6.6e-34
L = (2.07e-15/2/pi)**2/1e9/6.6e-34

CJ1 = sqc.Capacitor(C/85e-15)
JJ1 = sqc.Junction(J*32e-9*0.999)
Cc1 = sqc.Capacitor(C/40e-20)

Cr2A = sqc.Capacitor(C/117e-15)
Lr2 = sqc.Inductor(L/2.34e-9)
Cr2B = sqc.Capacitor(C/117e-15)

Cc2 = sqc.Capacitor(C/40e-20)
CJ2 = sqc.Capacitor(C/85e-15)
JJ2 = sqc.Junction(J*32e-9/0.999)

circuit = {(0, 1): [CJ1, JJ1],
           (1, 2): [Cc1],
           (0, 2): [Cr2A],
           (2, 3): [Lr2],
           (0, 3): [Cr2B],
           (3, 4): [Cc2],
           (0, 4): [CJ2, JJ2]}

cir = sqc.Circuit(circuit)
cir.description()

Hi @decod81,
Thanks for using SQcircuit and sharing your issue with us.
The error that you encountered is an old piece of code (I should have removed it). Basically, SQcircuit should be able to solve your problem. I will take a look at the circuit and I will get back to you. Probably there is a bug that I should fix.

Hi @decod81
Let me clarify several points regarding your issue.

Firstly, the reason the code gave you the error was a bug that I fixed (thanks to you) and it should be resolved in version 0.0.14 that I have already released. Let me know if you have any more issues.
Second, SQcircuit gives you all the modes, but some of the modes do not participate in the system's dynamic (we called them uncoupled modes in the paper). These modes (either charge or harmonic modes) do not have any flux term in JJ part of the Hamiltonian. For example, in your circuit, the fourth mode is a charge mode and does not have any flux in the JJ part. Therefore, you can omit this mode by setting its truncation number to 1. For example, in your circuit, you should do cir.set_trunc_nums([15, 9, 9, 1]). In future versions, we omit these modes internally and we just give the users modes that are part of the dynamic.
Third, as you mentioned for two Transmon coupled capacitively, If the coupling is weak, then dividing the system into two separate qubits is a better basis (the way that we analyze these circuits on the paper, and by better basis I mean a basis that needs smaller Hilbert Space to calculate lower eigenfrequencies). However, if the coupling is very strong that you can not partition your system to two Transmon anymore, the current version of SQcircuit is using a better basis. So it is not only about the size of the circuit parameters also matter.  Our current research is focused on how to detect these bases automatically and efficiently. In future versions of SQcircuit, this issue should be improved.

Thank you very much for the quick fix and clarifications.
Upon my quick testing it seems to work now most of the time. It did fail once though in the middle of a bunch of runs with the same message and then worked again with the next runs (working and failed runs were with identical parameters). I guess there is some random factor that causes fail every now and then, but as long as it doesn't become too frequent in some interesting parameter range, I think it's good.

Hi @decod81,
Thanks again for your great feedback. I noticed the problem. It is an issue with Gram–Schmidt process accuracy. I will fix it in the next patch (0.0.15).


Vim9: not enough info in error raised by custom Ex command

Describe the bug
In Vim9 script, an error raised by a custom Ex command doesn't always contain enough information.
To Reproduce
Run this shell command:
vim -Nu NONE -S <(cat <<'EOF'
    vim9script
    com -range=% Cmd script#bar(<line1>,<line2>)
    set rtp=/tmp/some
    var lines =<< trim END
        vim9script
        def script#foo()
            Cmd
        enddef
        def script#bar(line1: number, line2: number)
            echo 'the first line in the range is ' .. line1
            echo 'the second line in the range is ' .. line2
        enddef
    END
    mkdir('/tmp/some/autoload/', 'p')
    writefile(lines, '/tmp/some/autoload/script.vim')
    script#foo()
EOF
)

E1069 and E116 are raised:
E1069: White space required after ',': ,1)
E116: Invalid arguments for function script#bar(1,1)

This is expected.  But it's not obvious where the issue is coming from.  The error message is raised from the script#bar() function defined in the /tmp/some/autoload/script.vim script; because that's where :Cmd is executed.  But that's not where the issue really is.  The issue is in the definition of :Cmd in the first line of the first sourced script:
com -range=% Cmd script#bar(<line1>,<line2>)
                                  ^^^
                                   ✘

A whitespace is missing after the comma separating the function arguments.
That's a completely different location; different script and different scope (function level vs script level).
Expected behavior
The error message is a bit more verbose, and tells us from which line in which script the issue really is; i.e. where the command is defined.
Environment

Vim version: 8.2 Included patches: 1-2529
OS: Ubuntu 16.04.7 LTS
Terminal: xterm(366)

Additional context
A more verbose error message was suggested in this comment.

The Vim9 syntax has changed quite a bit since the issue was open.  Updated snippet:
vim9script
&runtimepath = '/tmp/some'
import autoload 'script.vim'
com -range=% Cmd script.Bar(<line1>,<line2>)
var lines =<< trim END
    vim9script
    export def Foo()
        Cmd
    enddef
    export def Bar(line1: number, line2: number)
        echo 'the first line in the range is ' .. line1
        echo 'the second line in the range is ' .. line2
    enddef
END
mkdir('/tmp/some/autoload/', 'p')
writefile(lines, '/tmp/some/autoload/script.vim')
script.Foo()


Footer HTML does not display

I have edited the footer HTML but nothing is displaying. The "Powered by expressCart" does hide itself though for some reason.

Can you give an example? A screenshot?

Hey @mrvautin, you can find the test website here where you can see no footer being displayed, despite having custom footer HTML set in the config.

Could you post your settings.json file?


Best practices

What would be a safe way to implement read/write rights from 2 different connections? I'm hitting an occasional SQLITE_BUSY and need to eliminate it. Currently the database is accessed from 2 completely different projects, and both of them have several different modules with each their own sqlite3.Database object, all pointing to the same file.
I assume using only one connection per project would eliminate some of them, but I still need 2 connections to the database at the same time, with read/write access. According to the sqlite3 docs this will always be a risk. Any advice, or are there built-in options to use that I'm missing?

Good questions. I don't know the answer, but there is some discussion that might help at https://github.com/mapbox/node-sqlite3/issues/9 /cc @kkaefer

This isn't possible with SQLite.

Yeah I figured that much. Solved it with a wrapper module that maintains a single read/write connection and exposed an API to localhost only to allow the other project access. Not ideal but it gets the job done without failures.

Wait, what? What do you mean "isn't possible"?    I've use the SQLite Busy Handler for years and set the handler to do a linearly increasing usleep.

@michael-ts you might be able to do that, but there's not guarantee that you're not running into a starvation issue. SQLite isn't built for concurrency (it is not one of the design goals), so when you try to use it concurrently anyway, you sort of just hope for the best.


Kaitai-Wasm: add data_count_section, fix custom section

Hi,
First of all, thanks for the excellent idea of implementing the spec using Kaitai :)
I've been looking for a proper parser for Java and I either found outdated libraries or bulky bundles.
While trying to parse the object files produced by Emscripten, I realized that this version of the grammar does not support Data Count Sections (id 12) and did not parse custom section correctly (the repeated length did not take into account the name and name_len fields; so here's a PR that should handle both cases.
This seems to be properly working both on the live IDE and on the Java version (your Python script seems broken though)
It would be really worth it to re-submit it to the gallery https://github.com/kaitai-io/kaitai_struct_formats/issues/158

Hi I am the person who wrote the tools in this repo but I don't work at Sophos any longer, and my rights have been revoked so I can't merge your PR.
Sorry about that.
Cheers

Thanks @hugsy, unless there is interest from @sophoslabs then I suppose I may continue to work on this on my own fork/repo :)

Sure go ahead, good luck 👍


Add Support for S^2

What does this PR do?
This PR integrates S2 into LLaVA-NeXT.
What is S2?
S2 is a method to extract multi-scale features from an image. For example, given an image of 336x336, S2 interpolates the image to multiple scales such as 336x336, 672x672, 1008x1008, extracts features at each scale and merge the features into a multi-scale feature map. The multi-scale features contain more detailed information about an image which is beneficial for Multimodal LLMs. Meanwhile, S2 ensures the number of visual token sent to LLM is the same as the regular single-scale features such that no computational overhead on LLM is incurred.
Please find more details in the S2 paper and GitHub repo.
What does this PR contain?
There are two changes in this PR.

A new class of CLIPVisionTowerS2 is defined in llava/model/multimodal_encoder/clip_encoder.py which augments a clip model with S2. This class is the same as the original CLIPVisionTower class except that it will return a multi-scale feature map instead of a single-scale feature map when forward is called. The multi-scale feature map has the same shape as the single-scale one, except on the channel dimension where multi-scale features have num_scales * original_dim dimensions (as defined in self.hidden_size).
llava/model/multimodal_encoder/builder.py is modified so that it will build CLIPVisionTowerS2 instead of CLIPVisionTower when S2 is used.

How to train LLaVA with S2?
First install s2wrapper through pip:
pip install git+https://github.com/bfshi/scaling_on_scales.git

This package only has one dependency of einops, so installing it shouldn't interfere with your environment.
Training configurations should be the same as training a regular LLaVA without anyres (i.e., image_aspect_ratio="pad" and mm_patch_merge_type="flat"), except for two new model configs:

s2=True. This turns on the usage of S2.
s2_scales="336,672,1008". This specifies the image scales S2 will extract features on.

Thanks!

when adding --s2 true and --s2 scales in my training config, I get an error that they are not recognised by hfarguments.

should not the model arguments be also changed to include s2 and s2_scales?

Hi @lightingvector,
Yes that's correct. Currently this PR only supports running and evaluating an already pre-trained LLaVA with S2. If you want to train LLaVA with S2 you need to add s2 and s2_scales in ModelArguments (here). You also need to store these two arguments into model.args here so that they will be saved to the checkpoint.
Thanks for pointing it out!

Hi @diridiri,
Thanks for the interest! Yes, you need to train a mm_projector with the new hidden size. For results of S2 on other benchmarks, please refer to Table 11 in Appendix D in the paper. We are planning to release the checkpoint for LLaVA1.5 with S2 soon. For LLaVA1.6, since the training code is not released yet, we don't have the checkpoints currently.

Thanks for pointing this out! Yeah, probably the simplest fix is defining self.s2_scales, self.s2_split_size, self.s2_image_size before calling super().__init__(vision_tower, args, delay_load). In the meantime this range can be deleted. Will update this.

Hello,
Is this meant to support quantization? When I load a model with load_8bit=True (bitsandbytes), I get this error on inference:
File E:\llava1.6-ui\venv\Lib\site-packages\bitsandbytes\functional.py:2290, in igemmlt(A, B, SA, SB, out, Sout, dtype)
   2288 assert SB[1] in ["col_turing", "col_ampere"]
   2289 assert Sout[1] == "col32"
-> 2290 assert (
   2291     shapeA[-1] == shapeB[-1]
   2292 ), f"Matmullt only supports A @ B^T. Inner matrix dimensions do not match: A @ B = {shapeA} @ {shapeB}"
   2293 formatB = SB[1]
   2294 prev_device = A.device

AssertionError: Matmullt only supports A @ B^T. Inner matrix dimensions do not match: A @ B = torch.Size([576, 3072]) @ torch.Size([7168, 1024])

Whereas CLIPVisionTower works fine

Full stack trace
```
Cell In[3], line 163, in Context.generate(self, print_output, print_context)
    161 print('Inferring...')
    162 with torch.inference_mode():
--> 163     output_ids = model.generate(self.ready_tokens,
    164                                 images=self.image,
    165                                 do_sample=False,
    166                                 # temperature=0.0,
    167                                 max_new_tokens=16384,
    168                                 use_cache=True,
    169                                 # stopping_criteria=stopping_criteria
    170                                 )
    172 output_str = (tokenizer.decode(output_ids[0][:]).strip()
    173               .removeprefix('<|startoftext|>').lstrip())
    175 if self.context and self.context[-1].preset_reply:
    176     # Reset its unfinished state
File E:\llava1.6-ui\venv\Lib\site-packages\torch\utils_contextlib.py:115, in context_decorator..decorate_context(*args, **kwargs)
112 @functools.wraps(func)
113 def decorate_context(*args, **kwargs):
114     with ctx_factory():
--> 115         return func(*args, **kwargs)
File E:\llava1.6-ui\llava\model\language_model\llava_llama.py:125, in LlavaLlamaForCausalLM.generate(self, inputs, images, image_sizes, **kwargs)
115     raise NotImplementedError("inputs_embeds is not supported")
117 if images is not None:
118     (
119         inputs,
120         position_ids,
121         attention_mask,
122         _,
123         inputs_embeds,
124         _
--> 125     ) = self.prepare_inputs_labels_for_multimodal(
126         inputs,
127         position_ids,
128         attention_mask,
129         None,
130         None,
131         images,
132         image_sizes=image_sizes
133     )
134 else:
135     inputs_embeds = self.get_model().embed_tokens(inputs)
File E:\llava1.6-ui\llava\model\llava_arch.py:202, in LlavaMetaForCausalLM.prepare_inputs_labels_for_multimodal(self, input_ids, position_ids, attention_mask, past_key_values, labels, images, image_sizes)
200         raise ValueError(f"Unexpected mm_patch_merge_type: {self.config.mm_patch_merge_type}")
201 else:
--> 202     image_features = self.encode_images(images)
204 # TODO: image start / end is not implemented here to support pretraining.
205 if getattr(self.config, 'tune_mm_mlp_adapter', False) and getattr(self.config, 'mm_use_im_start_end', False):
File E:\llava1.6-ui\llava\model\llava_arch.py:142, in LlavaMetaForCausalLM.encode_images(self, images)
140 def encode_images(self, images):
141     image_features = self.get_model().get_vision_tower()(images)
--> 142     image_features = self.get_model().mm_projector(image_features)
143     return image_features
File E:\llava1.6-ui\venv\Lib\site-packages\torch\nn\modules\module.py:1511, in Module._wrapped_call_impl(self, *args, **kwargs)
1509     return self._compiled_call_impl(*args, **kwargs)  # type: ignore[misc]
1510 else:
-> 1511     return self._call_impl(*args, **kwargs)
File E:\llava1.6-ui\venv\Lib\site-packages\torch\nn\modules\module.py:1520, in Module._call_impl(self, *args, **kwargs)
1515 # If we don't have any hooks, we want to skip the rest of the logic in
1516 # this function, and just call forward.
1517 if not (self._backward_hooks or self._backward_pre_hooks or self._forward_hooks or self._forward_pre_hooks
1518         or _global_backward_pre_hooks or _global_backward_hooks
1519         or _global_forward_hooks or _global_forward_pre_hooks):
-> 1520     return forward_call(*args, **kwargs)
1522 try:
1523     result = None
File E:\llava1.6-ui\venv\Lib\site-packages\accelerate\hooks.py:165, in add_hook_to_module..new_forward(*args, **kwargs)
163         output = old_forward(*args, **kwargs)
164 else:
--> 165     output = old_forward(*args, **kwargs)
166 return module._hf_hook.post_forward(module, output)
File E:\llava1.6-ui\venv\Lib\site-packages\torch\nn\modules\container.py:217, in Sequential.forward(self, input)
215 def forward(self, input):
216     for module in self:
--> 217         input = module(input)
218     return input
File E:\llava1.6-ui\venv\Lib\site-packages\torch\nn\modules\module.py:1511, in Module._wrapped_call_impl(self, *args, **kwargs)
1509     return self._compiled_call_impl(*args, **kwargs)  # type: ignore[misc]
1510 else:
-> 1511     return self._call_impl(*args, **kwargs)
File E:\llava1.6-ui\venv\Lib\site-packages\torch\nn\modules\module.py:1520, in Module._call_impl(self, *args, **kwargs)
1515 # If we don't have any hooks, we want to skip the rest of the logic in
1516 # this function, and just call forward.
1517 if not (self._backward_hooks or self._backward_pre_hooks or self._forward_hooks or self._forward_pre_hooks
1518         or _global_backward_pre_hooks or _global_backward_hooks
1519         or _global_forward_hooks or _global_forward_pre_hooks):
-> 1520     return forward_call(*args, **kwargs)
1522 try:
1523     result = None
File E:\llava1.6-ui\venv\Lib\site-packages\accelerate\hooks.py:165, in add_hook_to_module..new_forward(*args, **kwargs)
163         output = old_forward(*args, **kwargs)
164 else:
--> 165     output = old_forward(*args, **kwargs)
166 return module._hf_hook.post_forward(module, output)
File E:\llava1.6-ui\venv\Lib\site-packages\bitsandbytes\nn\modules.py:797, in Linear8bitLt.forward(self, x)
794 if self.bias is not None and self.bias.dtype != x.dtype:
795     self.bias.data = self.bias.data.to(x.dtype)
--> 797 out = bnb.matmul(x, self.weight, bias=self.bias, state=self.state)
799 if not self.state.has_fp16_weights:
800     if self.state.CB is not None and self.state.CxB is not None:
801         # we converted 8-bit row major to turing/ampere format in the first inference pass
802         # we no longer need the row-major weight
File E:\llava1.6-ui\venv\Lib\site-packages\bitsandbytes\autograd_functions.py:556, in matmul(A, B, out, state, threshold, bias)
554 if threshold > 0.0:
555     state.threshold = threshold
--> 556 return MatMul8bitLt.apply(A, B, out, bias, state)
File E:\llava1.6-ui\venv\Lib\site-packages\torch\autograd\function.py:553, in Function.apply(cls, *args, **kwargs)
550 if not torch._C._are_functorch_transforms_active():
551     # See NOTE: [functorch vjp and autograd interaction]
552     args = _functorch.utils.unwrap_dead_wrappers(args)
--> 553     return super().apply(*args, **kwargs)  # type: ignore[misc]
555 if not is_setup_ctx_defined:
556     raise RuntimeError(
557         "In order to use an autograd.Function with functorch transforms "
558         "(vmap, grad, jvp, jacrev, ...), it must override the setup_context "
559         "staticmethod. For more details, please see "
560         "https://pytorch.org/docs/master/notes/extending.func.html"
561     )
File E:\llava1.6-ui\venv\Lib\site-packages\bitsandbytes\autograd_functions.py:395, in MatMul8bitLt.forward(ctx, A, B, out, bias, state)
393 if using_igemmlt:
394     C32A, SA = F.transform(CA, "col32")
--> 395     out32, Sout32 = F.igemmlt(C32A, state.CxB, SA, state.SB)
396     if bias is None or bias.dtype == torch.float16:
397         # we apply the fused bias here
398         output = F.mm_dequant(out32, Sout32, SCA, state.SCB, bias=bias)
File E:\llava1.6-ui\venv\Lib\site-packages\bitsandbytes\functional.py:2290, in igemmlt(A, B, SA, SB, out, Sout, dtype)
2288 assert SB[1] in ["col_turing", "col_ampere"]
2289 assert Sout[1] == "col32"
-> 2290 assert (
2291     shapeA[-1] == shapeB[-1]
2292 ), f"Matmullt only supports A @ B^T. Inner matrix dimensions do not match: A @ B = {shapeA} @ {shapeB}"
2293 formatB = SB[1]
2294 prev_device = A.device
AssertionError: Matmullt only supports A @ B^T. Inner matrix dimensions do not match: A @ B = torch.Size([576, 3072]) @ torch.Size([7168, 1024])
</details>

Hi @VldmrB, are you evaluating with CLIPVisionTowerS2? Did you train a model with S2 or did you use the LLaVA checkpoint trained without S2?

Hi @VldmrB, are you evaluating with CLIPVisionTowerS2? Did you train a model with S2 or did you use the LLaVA checkpoint trained without S2?

Hello
I'm only evaluating/inferring with S2, I did not train any model with it. Oh...

Yes that's correct. Currently this PR only supports running and evaluating an already pre-trained LLaVA with S2

I just realized that you already mentioned that it will only work with a model trained with S2. My apologies, I misread it earlier. Thanks for doing this, in any case

Hi @bfshi ,Thaks for your great work. Has the checkpoint for LLaVA1.5 with S2 been released yet?

Hi @yanbai1993,
Yes! Please see here in the S2 repo.


[QUESTION]

❓ Questions and Help
Before asking:

Search for similar issues.
Search the docs.

What is your question?

There seems to be a huge code difference between the repository and the pip-installed version. Which pip-installed version matches the most with the current repository?

Suppose my pip-installed version needs this CLI command: "comet score -s src.de -h hyp1.en -r ref.en", where the repository says to give this CLI commad "comet-score -s src.de -t hyp1.en -r ref.en".

My python version is 3.6.9. Poetry does not seem to work for python < 3.7. Do you have any suggestions?
**Installing dependencies from lock file

SolverProblemError
The current project's Python requirement (3.6.9) is not compatible with some of the required packages Python requirement:
- scipy requires Python >=3.7, so it will not be satisfied for Python 3.6.9
Because scipy (1.6.1) requires Python >=3.7
and no versions of scipy match >=1.5.4,<1.6.1 || >1.6.1, scipy is forbidden.
So, because unbabel-comet depends on scipy (>=1.5.4), version solving failed.
at ~/research/lib/python3.6/site-packages/poetry/puzzle/solver.py:241 in _solve
237│             packages = result.packages
238│         except OverrideNeeded as e:
239│             return self.solve_in_compatibility_mode(e.overrides, use_latest=use_latest)
240│         except SolveFailure as e:
→ 241│             raise SolverProblemError(e)
242│
243│         results = dict(
244│             depth_first_search(
245│                 PackageNode(self._package, packages), aggregate_package_nodes
• Check your dependencies Python requirement: The Python requirement can be specified via the python or markers properties
For scipy, a possible solution would be to set the `python` property to "<empty>"

https://python-poetry.org/docs/dependency-specification/#python-restricted-dependencies,
https://python-poetry.org/docs/dependency-specification/#using-environment-markers

**

I get this error if I try to train the comet using the regression config given in the repository. this
**comet-train: error: Parser key "trainer": Problem with given class_path "pytorch_lightning.trainer.trainer.Trainer":

'Configuration check failed :: No action for key "devices" to check its value.'**

Code

What have you tried?
What's your environment?

OS: [Ubuntu]
Packaging [pip]
Version []

Hi @mahfuzibnalam!
unbabel-comet==1.1.2 and 1.1.1 match the code in the README. You have a constraint in python 3.6 I see.. have you tried older versions? For example 1.0.0, 1.0.1 or even 0.1.0?
You can find the corresponding READMEs here. The interface does not change much. The default models are also all there.

If not I can look deeper into these requirements and see if there is a simples way for you to install it.

Hello @ricardorei,
Thank you for fast replying.
For this command: "pip install unbabel-comet==1.0.0"
I get,
"ERROR: Could not find a version that satisfies the requirement unbabel-comet==1.0.0 (from versions: 0.0.1, 0.0.2, 0.0.3, 0.0.4, 0.0.6, 0.0.6.post1, 0.0.6.post2, 0.0.7, 0.1.0, 1.0.0rc1, 1.0.0rc2, 1.0.0rc3, 1.0.0rc4, 1.0.0rc5, 1.0.0rc6, 1.0.0rc7, 1.0.0rc8, 1.0.0rc9)
ERROR: No matching distribution found for unbabel-comet==1.0.0"
Mainly I need to work locally on this repository. Or if I can get the configs file of that specific version, that is also super helpful.


UTC timestamps for mediapipe data

How can I get UTC timestamps from mediapipe landmark data?

Hi @EigenSpiral, You can refer this class for timestamp in calculator framework


Remove accidentally added shader code

Leeor may re-add this sometime in the future after more development and testing.

Merging so build of master will be runnable.


chore(main): release 2.2.0

:robot: I have created a release beep boop
2.2.0 (2022-10-25)
Features

add neo4j dbinfo queries (de800bd)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/socialgene/sgpy/releases/tag/v2.2.0 :sunflower:


feat: add an example for necessary side effects

In the event flow process, it's sometimes required to execute side effects as a result of some action.
In my real world usage at Instacart, I had the following requirement:

I have a polling endpoint that checks to see if our "systems" are online
if system is not online, show "systems offline"
if systems are online, show "systems online"
but also pull the latest order information (this is basically a new event that needs to be launched, but without an explicit user input!

so we'd need a way to send back new "events" into the events-> results function. Basically we need a side-effect introduced without necessarily making the function "impure"
I'll have to come up with an example that works in this movie search case. Probably have a polling endpoint that shows a random recommendation for a movie, every 1 minute. If recommendations are available, allow those to be clicked and added to the history list as well.

https://github.com/kaushikgopal/movies-usf/pull/8 contains a simple example of this. Showing a one-time Toast when we add to the history.


autorelease for abis and contracts

Description
Modifies the existing abi release workflow to work when
A) push (pr closed) on release/core-contracts/N branch happens (publish canary)
B) a valid npm tag is given (publish as that tag)
C) a github tag matching core-contracts.vXX.pre-audit (publish pre-audit) or core-contracts.vXX.post-audit is created (publish latest)
Other notes
the script bases versions off @celo/contracts but is used to version both @celo/contracts and @celo/abis
Tested
ran locally
Related issues
Backwards compatibility
no. instead of passing in a version to run manually only npm tag is allowed.
Documentation
n/a

@soloseng the script for publishing celo-devchain could use this same script to get the version

wait to merge till it doenst fail

pending: add "test:scripts" to workflow

I think we can merge this now.