Rebase on object_store

https://crates.io/crates/object_store
Pros

Offload complexity of different backends, gaining any new implementations for free
More consistent (and probably better thought out) interface
Async-first, which we should be moving towards anyway

Cons

Probably still need wrapper types so that we can implement backends they don't have
May not fit perfectly with our data model
WASM doesn't support cloud stores due to reqwests: https://github.com/apache/arrow-rs/issues/4776
We use traits a lot, and async methods on traits aren't stable yet, but may be as of 2023-12-28
get and get_range{s} use an async stream wrapping a Bytes respectively; both would need wrapping over
doesn't allow suffix ranges yet https://github.com/apache/arrow-rs/issues/4611

With any move to async, BB codecs in particular would need major rewrites, and make use of https://crates.io/crates/async-compression for compression.

Async traits are stable, and object-store has a release candidate with suffix requests, so this can get going.
Some design decisions tie in to the async strategy.
object-store asynchronously provides the whole block of bytes rather than a reader. IRL anything providing a Read/ Write interface will probably be doing so over an opaque buffer anyway, and chunks should be small compared to RAM so I don't think this is a problem. The difference is how that buffer is allocated, I suppose.
Async functions should not block, i.e. all CPU-heavy functions (e.g. compression) should be pushed down into async functions. But at the end of the day, these are probably just going to call spawn_blocking, which has its own overhead, especially if we're doing lots of small reads, as we expect to be. We like the async nature of the original fetch, because there's waiting involved, but don't get a lot from async read/write through the codec chain. It might be better, therefore, to have CPU-heavy blocking code inside the (async) codec chain, with the expectation that the caller tucks each chunk's codec chain into a spawn_blocking to parallelise it at the top level (fetching multiple chunks to make a multi-chunk read).
@JackKelly has probably thought about concurrency models as they apply to IO more than I have - any thoughts? The options are

have BB codecs asynchronously return a Bytes object rather than an (async)reader, putting blocking code into that async function on the basis that concurrency should be controlled by thread spawning higher up the chain. This is easier than the alternative.
have BB codecs return async readers/ writers, more like the current API.  This might end up spawning more threads (under the hood) and so introducing more overhead, but may be more RAM efficient depending on the buffering done by each codec.

Incompatibilities

object_store has no partial writes - does HTTP?!
object_store get_ranges all uses the same location. This isn't insurmountable, just annoying to map back and forth over

Hey Chris! This all sounds very interesting.
FWIW, I've been slowly hacking away on light-speed-io. I'm currently focused on using io_uring to fetch large numbers of chunks from local disks. light-speed-io isn't a Zarr implementation. Instead the aim is to provide an easy-to-use API for fetching large numbers of chunks of files concurrently, using different optimisations for different storage systems. I'm toying with the idea of having light-speed-io take a user-supplied function, so light-speed-io can also orchestrate (and parallelise) the processing of each chunk. Or maybe light-speed-io will just expose an iterator of loaded chunks, and it'll be entirely the user's responsibility to
On the topic of async: I was originally thinking of using async. But I've shifted towards using rayon to process chunks in parallel. And all the async IO will be handled by the operating system (using io_uring).  Here's some very hacky proof-of-concept rust code using io_uring and Rayon.
One day, I'd hope that light-speed-io could be the IO backend for zarr3-rs. But that day isn't today! It'll be months before light-speed-io does anything very useful, and even longer before light-speed-io has mature support for cloud storage, so I wouldn't want to block your work!


Barback should ensure that assets are properly finalized

 Issue by nex3
Originally opened as dart-lang/sdk#14188

When Barback passes Asset objects to Transformers via [isPrimary] and [apply], it's possible for those Transformers to open the Asset's stream for reading without properly closing it afterwards. This can create resource leaks that will become a problem in a long-running "pub serve" process. Since barback knows when an Asset is no longer in use by a transformer, it should close those Assets' streams.

 Comment by anders-sandholm

Removed Library-Barback label.
Added Pkg-Barback label.

 Comment by nex3

After investigating this further, I don't think it's likely for a transformer to cause an asset's content not to be garbage collected. I've tried several ways of reproducing this locally, but none of them seem to have memory consumption patterns that relate to whether or not transformers leave streams unread or partially-read. Barback clearly has memory leak issues, but I don't think this is the culprit.

Added Invalid label.

 Comment by nex3

Marked this as blocking dart-lang/pub#647.


@debug directives print in plain text

@debug('dump')
@debug('hierarchy')
@debug('controller')

Each line in my view outputs in plain text on the page. I am running Sage 9.
Am I missing any instructions other than installing this package in my sage theme directory via Composer?
Please let me know if I can provide any more information that may be helpful, thanks.

Sounds right, how were you expecting the output?

As per the readme I was expecting to see the lists echoed out mentioned in the Blade Debugging section, but only see the directives themselves being printed. I just have those 3 lines at the top of my view front-page.blade.php, is my usage incorrect? I just wanted to see what they produce for future debugging.
Cheers

Hmm, ok, doesn't sound right.  Can you send through a screengrab perhaps, and the code? I will see if I can try to replicate.

I took these steps:

In my sage theme folder: composer require soberwp/controller:9.0.0-beta.3
Created directory themes/sage/resources/controllers/
Copied the example App controller, named App.php inside above mentioned controllers directory

Here is a screengrab of my view and controller:

And here are my current results:

Please let me know if I could provide any more helpful info
Cheers

@ben-sharp did you manage to get this working? I haven't been able to recreate.

@darrenjacoby pardon the late response, the fault was on my end with a different composer setup.


KeyVault Backlog

This issue is tracking the work that is on the KeyVault backlog.
Items that are associated with this Epic must be triaged into the Epic.

Closing since we've moved away from ZenHub tracking with epics.


Qwikswitch fix listen loop

Description:
New library 0.92

Fix the listen loop for buttons & events

Example entry for configuration.yaml (if applicable):
qwikswitch:

Checklist:

[x] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass
[x] There is no commented out code in this PR.

If the code communicates with devices, web services, or third-party tools:

[x] New dependencies have been added to the REQUIREMENTS variable (example).
[x] New dependencies are only imported inside functions that use them (example).
[x] New or updated dependencies have been added to requirements_all.txt by running script/gen_requirements_all.py.

CI
Traceback (most recent call last):
  File "/home/circleci/repo/homeassistant/helpers/entity_platform.py", line 126, in _async_setup_platform
    SLOW_SETUP_MAX_WAIT, loop=hass.loop)
  File "/usr/local/lib/python3.5/asyncio/tasks.py", line 406, in wait_for
    return fut.result()
  File "/usr/local/lib/python3.5/asyncio/futures.py", line 294, in result
    raise self._exception
  File "/usr/local/lib/python3.5/asyncio/tasks.py", line 240, in _step
    result = coro.send(None)
  File "/home/circleci/repo/homeassistant/components/qwikswitch/binary_sensor.py", line 27, in async_setup_platform
    devs = [QSBinarySensor(sensor) for sensor in discovery_info[QWIKSWITCH]]
  File "/home/circleci/repo/homeassistant/components/qwikswitch/binary_sensor.py", line 27, in <listcomp>
    devs = [QSBinarySensor(sensor) for sensor in discovery_info[QWIKSWITCH]]
  File "/home/circleci/repo/homeassistant/components/qwikswitch/binary_sensor.py", line 38, in __init__
    from pyqwikswitch import SENSORS
ImportError: cannot import name 'SENSORS'

Those were missed by lazytox.py :-/
Less sleeping in the loop also means the unit tests are wrong & still needs some work...


Could you update to Markdig 0.15.7?

Thanks!

So that's it? No explanation to why I should do that?
Are you going to pay me? What if I say no?

Sorry, didn't mean to offend you:
So that's it? No explanation to why I should do that?
You set the nuget dependency to Markdig (= 0.15.5). That means I can't update Markdig itself to the latest version.
Are you going to pay me? What if I say no? 😉
I could create a pull request for it if you want, or fork your nice work.

@Tokter I was being a bit sarcastic (and a bit tired from work), sorry 😄
The reason the version is set to exactly match Markdig is because of issue #20.
I have updated the version to markdig 0.16.0 and a package is being published (make take a few hours before being visible).


Adding new static method ContentBlock.create

Background:
Relying on the ContentBlock constructor for record creation means that the user would have to create a valid characterList matching the length of the text passed. It makes sense to simplify the API a bit by allowing the characterList to be optional.
This fixes: https://github.com/facebook/draft-js/issues/1455

First off - I think you are right that folks commonly do this. We have several examples of it internally.
That said - I remember you and I were just discussing how there are too many ways to do the same thing with Draft.js, and how our overall goal is to shrink the API.
Could we achieve this same operation with Modifier.insertText, or even AtomicBlockUtils.insertAtomicBlock? And if not, should we consider deprecating some of those helpers in favor of this?
What do you think of having some guidelines about what we will consider for new APIs? We could discuss it at the next Draft sync.

I agree with you 100%, will revisit this PR to figure out a long term solution for it.

Hi @flarnie,
Updated the logic to be inside of the constructor and removed the static create method.


Extract title from getNew posts

How would I get the title of the posts I've pulled into my console from getNew?
r.getSubreddit('testingground4bots').getNew().then(console.log)

Each post has a title property that has the title of the post.
You could do something like
r.getSubreddit('testinggrount4bots').getNew().then(posts => {
  const titles = posts.map(post => post.title);

  // Do something with titles, e.g. print them out
  console.log(titles);
});


expo detached app ios build failed after setup this sdk

I have followed the instructions for React Naive SDK setup and got the following error message in compiling ios building in my expo detached xcode project.
/React/Core/Base/RCTConvert.h:13:9: 'React/RCTAnimationType.h' file not found

Hi @proguru58 , this indicates a linking error with React Native. Can you describe what steps you used after detaching?
PS: we’re about to come out with an update that will make it much easier to use OneSignal in Expo projects. You still won’t be able to receive push notifications before you detach using OS, but you will at least be able to run your app in Expo.
Sent with GitHawk

Your particular issue is not an issue with the OneSignal SDK, it's a linking issue with react native in general.
However, we've changed the SDK so that it will no longer crash Expo projects before being detached. This means you can develop with Expo without having to do any fancy conditional imports of the SDK. It won't actually work, any calls to OneSignal functions won't actually do anything, but at least it won't crash.


Update ResizeCanvasDialog.cs

Сonstant aspect ratio is disabled by default, default anchor position moved to NW, changed default size from percent to absolute

Yes, I fixed it


New "Looking For" checkbox: "a Switch"

Choosing two single roles is not the same as asking for a Switch; it only increases the number of mono-role users who contact you.

Crumbs


noble install error - unlock target is not locked

OSX 10.10.2, node 0.10.25, npm 2.7.1, noble 0.3.10
When I try to install noble, I get an error related to unlocking another package that is not locked.  Sometimes it is debug, sometimes it is xpc-connection.  For example:

npm ERR! Attempt to unlock /Users/Finson/node_modules/noble/node_modules/xpc-connection, which hasn't been locked

A screen cap and npm-debug.log are online: https://gist.github.com/finson/8e22caf6dc8763ed5973.
Any thoughts?  Thanks.
Doug Johnson

@finson please try the latest (v0.3.11), I've removed the install.js script and made xpc-connection an optional dependency: 9650f722f5dca9ea49d6e95c21d863974e4c88a4

Success!  Thank you Sandeep. FYI, here's the console output.  Doug
holly:~/Documents/ollie$ sudo npm install noble
/
><EMAIL_ADDRESS>install /Users/Finson/Documents/ollie/node_modules/noble/node_modules/xpc-connection
> node-gyp rebuild

  CXX(target) Release/obj.target/binding/src/XpcConnection.o
  SOLINK_MODULE(target) Release/binding.node
  SOLINK_MODULE(target) Release/binding.node: Finished

><EMAIL_ADDRESS>install /Users/Finson/Documents/ollie/node_modules/noble
> node-gyp rebuild

  LINK(target) Release/hci-ble
  LINK(target) Release/hci-ble: Finished
  LINK(target) Release/l2cap-ble
  LINK(target) Release/l2cap-ble: Finished
<EMAIL_ADDRESS>node_modules/noble
├──<EMAIL_ADDRESS>└──<EMAIL_ADDRESS><EMAIL_ADDRESS>holly:~/Documents/ollie$


Fixed some 'deprecate' warnings

Good to keep these reps in shape. Cheers.

Thank you for merging this, these 'deprecated' warnings were so annoying. :D


Shaders in opengl3 renderer do not interpolate texture

Godot version
v4.0.beta10.official.d0398f62f
System information
archlinux; vulkan on dedicated NVIDIA GeForce RTX 3060 Laptop GPU; opengl3 on integrated AMD Radeon Graphics (renoir, LLVM 14.0.6, DRM 3.49, 6.1.1-arch1-1)
Issue description
Setting the albedo in the fragment shader based on a sampled texture does not do any interpolation between the pixels of the texture with the opengl3 renderer.
Example of viewing a quadmesh with a green texture in opengl3:

Same view with the vulkan renderer:

(the brightness seems to be a different problem)
used texture:

Shader:
render_mode world_vertex_coords, unshaded;

uniform sampler2D tex;

void fragment() {
	ALBEDO = texture(tex, UV).xyz;
}

Steps to reproduce

Create a mesh with the shader mentioned above
View that mesh from up close with the opengl3 renderer

Minimal reproduction project
texturebrightness.zip

Does it work if you use uniform sampler2D tex : filter_linear;?

Indeed it sounds like the OpenGL renderer isn't using the same defaults as the Vulkan renderer. It should.

Yes, using filter_linear fixed it.
In my full project I had to use filter_linear_mipmap to get the correct results. It seems like the mipmap was not included in the opengl defaults either

Another default mismatch exists with repeat_enable. The opengl render will default to repeat_enable but vulcan uses repeat_disable by default.

This was fixed yesterday in https://github.com/godotengine/godot/pull/71011 the defaults should be good now.


can i compile it with xcode? on theos rootless I get a compile failed error

can i compile it with xcode? on theos rootless I get a compile failed error

what error do you get?

https://scontent.fdad3-1.fna.fbcdn.net/v/t1.15752-9/384557885_1057465235277125_6965639936346114531_n.jpg?_nc_cat=103&ccb=1-7&_nc_sid=8cd0a2&_nc_ohc=IvCa3WrfB6wAX-d7i7h&_nc_ht=scontent.fdad3-1.fna&oh=03_AdQTKvPLWpG2dxPEt9X4vsrSPrUu021QmlQ2w7TG74YloQ&oe=6571873E
I have the error as shown in the picture, previous versions did not error

Maybe you didn't clone the submodules?
Try
git clone --recursive https://github.com/MJx0/iOS_UE4Dumper.git

Thanks bro, this working ❤❤

Can’t make package rootless, how to fix bro

How did you install theos on your device? could be an issue with installation

Am follow iosgods install theos rootless

I can't reproduce this error on my end. By the way why are you using root to compile the project? Did you perhaps also install theos with root? The instructions say to install theos as normal user (mobile) not root

what sdk you use?


Overriding entrypoint when starting the (test)container

Describe the "bug"
I'm trying to create a test-container that starts mosquitto. Because I cannot override the entrypoint at container start time, I cannot properly start mosquitto with a custom configuration, which can only be added tot the container after it has been started, at which time I need the entrypoint not to have started mosquitto (yet).
I would have expected that I could override the entrypoint, like one can do when manually starting a container via docker like this:
docker run -it --rm --entrypoint='' eclipse-mosquitto /bin/sh
or like you can do when using testcontainer for .NET as documented here.
It's currently possible to override them command (Cmd), but not the entrypoint...
Runtime environment

I'm running on MacOS 14.0 (23A344) (Sonoma)
I'm using python version 3.11.5
I'm using testcontainers version 3.7.1
I'm using docker 24.0.6, build ed223bc on MacOS using Docker Desktop for Mac

Questions

Is it correct that I have not found a way to override the entrypoint?
Is there maybe a work-around?
Why does the .NET version of testcontainers appear to have a way to override the Entrypoint while the python testcontainer version does not? Why is nobody missing it?
Would you be open for a PR that adds a possibility to allow for overriding the entrypoint, just like you can set (or override) thge Cmd?

I believe you can just set the entrypoint as a part of the keyword arguments passed to the container constructor. Similar to this: https://github.com/testcontainers/testcontainers-python/pull/370/files#diff-22a130a0e2867b808abfa04cb069136d4e0c87e25705dae0342cfbfe6b23c0feR31

I believe you can just set the entrypoint as a part of the keyword arguments passed to the container constructor. Similar to this: https://github.com/testcontainers/testcontainers-python/pull/370/files#diff-22a130a0e2867b808abfa04cb069136d4e0c87e25705dae0342cfbfe6b23c0feR31

Thank you, that seems to work!


For table rebalance, check if instances are equal for NO_OP

For table rebalance, if reassigning instances we want to check if both the instance and segment assignment is unchanged to determine NO_OP.
Tested: deployed the change and tried rebalance for a table that didn't need changing and it returned NO_OP.  Tested again with a changed tenant and ran rebalance and it returned DONE where the instanceAssignnmnetUnchanged log was false

cc @Jackie-Jiang

Please take a look at the failed test, and consider adding some new test to validate the change

@Jackie-Jiang Made the changes you suggested. I can't tell what is causing the tests to fail though.


Upgrade WASM Makefile to c++17.  No change in .wasm files.

Upgrade WASM Makefile to c++17.  No change in .wasm files.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Popup for ctx in html reports is finicky

Describe the bug
For HTML reports, the popup for the new "Who Tests What" ctx element can be a bit finicky. If you attempt to mouse over the popup box (e.g., to copy the list of test names), the popup will close, as you are no longer hovering over the ctx element. If you move the mouse quickly, you may be able to hover over the popup before it disappears, but this is unreliable and annoying.
Video
https://i.imgur.com/Zsgb3AA.mp4
The report was built using coverage v5.0a8
Expected behavior
I should be able to reliably mouse over the ctx popup so I can copy the list of test functions.
One possible solution: clicking the ctx element could pin/unpin its popup. Clicking another ctx would close all other popups.

You are right, it's not good the way it is now.  I'll try to improve it.

Thanks, and I'm really looking forward to the 5.0 release. The context feature is great.

I did a big refactor of how the HTML report markup is structured, as of a58a8abd.  Give it a try.

The context expansion works great. Not sure if it's related to the changes, but there's a rendering issue with partially covered lines.

Oops, forgot to check the two together.  Fixed in 168f1e75.  Thanks for the quick feedback! :)

OF course. Thanks again.

This finished version of this is available in 5.0b1: https://pypi.org/project/coverage/5.0b1/


[BUTTON IDEA]: Alipay payment button

1. Name of button:
Alipay
2. Description:
Alipay is now being used in many countries, I think it would be good for us to add this up.
3. Button Type (Animated, Special, etc...):
Payment
4. Will you work on it?:
yes

Sorry for the late reply @antonioo-c I'll assign you


ql: tests: remove spi_master test target addition from design10 test

Signed-off-by: Alessandro Comodi<EMAIL_ADDRESS>

@kkumar23 The error in https://github.com/QuickLogic-Corp/symbiflow-arch-defs/pull/105#issuecomment-670458244 was caused by the spi_master_test target was being added in the design10 test


"TypeError: h is not a function" when setting value

I have set up my Vue 2.6.11 app with the following in main.js:
import VueStorage from '@seregpie/vue-storage'
Vue.use(VueStorage)

and the following in the (simplified) component:
<template>
  <p>
    <button @click='grantConsent'>I consent</button>
  </p>
</template>
<script>
  …
    stored: {
      analyticsConsent: {
        type: String,
        default: null,
      },
    },

    methods: {
      grantConsent () {
        this.analyticsConsent = 'granted'
      }
    },
  …

When I click the button, I get the following error message and the localStorage is not updated:
TypeError: h is not a function
    at Vue.set [as $$state] (index.js?c0f7:1)
    at RefImpl.computedSetter [as value] (vue-composition-api.esm.js?a6f4:1189)
    at VueComponent.set [as analyticsConsent] (index.js?c0f7:1)
    at VueComponent.grantConsent (analytics-consent.vue?0f7f:88)
    at invokeWithErrorHandling (vue.runtime.esm.js?2b0e:1854)
    at HTMLButtonElement.invoker (vue.runtime.esm.js?2b0e:2179)
    at HTMLButtonElement.original._wrapper (vue.runtime.esm.js?2b0e:6917)
logError @ vue.runtime.esm.js?2b0e:1888
globalHandleError @ vue.runtime.esm.js?2b0e:1879
handleError @ vue.runtime.esm.js?2b0e:1839
invokeWithErrorHandling @ vue.runtime.esm.js?2b0e:1862
invoker @ vue.runtime.esm.js?2b0e:2179
original._wrapper @ vue.runtime.esm.js?2b0e:6917

@vue/composition-api is at v1.0.0-rc.1, and @seregpie/vue-storage is v1.1.1.
Do you have any idea why this is not working? I notice that the RC1 of @vue/composition-api is only 10 days old — could there be a breaking change in there that's tripping VueStorage up? (Update: I've tried various older versions and I'm getting the same errors, so I guess that's not it…)

Hi.
Do you have @vue/composition-api installed?

VueStorage does not access h from CompositionAPI.


Add sparselib ILU for benchmarks

This PR adds a LinOp for cuSPARSE/hipSPARSE ILU factorizations and the new ILU preconditioner interface described in #472 for integrating it into the benchmarks.

Do you want to merge this before #400 or after ?

I would probably merge it before, since it is much easier to review.

@yhmtsai The main point of factorization_kernels is to move kernels from ParILU to a more general file since they are used in many different algorithms (ParILU(T), sparselib ILU, ...?)


Create snippet for PLEG

Addresses PLEG issue #13555

/assign @zparnold

thanks for taking on this fix @thecrudge !
/lgtm

/lgtm
/approve


onDidWriteData, PseudoTerminal and Tasks

I wrote a VSCode extension (https://marketplace.visualstudio.com/items?itemName=flavienbusseuil.terminus) based on the feature onDidWriteData that has been deprecated in 1.39.
My extension is about reading terminal output (mostly for Tasks) and watch for particular regex.
The new PseudoTerminal API support a similar feature but can only be used on terminals created by the extension itself.
I think I understand the reason of this choice... giving the control over existing terminals may lead to security issues. (even if I found odd that sendText is still available on legacy terminals)
Regarding this consideration, I feel like my extension is broken forever... but I still have needs for it. Maybe there is another path for it?
I was thinking of re-doing my own Task launcher to have control over terminals through Pseudo Terminal... but sounds overkill.
Thanks in advance for your help!

So window.onDidWriteTerminalData is equivalent to Terminal.onDidWriteData but the plan is not to stabilize it for perf/security reasons. Though I'm not sure why your extension is published at all since proposed APIs aren't allowed to be published to the marketplace?
Task problem matchers seem to mostly cover what you're trying to do? https://code.visualstudio.com/docs/editor/tasks#_processing-task-output-with-problem-matchers
Other things of note:

Exit code reporting should be added soon https://github.com/microsoft/vscode/issues/62103
"Terminus" is the name of a terminal: https://github.com/Eugeny/terminus

Weird... Terminal.onDidWriteData was available without Insiders and publishable on the marketplace (I never paid attention that it was a "proposed API" 😱).
Problem matchers would have been just perfect but as I deal with unformatted output (legacy code), that is really not referring to any piece of code or a file. In fact I'm not always looking for "problems" in the output neither.
I guess I will have to reconsider the tooling I'm using right now. Thanks for your time and your relevant points 👍

@alexr00 might be able to give more guidance with tasks and problem matchers, but they match on regex and then expose problems, plus they're part of the built-in diagnostics system.

Problem matchers can also provide warnings and info, but they all end up in the "Problems" pane.
This issue tracks programmatic parsing of task output: https://github.com/microsoft/vscode/issues/59337
If you need to do something "special" (not just create problems) with your task output, then you could take a look at the CustomExecution API (example: https://github.com/microsoft/vscode-extension-samples/blob/master/task-provider-sample/src/customTaskProvider.ts). No docs for it yet, but I'll be writing some soon.

I suspect that CustomExecution probably gives you more freedom than you need and that if we had #59337 then that would be more suited to what you need and mean less work for you. If you're interested, I recommend subscribing to #59337 so if I add API just for that then you can use it/provide feedback.

Awesome, thanks for all your assistance. 👍
I subscribed to #59337 and would love give it a try when available!


test/integration:  Add Python Integration tests

closed with https://github.com/parca-dev/parca-agent/pull/2501


Passwords are send over POST using plaintext.

NO BUENO DOGE NO LIKEY

Can be resolved with SSL, not important.


add $convert.rss feature

@gliechtenstein Here is my take on the convert.rss feature for Android. I refactored some things for more code reuse in that file while I was there. I tried the Jasonpedia example and a youtube feed, and both worked great. Seems pretty zippy with J2V8

Awesome, just tested and working great, Thanks!


Use TS 2.1.4 To Build VSCode

Updates from using TS 2.0.3 to using TS 2.1.4 to builds VSCode. This required a few small changes to fix breaking changes with TS. I also picked up typescript-formatter 4.0.1

Seems like we're hitting https://github.com/Microsoft/TypeScript/issues/12764
I'll give 2.1.5 insiders a try just to confirm, but we likely have to hold off on upgrading.

The changes make sense to me.


docker-in-docker feature wastes RAM by mounting /tmp to tmpfs

It seems like adding the feature like so:
{
	"name": "Python 3",
	"image": "mcr.microsoft.com/devcontainers/python:0-3.11",
	// Features to add to the dev container. More info: https://containers.dev/features.
	"features": {
    		"ghcr.io/devcontainers/features/docker-in-docker:2": {
	}
}

Mounts /tmp to tmpfs on default:
https://github.com/devcontainers/features/blob/3cc059ea8abf3a909468fafabca481f82b6f8924/src/docker-in-docker/install.sh#L353-L356
Which results in some unexpected behaviours:

The /tmp directory is now limited by the amount of RAM that is available, which results in Out of space Exception for programs using a lot of tmp space (or users with limited amount of RAM).
The RAM of the host system is wasted for tmp files.

Workaround:
Mounting your own volume to /tmp:
"runArgs": ["--mount", "type=volume,target=/tmp/"],
Related
Here is my way of suffering: https://stackoverflow.com/questions/75630189/why-and-where-is-the-tmp-directory-size-limited-in-vscode-devcontainers ;)

This caused a similar issue for me. I use /tmp in the container for copying files that don't really belong in the workspace (one-off scripts usually). When I copy a script to /tmp in the Dockerfile and then run it in postCreateCommand, it fails when docker-in-docker is enabled, but works if it's not enabled. I'll be able to work around it now but it was a head scratcher because suddenly the file isn't there. There error is just "file not found".

Does anyone know where to put this "runArgs": ["--mount", "type=volume,target=/tmp/"], workaround from @DanielHabenicht  ?

I was able to do another workaround to avoid the tmpfs mount for /tmp by doing a bind mount of the hosts' /tmp via this config addition to .devcontainer/devcontainer.json:
  "mounts": [
    "type=bind,src=/tmp,dst=/tmp"
  ],

The result looks like:
Filesystem          Size  Used Avail Use% Mounted on
overlay              59G   15G   41G  27% /
tmpfs                64M     0   64M   0% /dev
shm                  64M     0   64M   0% /dev/shm
/host_mark/private  466G  445G   21G  96% /tmp
/dev/vda1            59G   15G   41G  27% /vscode
/host_mark/Users    466G  445G   21G  96% /workspaces/myrepo


import unsuccessful

 Environment data

Language Server version: 2024.2.3
OS and version: win32 x64
Python version (and distribution if applicable, e.g. Anaconda):
python.analysis.indexing: true
python.analysis.typeCheckingMode: off

 Code Snippet

XXX

 Repro Steps

XXX

 Expected behavior
XXX
 Actual behavior
XXX
 Logs

XXX

@dikshapatil0406
Can you provide us some logs as described in the troubleshooting guide? and some repro steps?

Yes, I can.
Import "xlsxwriter" could not be resolvedPylancereportMissingImports
https://github.com/microsoft/pyright/blob/main/docs/configuration.md#reportMissingImports
On Mon, Mar 11, 2024 at 11:59 PM Heejae Chang @.***>
wrote:

@dikshapatil0406 https://github.com/dikshapatil0406
Can you provide us some logs as described in the troubleshooting guide
https://github.com/microsoft/pylance-release/blob/main/TROUBLESHOOTING.md#filing-an-issue?
and some repro steps?
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/pylance-release/issues/5622#issuecomment-1989166074,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BFHT5ZLYAIVETQFRBG3SJL3YXYAZZAVCNFSM6AAAAABEQZB4P6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOBZGE3DMMBXGQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

That may be expected. We'd need more information. Like:

What interpreter do you have selected in the VS code ui?
Is xlsxwriter in your list of packages that are installed in that interpreter?
The contents of the log as described here


Travis Build Tests Repeatedly Fail - asar-integrity

Describe the issue / bug.
Every build test run, both the linux and macOS build jobs fail. This is the error which is shown, build tests timeout after 10 minutes.
How can I reproduce this problem?
Run travis build tests

Development Environment.

Node version: v8.0.0
NPM version: v5.0.2
Operating System: macOS Sierra 10.12.5

@harryparkdotio
Are you code signing? Can you post a link to the build logs? There apparently is a major code signing related change happen in electron-builder and electron, both involving the new asar-integrity check.
Related: https://github.com/electron/electron/pull/9648, https://github.com/electron-userland/electron-builder/releases/tag/v18.4.0

Yes, I ended up running yarn locally, which resulted in the same errors. I didn't pick this up locally because I use npm, not yarn.
So far, I erased my node_modules/ folder and reinstalled them with yarn. I did find that asar-integrity was required by electron-builder. It seems to be that asar-integrity v0.1.1 isn't availible, or at least only works with v0.1.0.
Here is a link to my builds Mixtape - Travis CI. It's failed for the past few. I tried erasing the cache, but no luck.
No, I'm not currently code signing.

Yeah I just discovered the same issue. The current<EMAIL_ADDRESS>is requiring<EMAIL_ADDRESS>which doesn't actually exist on npm, only version 0.1.0 is available. When running yarn, apparently this isn't handled properly when you are asked for a version. Looks like 2 separate issues have been exposed.
A quick fix should be locking your electron-builder version to 18.3.5. Did you happen to update that 18.4.0 in any way?

Fixed, sorry (thanks for early testing (18.4.0 it is next, not stable version yet)).

I believe that electron-builder 18.4.0 is a prerelease, but no I didn't update to it, must've been done automatically. I am using the latest release (maximum 2 days old) of electron-vue, maybe it's because of that?

Let's try running a build test shall we? I'll let you know the results.

Thank you so much @develar !
@harryparkdotio I'm not sure how the pre-release got installed. Maybe an npm@5 issue?

Looks like the builds are moving along fine this time around. What's interesting is that https://www.npmjs.com/package/electron-builder shows 18.3.5 as current release, but running npm view electron-builder, version 18.4.0 is available.

Maybe, but it don't think that its because of npm@5.

Build passed, thanks @SimulatedGREG and @develar!

Well after all that, time to go checkout out this mixtape application of yours. Glad we got this sorted out. 😀


Design Layouts

goal: Design the set of layouts we want to provide
Tasks

[ ] Inventory of the main layouts
[ ] Identify common UX Elements
[ ] Define mobile inflexions
[ ] Document the results on the wiki

Same as #1117. Closing this


Unexpected crash loading menu #2

Hi It's me again, and I'm having a problem with the loading time and the black screen glitching.
Here's a report issue:
crash-2022-11-28_20.02.33-client.txt
Screenshots:

Ty and I hope u fix it :)

The recent versions of AssetMover are broken, you‘d have to downgrade to version 1.1 for the time being.


vrouter build R3.0.1

Hi all,
I am trying to build vrouter R3.0.1.
I cloned branch R3.0 and build it but when I am runing contrail-vrouter-dpdk --version It show version <IP_ADDRESS> .
root@contraildev:/var/soft# build/profile/vrouter/dpdk/contrail-vrouter-dpdk --version
2016-10-27 14:14:13,962 VROUTER: vRouter/DPDK version: {"build-info": [{"build-time": "2016-10-27 14:13:07.397832", "build-hostname": "contraildev", "build-user": "root", "build-version": "<IP_ADDRESS>"}]}
Any clue?
Nir.

There are branches for R3.0.2.x and R3.0.3.x now. You can use one of these.
R3.0.4 might be created from R3.0 at some time in the future.
Raja
From: Nir Henn<EMAIL_ADDRESS>Reply-To: Juniper/contrail-vrouter<EMAIL_ADDRESS>Date: Thursday, October 27, 2016 at 7:18 AM
To: Juniper/contrail-vrouter<EMAIL_ADDRESS>Subject: [Juniper/contrail-vrouter] vrouter build R3.0.1 (#95)
Hi all,
I am trying to build vrouter R3.0.1.
I cloned branch R3.0 and build it but when I am runing contrail-vrouter-dpdk --version It show version <IP_ADDRESS> .
root@contraildev:/var/soft# build/profile/vrouter/dpdk/contrail-vrouter-dpdk --version
2016-10-27 14:14:13,962 VROUTER: vRouter/DPDK version: {"build-info": [{"build-time": "2016-10-27 14:13:07.397832", "build-hostname": "contraildev", "build-user": "root", "build-version": "<IP_ADDRESS>"}]}
Any clue?
Nir.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/Juniper/contrail-vrouter/issues/95, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AFni13cUplq0d6sM5ufPaZJjGZWPlj_lks5q4LKwgaJpZM4KiZ1u.


Fix target_dir handling for RLS

Supersedes  and closes #5465

@bors r+

:pushpin: Commit f1dabb7 has been approved by matklad

r? @alexcrichton
(rust_highfive has picked a reviewer for you, use r? to override)

:hourglass: Testing commit f1dabb7ec9f61743e54c082c1eb7d65e570a2c6f with merge 5af4753fb9269c34822351b4b3a3ef81135db052...

:sunny: Test successful - status-appveyor, status-travis
Approved by: matklad
Pushing 5af4753fb9269c34822351b4b3a3ef81135db052 to master...


DQ on Demand (Certified Connector) - Update

When submitting a connector, please make sure that you follow the requirements below, otherwise your PR might be rejected. We want to make you have a well-built connector, a smooth certification experience, and your users are happy :)
If this is your first time submitting to GitHub and you need some help, please sign up for this session.

[ ] I attest that the connector doesn't exist on the Power Platform today. I've verified by checking the pull requests in GitHub and by searching for the connector on the platform or in the documentation.
[x] I attest that the connector works and I verified by deploying and testing all the operations.
[x] I attest that I have added detailed descriptions for all operations and parameters in the swagger file.
[x] I attest that I have added response schemas to my actions, unless the response schema is dynamic.
[x] I validated the swagger file, apiDefinition.swagger.json, by running paconn validate command.
[x] If this is a certified connector, I confirm that apiProperties.json has a valid brand color and doesn't use an invalid brand color, #007ee5 or #ffffff. If this is an independent publisher connector, I confirm that I am not submitting a connector icon.

If you are an Independent Publisher, you must also attest to the following to ensure a smooth publishing process:

[ ] I have named this PR after the pattern of "Connector Name (Independent Publisher)" ex: HubSpot Marketing (Independent Publisher)
[ ] Within this PR markdown file, I have pasted screenshots that show: 3 unique operations (actions/triggers) working within a Flow. This can be in one flow or part of multiple flows. For each one of those flows, I have pasted in screenshots of the Flow succeeding.
[ ] Within this PR markdown file, I have pasted in a screenshot from the Test operations section within the Custom Connector UI.
[ ] If the connector uses OAuth, I have provided detailed steps on how to create an app in the readme.md.

The Swagger Change Validation says there are 9 errors, but is only showing 4 in the Actions tab.
Here are the responses to the 4 errors I can see
Swagger and Change Validation - Build log #L14
Error: The path template has been changed for the operation. ValuePath: operation/SuppressDeceased Source: NewSwagger
Response: The path has been updated from Suppress/Deceased to Suppress/Address/Deceased to be in line with newly added endpoints.
The old path will remain active, but we want people to use the new path moving forward.
Swagger and Change Validation - Build log #L15
Error: An enum value has been removed from the input field. Existing flows may have this value chosen and will continue to send it. ValuePath: operation/SuppressDeceased/parameter/Provider/enum Source: NewSwagger
Response: The REaDGroup Enum was removed and replaced with Sagacity.
The company REaDGroup was purchased by Sagacity, the systems will still accept REaDGroup as an enum option, and will direct requests to the Sagacity service.
Swagger and Change Validation - Build log #L16
Error: The path template has been changed for the operation. ValuePath: operation/SuppressGoneAway Source: NewSwagger
Response: The path has been updated from Suppress/GoneAway to Suppress/Address/GoneAway to be in line with newly added endpoints.
The old path will remain active, but we want people to use the new path moving forward.
Swagger and Change Validation - Build log #L17
Error: An enum value has been removed from the input field. Existing flows may have this value chosen and will continue to send it. ValuePath: operation/SuppressGoneAway/parameter/Provider/enum Source: NewSwagger
Response: The REaDGroup Enum was removed and replaced with Sagacity.
The company REaDGroup was purchased by Sagacity, the systems will still accept REaDGroup as an enum option, and will direct requests to the Sagacity service.

Hi @lukeswanton
Apologize for the delay in reviewing the PR.
As per the Swagger validation issue. "enum value has been removed from the input field" and "An enum value has been removed from the input field". can you please confirm that no existing flows or users will be affected by this change?

@vmanoharas yes as per my previous comment all users using the now removed REaDGroup enun will have their requests redirected to the replacement Sagacity Enum. No flows or users will be effected.

Hi @lukeswanton, Thank you very much for confirming it.


aws-sdk-cpp is out of date in master

Issue description
1.7.39 is the newest available. Master is some 1.6.x.
If this could be added to the packages that are automatically updated by the semi-automated system of someone named Ryan that would be better.

@orivej-nixos Can this also be cherry picked to 18.09, because the version in 18.09 fails to build from source?

If this could be added to the packages that are automatically updated by the semi-automated system of someone named Ryan that would be better.

It updates all packages in repology.org as long as the update can be built. It could not update aws-sdk-cpp from 1.6 to 1.7 because this required manual changes, but it should be able to update it going forward: https://repology.org/project/aws-sdk-cpp/versions

Can this also be cherry picked to 18.09, because the version in 18.09 fails to build from source?

It seems that aws-sdk-cpp in release-18.09 does build: https://hydra.nixos.org/job/nixos/release-18.09/nixpkgs.aws-sdk-cpp.x86_64-linux, and I have confirmed this by rebuilding it. aws-sdk-cpp is a dependency of nix so I'm reluctant to update it without a good reason.

@orivej It doesn't build in a Nix container.

Could you show the error, and preferably describe how to reproduce it?


[Partner Release Pipelines] Fail if there are no files to copy or sign

Our partner release pipelines currently "succeed" even if there were no files to copy or sign.  Example:
https://dev.azure.com/azure-sdk/internal/_releaseProgress?_a=release-environment-logs&releaseId=22737&environmentId=28363
Can the pipeline be changed to fail fast, as soon as it detects no files?

@hallipr can you please have a look to make sure this issue doesn't exist in our new partner release pipeline for maven.


GitHub Action workflow should create GitHub release too

Investigate and fix.

Will need to add another step in the workflow file to do this after the publish.
Should use the tag that the publish step created.

This should be done, will need to wait for next release to confirm.


Warnings in product IS 590 m5

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by net.sf.ehcache.pool.sizeof.ObjectGraphWalker (file:/Users/ruwan/Downloads/wso2is-5.9.0-m5/repository/deployment/server/webapps/shindig/WEB-INF/lib/ehcache-core-2.6.9.jar) to field java.util.ArrayList.elementData
WARNING: Please consider reporting this to the maintainers of net.sf.ehcache.pool.sizeof.ObjectGraphWalker
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

This needs to be fixed.

Moved to https://github.com/wso2/carbon-kernel/issues/2216, as this needs to be fixed in the kernel level


ibus-engines.table: 1.9.20 -> 1.9.21

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from ibus-table.
meta.description for ibus-engines.table is: '"An IBus framework for table-based input methods"'.
Release on GitHub
Compare changes on GitHub

Checks done (click to expand)

built on NixOS
/nix/store/f02xbdmkljwib20kcqvgpkjvrp6jk7dr-ibus-table-1.9.21/bin/ibus-table-createdb passed the binary check.
1 of 1 passed binary check by having a zero exit code.
0 of 1 passed binary check by having the new version present in output.
found 1.9.21 with grep in /nix/store/f02xbdmkljwib20kcqvgpkjvrp6jk7dr-ibus-table-1.9.21
directory tree listing: https://gist.github.com/0e8104c18a7b332122d386a82aa3beec
du listing: https://gist.github.com/020155ffaf974a67caf72ddaa3bda275

Instructions to test this update (click to expand)

One-time optional setup to skip building using Cachix:

Install cachix from https://cachix.org/
Use r-ryantm's cache:cachix use r-ryantm

Test this update by entering a nix shell, seeing what is inside the
result, and if applicable, running some binaries:
nix-shell --pure -I nixpkgs=https://github.com/r-ryantm/nixpkgs/archive/f07aebcaabcd5ce56b7decffcc42a90a8bb7f979.tar.gz -p ibus-engines.table
ls -la /nix/store/f02xbdmkljwib20kcqvgpkjvrp6jk7dr-ibus-table-1.9.21

cc @laMudri for testing.

No attempt on x86_64-darwin (full log)
The following builds were skipped because they don't evaluate on x86_64-darwin: ibus-engines.table
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.

Success on x86_64-linux (full log)
Attempted: ibus-engines.table
Partial log (click to expand)
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/f02xbdmkljwib20kcqvgpkjvrp6jk7dr-ibus-table-1.9.21
gzipping man pages under /nix/store/f02xbdmkljwib20kcqvgpkjvrp6jk7dr-ibus-table-1.9.21/share/man/
strip is /nix/store/h0lbngpv6ln56hjj59i6l77vxq25flbz-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/f02xbdmkljwib20kcqvgpkjvrp6jk7dr-ibus-table-1.9.21/lib  /nix/store/f02xbdmkljwib20kcqvgpkjvrp6jk7dr-ibus-table-1.9.21/libexec  /nix/store/f02xbdmkljwib20kcqvgpkjvrp6jk7dr-ibus-table-1.9.21/bin
patching script interpreter paths in /nix/store/f02xbdmkljwib20kcqvgpkjvrp6jk7dr-ibus-table-1.9.21
/nix/store/f02xbdmkljwib20kcqvgpkjvrp6jk7dr-ibus-table-1.9.21/libexec/ibus-engine-table: interpreter directive changed from "/bin/sh" to "/nix/store/czx8vkrb9jdgjyz8qfksh10vrnqa723l-bash-4.4-p23/bin/sh"
/nix/store/f02xbdmkljwib20kcqvgpkjvrp6jk7dr-ibus-table-1.9.21/libexec/ibus-setup-table: interpreter directive changed from "/bin/sh" to "/nix/store/czx8vkrb9jdgjyz8qfksh10vrnqa723l-bash-4.4-p23/bin/sh"
/nix/store/f02xbdmkljwib20kcqvgpkjvrp6jk7dr-ibus-table-1.9.21/bin/ibus-table-createdb: interpreter directive changed from "/bin/sh" to "/nix/store/czx8vkrb9jdgjyz8qfksh10vrnqa723l-bash-4.4-p23/bin/sh"
checking for references to /build in /nix/store/f02xbdmkljwib20kcqvgpkjvrp6jk7dr-ibus-table-1.9.21...

Success on aarch64-linux (full log)
Attempted: ibus-engines.table
Partial log (click to expand)
shrinking RPATHs of ELF executables and libraries in /nix/store/vjh5jcqvhplxg5hzc3ay4zk7yb06v565-ibus-table-1.9.21
gzipping man pages under /nix/store/vjh5jcqvhplxg5hzc3ay4zk7yb06v565-ibus-table-1.9.21/share/man/
strip is /nix/store/y4ymnvgxygpq05h03kyzbj572zmh6zla-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/vjh5jcqvhplxg5hzc3ay4zk7yb06v565-ibus-table-1.9.21/lib  /nix/store/vjh5jcqvhplxg5hzc3ay4zk7yb06v565-ibus-table-1.9.21/libexec  /nix/store/vjh5jcqvhplxg5hzc3ay4zk7yb06v565-ibus-table-1.9.21/bin
patching script interpreter paths in /nix/store/vjh5jcqvhplxg5hzc3ay4zk7yb06v565-ibus-table-1.9.21
/nix/store/vjh5jcqvhplxg5hzc3ay4zk7yb06v565-ibus-table-1.9.21/libexec/ibus-setup-table: interpreter directive changed from "/bin/sh" to "/nix/store/fqm2x6kiay1q4vg7pqp4wp17bdijlyc3-bash-4.4-p23/bin/sh"
/nix/store/vjh5jcqvhplxg5hzc3ay4zk7yb06v565-ibus-table-1.9.21/libexec/ibus-engine-table: interpreter directive changed from "/bin/sh" to "/nix/store/fqm2x6kiay1q4vg7pqp4wp17bdijlyc3-bash-4.4-p23/bin/sh"
/nix/store/vjh5jcqvhplxg5hzc3ay4zk7yb06v565-ibus-table-1.9.21/bin/ibus-table-createdb: interpreter directive changed from "/bin/sh" to "/nix/store/fqm2x6kiay1q4vg7pqp4wp17bdijlyc3-bash-4.4-p23/bin/sh"
checking for references to /build in /nix/store/vjh5jcqvhplxg5hzc3ay4zk7yb06v565-ibus-table-1.9.21...
/nix/store/vjh5jcqvhplxg5hzc3ay4zk7yb06v565-ibus-table-1.9.21

This change of config format might cause difficulties for users updating. I wonder whether there's anything we can do to mitigate that.

(triage) This sounds like something we can't do much for ourselves unless we want to write lots of code for ibus? However, it for sure means there should be release notes associated with the update, so I guess this automated update can be closed (unless there's a way to make @r-ryantm add release notes to its PRs?)

@Ekleog Any nixpkgs contributor can push commits to the r-ryantm:auto-update/ibus-table branch.

@laMudri you can open a new pull request that also adds a changelog.

I finally got around to this in #53080. Sorry about the delay.


Add googlebench

Added googlebench benchmarking library and demonstrate initial application.

Hello @hmacdope! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file src/lib/tests/googlebench/.ycm_extra_conf.py:

Line 8:1: E122 continuation line missing indentation or outdented
Line 9:1: E122 continuation line missing indentation or outdented
Line 10:1: E122 continuation line missing indentation or outdented
Line 11:1: E122 continuation line missing indentation or outdented
Line 12:1: E122 continuation line missing indentation or outdented
Line 13:1: E122 continuation line missing indentation or outdented
Line 14:1: E122 continuation line missing indentation or outdented
Line 15:1: E122 continuation line missing indentation or outdented
Line 16:1: E122 continuation line missing indentation or outdented
Line 17:1: E122 continuation line missing indentation or outdented
Line 18:1: E122 continuation line missing indentation or outdented
Line 19:1: E122 continuation line missing indentation or outdented
Line 20:1: E122 continuation line missing indentation or outdented
Line 21:1: E122 continuation line missing indentation or outdented
Line 22:1: E122 continuation line missing indentation or outdented
Line 34:19: E201 whitespace after '('
Line 34:47: E202 whitespace before ')'
Line 35:3: E111 indentation is not a multiple of four
Line 35:43: E201 whitespace after '('
Line 35:71: E202 whitespace before ')'
Line 37:3: E111 indentation is not a multiple of four
Line 39:22: E201 whitespace after '['
Line 39:28: E202 whitespace before ']'
Line 41:1: E302 expected 2 blank lines, found 1
Line 42:3: E111 indentation is not a multiple of four
Line 42:26: E201 whitespace after '('
Line 42:43: E201 whitespace after '('
Line 42:52: E202 whitespace before ')'
Line 42:54: E202 whitespace before ')'
Line 45:38: E201 whitespace after '('
Line 45:63: E202 whitespace before ')'
Line 46:3: E111 indentation is not a multiple of four
Line 47:17: E201 whitespace after '('
Line 47:23: E202 whitespace before ')'
Line 48:3: E111 indentation is not a multiple of four
Line 49:3: E111 indentation is not a multiple of four
Line 50:3: E111 indentation is not a multiple of four
Line 50:17: E201 whitespace after '['
Line 50:59: E202 whitespace before ']'
Line 51:3: E111 indentation is not a multiple of four
Line 55:7: E111 indentation is not a multiple of four
Line 56:7: E111 indentation is not a multiple of four
Line 56:30: E201 whitespace after '('
Line 56:34: E202 whitespace before ')'
Line 57:33: E201 whitespace after '('
Line 57:57: E202 whitespace before ')'
Line 60:7: E111 indentation is not a multiple of four
Line 64:7: E111 indentation is not a multiple of four
Line 64:26: E201 whitespace after '('
Line 64:36: E202 whitespace before ')'
Line 65:21: E201 whitespace after '['
Line 65:26: E201 whitespace after '('
Line 65:36: E202 whitespace before ')'
Line 65:39: E202 whitespace before ']'
Line 66:45: E201 whitespace after '('
Line 66:69: E202 whitespace before ')'
Line 70:7: E111 indentation is not a multiple of four
Line 70:24: E201 whitespace after '('
Line 70:33: E202 whitespace before ')'
Line 71:3: E111 indentation is not a multiple of four
Line 74:18: E201 whitespace after '('
Line 74:27: E202 whitespace before ')'
Line 75:3: E111 indentation is not a multiple of four
Line 75:32: E201 whitespace after '('
Line 75:41: E202 whitespace before ')'
Line 75:44: E201 whitespace after '['
Line 75:46: E202 whitespace before ']'
Line 76:3: E111 indentation is not a multiple of four
Line 76:24: E201 whitespace after '['
Line 76:52: E202 whitespace before ']'
Line 79:31: E201 whitespace after '('
Line 79:40: E202 whitespace before ')'
Line 80:3: E114 indentation is not a multiple of four (comment)
Line 81:3: E114 indentation is not a multiple of four (comment)
Line 82:3: E114 indentation is not a multiple of four (comment)
Line 83:3: E114 indentation is not a multiple of four (comment)
Line 84:3: E111 indentation is not a multiple of four
Line 84:19: E201 whitespace after '('
Line 84:28: E202 whitespace before ')'
Line 85:33: E201 whitespace after '('
Line 85:42: E202 whitespace before ')'
Line 85:45: E201 whitespace after '['
Line 85:47: E202 whitespace before ']'
Line 87:7: E111 indentation is not a multiple of four
Line 88:7: E111 indentation is not a multiple of four
Line 88:25: E201 whitespace after '('
Line 88:42: E202 whitespace before ')'
Line 90:27: E202 whitespace before ')'
Line 92:11: E111 indentation is not a multiple of four
Line 94:3: E111 indentation is not a multiple of four
Line 94:45: E201 whitespace after '('
Line 94:54: E202 whitespace before ')'
Line 97:18: E201 whitespace after '('
Line 97:37: E202 whitespace before ')'
Line 98:3: E111 indentation is not a multiple of four
Line 101:50: E201 whitespace after '('
Line 101:59: E202 whitespace before ')'
Line 103:7: E111 indentation is not a multiple of four
Line 107:45: E202 whitespace before ')'
Line 108:3: E111 indentation is not a multiple of four
Line 110:52: E201 whitespace after '('
Line 110:71: E202 whitespace before ')'
Line 112:3: E111 indentation is not a multiple of four

In the file src/lib/tests/googlebench/bindings/python/google_benchmark/__init__.py:

Line 77:80: E501 line too long (90 > 79 characters)
Line 96:80: E501 line too long (80 > 79 characters)
Line 101:80: E501 line too long (84 > 79 characters)
Line 111:80: E501 line too long (84 > 79 characters)
Line 122:80: E501 line too long (86 > 79 characters)

In the file src/lib/tests/googlebench/bindings/python/google_benchmark/example.py:

Line 16:80: E501 line too long (82 > 79 characters)
Line 18:80: E501 line too long (80 > 79 characters)
Line 41:1: E302 expected 2 blank lines, found 1
Line 88:80: E501 line too long (88 > 79 characters)

In the file src/lib/tests/googlebench/conanfile.py:

Line 25:80: E501 line too long (101 > 79 characters)
Line 36:80: E501 line too long (111 > 79 characters)
Line 37:80: E501 line too long (125 > 79 characters)
Line 42:80: E501 line too long (112 > 79 characters)
Line 49:80: E501 line too long (94 > 79 characters)
Line 50:80: E501 line too long (108 > 79 characters)
Line 52:80: E501 line too long (91 > 79 characters)
Line 54:80: E501 line too long (113 > 79 characters)
Line 55:80: E501 line too long (123 > 79 characters)

In the file src/lib/tests/googlebench/setup.py:

Line 21:80: E501 line too long (83 > 79 characters)
Line 49:80: E501 line too long (85 > 79 characters)
Line 71:80: E501 line too long (82 > 79 characters)
Line 72:80: E501 line too long (83 > 79 characters)

In the file src/lib/tests/googlebench/tools/compare.py:

Line 45:80: E501 line too long (80 > 79 characters)
Line 47:80: E501 line too long (80 > 79 characters)
Line 49:80: E501 line too long (80 > 79 characters)
Line 65:80: E501 line too long (513 > 79 characters)
Line 72:80: E501 line too long (202 > 79 characters)
Line 81:80: E501 line too long (88 > 79 characters)
Line 91:80: E501 line too long (80 > 79 characters)
Line 121:80: E501 line too long (80 > 79 characters)
Line 136:80: E501 line too long (93 > 79 characters)
Line 152:80: E501 line too long (80 > 79 characters)
Line 158:80: E501 line too long (111 > 79 characters)
Line 311:80: E501 line too long (92 > 79 characters)
Line 387:80: E501 line too long (84 > 79 characters)
Line 399:80: E501 line too long (90 > 79 characters)

In the file src/lib/tests/googlebench/tools/gbench/report.py:

Line 157:1: E302 expected 2 blank lines, found 1
Line 174:1: E302 expected 2 blank lines, found 1
Line 180:80: E501 line too long (93 > 79 characters)
Line 183:80: E501 line too long (83 > 79 characters)
Line 193:80: E501 line too long (84 > 79 characters)
Line 234:80: E501 line too long (110 > 79 characters)
Line 247:80: E501 line too long (90 > 79 characters)
Line 252:80: E501 line too long (111 > 79 characters)
Line 341:80: E501 line too long (82 > 79 characters)
Line 342:80: E501 line too long (84 > 79 characters)
Line 343:80: E501 line too long (83 > 79 characters)
Line 344:80: E501 line too long (85 > 79 characters)

In the file src/lib/tests/googlebench/tools/gbench/util.py:

Line 73:80: E501 line too long (91 > 79 characters)
Line 125:80: E501 line too long (80 > 79 characters)

In the file src/lib/tests/googlebench/tools/strip_asm.py:

Line 12:1: E302 expected 2 blank lines, found 1
Line 14:28: W605 invalid escape sequence '\s'
Line 14:38: W605 invalid escape sequence '\s'
Line 14:41: W605 invalid escape sequence '.'
Line 15:9: E741 ambiguous variable name 'l'
Line 25:9: E741 ambiguous variable name 'l'
Line 35:26: W605 invalid escape sequence '\s'
Line 35:45: W605 invalid escape sequence '\s'
Line 43:31: W605 invalid escape sequence '.'
Line 44:9: E741 ambiguous variable name 'l'
Line 64:1: E302 expected 2 blank lines, found 1
Line 64:25: E741 ambiguous variable name 'l'
Line 93:21: W605 invalid escape sequence '\s'
Line 93:24: W605 invalid escape sequence '.'
Line 93:32: E261 at least two spaces before inline comment
Line 94:21: W605 invalid escape sequence '\s'
Line 94:41: E261 at least two spaces before inline comment
Line 94:42: E262 inline comment should start with '# '
Line 95:21: W605 invalid escape sequence '\s'
Line 95:31: E261 at least two spaces before inline comment
Line 96:21: W605 invalid escape sequence '\s'
Line 96:24: W605 invalid escape sequence '.'
Line 96:33: W605 invalid escape sequence '\s'
Line 96:66: E261 at least two spaces before inline comment
Line 96:67: E262 inline comment should start with '# '
Line 96:80: E501 line too long (83 > 79 characters)
Line 97:21: W605 invalid escape sequence '\s'
Line 97:24: W605 invalid escape sequence '.'
Line 97:80: E501 line too long (92 > 79 characters)
Line 103:9: E741 ambiguous variable name 'l'
Line 105:9: E741 ambiguous variable name 'l'
Line 118:13: E741 ambiguous variable name 'l'
Line 123:1: E302 expected 2 blank lines, found 1

Hello @hmacdope! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file src/lib/tests/googlebench/.ycm_extra_conf.py:

Line 8:1: E122 continuation line missing indentation or outdented
Line 9:1: E122 continuation line missing indentation or outdented
Line 10:1: E122 continuation line missing indentation or outdented
Line 11:1: E122 continuation line missing indentation or outdented
Line 12:1: E122 continuation line missing indentation or outdented
Line 13:1: E122 continuation line missing indentation or outdented
Line 14:1: E122 continuation line missing indentation or outdented
Line 15:1: E122 continuation line missing indentation or outdented
Line 16:1: E122 continuation line missing indentation or outdented
Line 17:1: E122 continuation line missing indentation or outdented
Line 18:1: E122 continuation line missing indentation or outdented
Line 19:1: E122 continuation line missing indentation or outdented
Line 20:1: E122 continuation line missing indentation or outdented
Line 21:1: E122 continuation line missing indentation or outdented
Line 22:1: E122 continuation line missing indentation or outdented
Line 34:19: E201 whitespace after '('
Line 34:47: E202 whitespace before ')'
Line 35:3: E111 indentation is not a multiple of four
Line 35:43: E201 whitespace after '('
Line 35:71: E202 whitespace before ')'
Line 37:3: E111 indentation is not a multiple of four
Line 39:22: E201 whitespace after '['
Line 39:28: E202 whitespace before ']'
Line 41:1: E302 expected 2 blank lines, found 1
Line 42:3: E111 indentation is not a multiple of four
Line 42:26: E201 whitespace after '('
Line 42:43: E201 whitespace after '('
Line 42:52: E202 whitespace before ')'
Line 42:54: E202 whitespace before ')'
Line 45:38: E201 whitespace after '('
Line 45:63: E202 whitespace before ')'
Line 46:3: E111 indentation is not a multiple of four
Line 47:17: E201 whitespace after '('
Line 47:23: E202 whitespace before ')'
Line 48:3: E111 indentation is not a multiple of four
Line 49:3: E111 indentation is not a multiple of four
Line 50:3: E111 indentation is not a multiple of four
Line 50:17: E201 whitespace after '['
Line 50:59: E202 whitespace before ']'
Line 51:3: E111 indentation is not a multiple of four
Line 55:7: E111 indentation is not a multiple of four
Line 56:7: E111 indentation is not a multiple of four
Line 56:30: E201 whitespace after '('
Line 56:34: E202 whitespace before ')'
Line 57:33: E201 whitespace after '('
Line 57:57: E202 whitespace before ')'
Line 60:7: E111 indentation is not a multiple of four
Line 64:7: E111 indentation is not a multiple of four
Line 64:26: E201 whitespace after '('
Line 64:36: E202 whitespace before ')'
Line 65:21: E201 whitespace after '['
Line 65:26: E201 whitespace after '('
Line 65:36: E202 whitespace before ')'
Line 65:39: E202 whitespace before ']'
Line 66:45: E201 whitespace after '('
Line 66:69: E202 whitespace before ')'
Line 70:7: E111 indentation is not a multiple of four
Line 70:24: E201 whitespace after '('
Line 70:33: E202 whitespace before ')'
Line 71:3: E111 indentation is not a multiple of four
Line 74:18: E201 whitespace after '('
Line 74:27: E202 whitespace before ')'
Line 75:3: E111 indentation is not a multiple of four
Line 75:32: E201 whitespace after '('
Line 75:41: E202 whitespace before ')'
Line 75:44: E201 whitespace after '['
Line 75:46: E202 whitespace before ']'
Line 76:3: E111 indentation is not a multiple of four
Line 76:24: E201 whitespace after '['
Line 76:52: E202 whitespace before ']'
Line 79:31: E201 whitespace after '('
Line 79:40: E202 whitespace before ')'
Line 80:3: E114 indentation is not a multiple of four (comment)
Line 81:3: E114 indentation is not a multiple of four (comment)
Line 82:3: E114 indentation is not a multiple of four (comment)
Line 83:3: E114 indentation is not a multiple of four (comment)
Line 84:3: E111 indentation is not a multiple of four
Line 84:19: E201 whitespace after '('
Line 84:28: E202 whitespace before ')'
Line 85:33: E201 whitespace after '('
Line 85:42: E202 whitespace before ')'
Line 85:45: E201 whitespace after '['
Line 85:47: E202 whitespace before ']'
Line 87:7: E111 indentation is not a multiple of four
Line 88:7: E111 indentation is not a multiple of four
Line 88:25: E201 whitespace after '('
Line 88:42: E202 whitespace before ')'
Line 90:27: E202 whitespace before ')'
Line 92:11: E111 indentation is not a multiple of four
Line 94:3: E111 indentation is not a multiple of four
Line 94:45: E201 whitespace after '('
Line 94:54: E202 whitespace before ')'
Line 97:18: E201 whitespace after '('
Line 97:37: E202 whitespace before ')'
Line 98:3: E111 indentation is not a multiple of four
Line 101:50: E201 whitespace after '('
Line 101:59: E202 whitespace before ')'
Line 103:7: E111 indentation is not a multiple of four
Line 107:45: E202 whitespace before ')'
Line 108:3: E111 indentation is not a multiple of four
Line 110:52: E201 whitespace after '('
Line 110:71: E202 whitespace before ')'
Line 112:3: E111 indentation is not a multiple of four

In the file src/lib/tests/googlebench/bindings/python/google_benchmark/__init__.py:

Line 77:80: E501 line too long (90 > 79 characters)
Line 96:80: E501 line too long (80 > 79 characters)
Line 101:80: E501 line too long (84 > 79 characters)
Line 111:80: E501 line too long (84 > 79 characters)
Line 122:80: E501 line too long (86 > 79 characters)

In the file src/lib/tests/googlebench/bindings/python/google_benchmark/example.py:

Line 16:80: E501 line too long (82 > 79 characters)
Line 18:80: E501 line too long (80 > 79 characters)
Line 41:1: E302 expected 2 blank lines, found 1
Line 88:80: E501 line too long (88 > 79 characters)

In the file src/lib/tests/googlebench/conanfile.py:

Line 25:80: E501 line too long (101 > 79 characters)
Line 36:80: E501 line too long (111 > 79 characters)
Line 37:80: E501 line too long (125 > 79 characters)
Line 42:80: E501 line too long (112 > 79 characters)
Line 49:80: E501 line too long (94 > 79 characters)
Line 50:80: E501 line too long (108 > 79 characters)
Line 52:80: E501 line too long (91 > 79 characters)
Line 54:80: E501 line too long (113 > 79 characters)
Line 55:80: E501 line too long (123 > 79 characters)

In the file src/lib/tests/googlebench/setup.py:

Line 21:80: E501 line too long (83 > 79 characters)
Line 49:80: E501 line too long (85 > 79 characters)
Line 71:80: E501 line too long (82 > 79 characters)
Line 72:80: E501 line too long (83 > 79 characters)

In the file src/lib/tests/googlebench/tools/compare.py:

Line 45:80: E501 line too long (80 > 79 characters)
Line 47:80: E501 line too long (80 > 79 characters)
Line 49:80: E501 line too long (80 > 79 characters)
Line 65:80: E501 line too long (513 > 79 characters)
Line 72:80: E501 line too long (202 > 79 characters)
Line 81:80: E501 line too long (88 > 79 characters)
Line 91:80: E501 line too long (80 > 79 characters)
Line 121:80: E501 line too long (80 > 79 characters)
Line 136:80: E501 line too long (93 > 79 characters)
Line 152:80: E501 line too long (80 > 79 characters)
Line 158:80: E501 line too long (111 > 79 characters)
Line 311:80: E501 line too long (92 > 79 characters)
Line 387:80: E501 line too long (84 > 79 characters)
Line 399:80: E501 line too long (90 > 79 characters)

In the file src/lib/tests/googlebench/tools/gbench/report.py:

Line 157:1: E302 expected 2 blank lines, found 1
Line 174:1: E302 expected 2 blank lines, found 1
Line 180:80: E501 line too long (93 > 79 characters)
Line 183:80: E501 line too long (83 > 79 characters)
Line 193:80: E501 line too long (84 > 79 characters)
Line 234:80: E501 line too long (110 > 79 characters)
Line 247:80: E501 line too long (90 > 79 characters)
Line 252:80: E501 line too long (111 > 79 characters)
Line 341:80: E501 line too long (82 > 79 characters)
Line 342:80: E501 line too long (84 > 79 characters)
Line 343:80: E501 line too long (83 > 79 characters)
Line 344:80: E501 line too long (85 > 79 characters)

In the file src/lib/tests/googlebench/tools/gbench/util.py:

Line 73:80: E501 line too long (91 > 79 characters)
Line 125:80: E501 line too long (80 > 79 characters)

In the file src/lib/tests/googlebench/tools/strip_asm.py:

Line 12:1: E302 expected 2 blank lines, found 1
Line 14:28: W605 invalid escape sequence '\s'
Line 14:38: W605 invalid escape sequence '\s'
Line 14:41: W605 invalid escape sequence '.'
Line 15:9: E741 ambiguous variable name 'l'
Line 25:9: E741 ambiguous variable name 'l'
Line 35:26: W605 invalid escape sequence '\s'
Line 35:45: W605 invalid escape sequence '\s'
Line 43:31: W605 invalid escape sequence '.'
Line 44:9: E741 ambiguous variable name 'l'
Line 64:1: E302 expected 2 blank lines, found 1
Line 64:25: E741 ambiguous variable name 'l'
Line 93:21: W605 invalid escape sequence '\s'
Line 93:24: W605 invalid escape sequence '.'
Line 93:32: E261 at least two spaces before inline comment
Line 94:21: W605 invalid escape sequence '\s'
Line 94:41: E261 at least two spaces before inline comment
Line 94:42: E262 inline comment should start with '# '
Line 95:21: W605 invalid escape sequence '\s'
Line 95:31: E261 at least two spaces before inline comment
Line 96:21: W605 invalid escape sequence '\s'
Line 96:24: W605 invalid escape sequence '.'
Line 96:33: W605 invalid escape sequence '\s'
Line 96:66: E261 at least two spaces before inline comment
Line 96:67: E262 inline comment should start with '# '
Line 96:80: E501 line too long (83 > 79 characters)
Line 97:21: W605 invalid escape sequence '\s'
Line 97:24: W605 invalid escape sequence '.'
Line 97:80: E501 line too long (92 > 79 characters)
Line 103:9: E741 ambiguous variable name 'l'
Line 105:9: E741 ambiguous variable name 'l'
Line 118:13: E741 ambiguous variable name 'l'
Line 123:1: E302 expected 2 blank lines, found 1

@nbgl I have added googlebench so we can benchmark stuff the proper way. Initial application is in benchmark.cpp which shows neatly how it can be done. Once we have your code merged we can work on benchmarking?

@nbgl I have added googlebench so we can benchmark stuff the proper way. Initial application is in benchmark.cpp which shows neatly how it can be done. Once we have your code merged we can work on benchmarking?


[Job/LOI cards] Display number of submissions

For discussion with @ngosue. Perhaps we can generalize "completion" by simply showing the submission count and changing styling/iconography when the count > 0. For example:
✅ 3 submissions

@gino-m if there are no submissions, do we want the UI to show "0 submissions" or should we just not show this string in that case?

@gino-m if there are no submissions, do we want the UI to show "0 submissions" or should we just not show this string in that case?

As a first step "0 submissions" would work. In the future we may want to give job cards and text different treatments for 0 vs >0, but for now this should suffice.

Huh... it looks like we already have this?

And there's even a special case that says "No submissions" if there are none, so this is already done!


Shayan/include new environment variables in build process for test environment deployment

changes:
added these new env variables to the build step of test environment deployment workflow:

VITE_GROWTHBOOK_DECRYPTION_KEY
VITE_GROWTHBOOK_CLIENT_KEY
VITE_RUDDERSTACK_KEY
VITE_REMOTE_CONFIG_URL

Pull Request Test Coverage Report for Build<PHONE_NUMBER>4
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

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

Totals

Change from base Build<PHONE_NUMBER>5:
0.0%

Covered Lines:
5739

Relevant Lines:
6251

💛  - Coveralls


Can't find the Commandlet on Linux.

The engine keeps crashing whenever I try to run the HelloWorld commandlet at startup.
I'm on engine version 4.15.3.
Running UE4Editor ~/Documents/unrealprojects/CommandletExample/Binaries/Linux/CommandletExample -run=HelloWorldCommandlet
Always gives:

[2017.05.24-02.36.14:821][  0]LogInit:Error: HelloWorldCommandlet looked like a commandlet, but we could not find the class.

just running ~/Documents/unrealprojects/CommandletExample/Binaries/Linux/CommandletExample -run=HelloWorldCommandlet
Gives:

LogLinux:Error: appError called: Assertion failed: Assertion failed: HasFoundDataDirectory [File:/opt/unreal-engine/Engine/Source/Runtime/Core/Private/Internationalization/ICUInternationalization.cpp] [Line: 128]
ICU data directory was not discovered:
../../../CommandletExample/Content/Internationalization
../../../Engine/Content/Internationalization
Signal 11 caught.
Malloc Size=131076 LargeMemoryPoolOffset=131092

try this:
UE4Editor ~/Documents/unrealprojects/CommandletExample/Binaries/Linux/CommandletExample -run=HelloWorld

No dice. It looks like there is a bug in Unreal causing issue with Commandlets on Linux. https://answers.unrealengine.com/questions/91089/cant-run-packaged-game-on-linux-machine.html

what is the error when you type my command line? Make sure that the parameter to '-run=' is HelloWorld, not HelloWorldCommandlet.

Closing this out due to lack of response.


Custom redshift language

This PR composes and uses a custom redshift Monaco language that is based on the standard sql language from grafana experimental. This was made possible in this this PR in grafana experimental.
Part of https://github.com/grafana/redshift-datasource/issues/108
Fixes #153

My main question here is that if we are able to extend the existing monaco language for redshift so we don't need to re-define everything?

Any language from the Monaco language registry can be used, but extending it is not possible. But we don't want to use the redshift language from the Monaco registry for a few reasons:

It's not official or actively maintained. Comparing for example the functions in the official language ref, there's a bunch of things missing in the Monaco language
Composing a new language based on the standard grafana sql language will give syntax highlighting for template variables and macros
Differentiating different operators using the SQLMonarchLanguage will enable a better autocomplete experience

Plan to update the redshift language definition so that it's at least somewhat close to official language ref in a future PR

 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.

@andresmgot any idea of what's causing the build error?


Add consensus library

@NicolasDorier, this PR includes some temporal changes for using the bitcoin core consensus library in NBitcoin.
It seems to work and tests pass green except for two failing tests (multisign tests):
------ Test started: Assembly: NBitcoin.Tests.exe ------

Test 'NBitcoin.Tests.script_tests.script_CHECKMULTISIG12' failed: Assert.True() Failure
	script_tests.cs(421,0): at NBitcoin.Tests.script_tests.script_CHECKMULTISIG12()

Test 'NBitcoin.Tests.script_tests.script_CHECKMULTISIG23' failed: Assert.True() Failure
	script_tests.cs(464,0): at NBitcoin.Tests.script_tests.script_CHECKMULTISIG23()

15 passed, 2 failed, 0 skipped, took 4,71 seconds (xUnit.net 1.9.2 build 1705).

I don't fully understand the multisignature logic yet but I will continue trying to find the problem. Could you take a look at this code and let me know if there is some obvious mistake, please?
IMPORTANT: you need to do:

copy the libbitcoinconsensus-0.dll to the Test Output Folder and,
be sure the target platform is x64 (because the consensus library is x64)

Forget it. I get it.

I have to say something stupid: the concensus library works perfectly well ;)
Currently all script_tests pass green.
------ Test started: Assembly: NBitcoin.Tests.exe ------

17 passed, 0 failed, 0 skipped, took 4,41 seconds (xUnit.net 1.9.2 build 1705).

Of course we have to do some very few and minor changes in the VerifyScript methods, move some lines of code to a better pace among others but it feel awesome to see the tests green.

With my latest commit the integration is done and tested with and without using the bitcoin consensus library (BCL). By the way, with the BCL tests run almost 300% faster. Look my previous comment (with BCL) and these times without the BCL:
------ Test started: Assembly: NBitcoin.Tests.exe ------

17 passed, 0 failed, 0 skipped, took 11,56 seconds (xUnit.net 1.9.2 build 1705).

When you define NOCONSENSUSLIBRARY in project file you must separate by using ';' not ','.
I don't understand, why the test were broken ? they pass on master.
Also, I want that code that are actually using the NBitcoin Script interpreter continue to do it as before.
We will only add different methods to use the lib consensus check.

When you define NOCONSENSUSLIBRARY in project file you must separate by using ';' not ','.

No problem. I will fix it.

I don't understand, why the test were broken ? they pass on master.

They are not broken. Once I tested with the BCL they failed because the scriptSig were not in the transaction input and the BCL uses takes the scriptSig from txTo.Inputs[txIn].ScriptSig. I mean, if you look ate the VerifyScript parameters, it requires the scriptPublicKey, toTx and nIN but doesn't requires the scriptSig because it takes it from the transaction input.

Also, I want that code that are actually using the NBitcoin Script interpreter continue to do it as before.

Ok, just to undertand. Why? I mean, what you did is fantastic but don't you think the BCL can provide a much easier way to be on sync with the protocol rules to achieve consensus? Next time something change in the script verification, a NBitcoin user could just to download the latest libbitcoinconsensus-x.dll and replace the previous one with the latest one; otherwise he has to wait for an update in NBitcoin.

We will only add different methods to use the lib consensus check.

Ok, I can do that. But I have a question:  which Script.VerifyScript method should be used by the Transaction.VerifyScript method?

Ok, just to undertand. Why? I mean, what you did is fantastic but don't you think the BCL can provide a much easier way to be on sync with the protocol rules to achieve consensus?

Because I don't want to impose to people deploying the dll. Deploying a native dll with an app is a major headache because the dll to use depends on the bitness (32 or 64 or other) you are using.
Also the lib consensus can't be portable, while my implementation is.
Also my implementation send detailed result about why a script don't pass, while lib consensus is more general.
I think for heavy intensive application (or full node implementation), it makes sense for them to choose lib consensus though. For others, it is more an hassle.

Ok, I can do that. But I have a question: which Script.VerifyScript method should be used by the Transaction.VerifyScript method?

The one that it used before. (my implementation)
We can add a method VerifyScriptConsenus()... for the consensus lib version.

Once I tested with the BCL they failed because the scriptSig were not in the transaction input and the BCL takes the scriptSig from txTo.Inputs[txIn].ScriptSig.

Ok I understand, indeed it was a problem.

I forget to say : the data driven tests script_valid and script_invalid should also try the consensus implementation. (I can do it in another commit thhough)

I added the Script.VerifyScriptConsensus method. Status: script_valid, script_CHECKMULTISIG12 and script_CHECKMULTISIG23 pass green with both algorithm (yours and BCL). script_invalid is RED because the test #463 seems to be valid for the consensus library. That's very wierd because in my previous commit all tests were green.

You can see I updated the script_invalid.json file. I did that just to be sure the test cases are correct. The point is the script_invalid test fails with the same error: P2PK with unnecessary input with both, the previous script_invalid.json file and the new one.
NOTE: XUnit Test Explorer cannot discover/run tests with platform other than AnyCPU and x86. So, if you want to run the tests with xUnit Test Explorer, you have to use the 32bits version of libbitcoinconsensus-0.dll .
Could you please review this PR? Thanks

Seems good to me.
I will download libconsensus should be downloaded by the tests automatically, and SHA checksum checked.


Use hatch build rather than python -m build

I got an error that the build module was not found, when doing pixi run publish-ribasim-python. I tried pixi add build but it didn't work and I saw the last release was 3 years ago. Since we already use hatchling it makes sense to use https://hatch.pypa.io/1.12/build/ as well. I already tried it to publish v2024.11.0 and it seems to work fine.

The build feedstock has been archived: see https://github.com/conda-forge/build-feedstock
It has been replaced by python-build and that's the one that will work as a pixi dependency: https://github.com/conda-forge/python-build-feedstock
That one is up to date, latest change 2 days ago.


ZS-57 ~ Adds configuration for microgrids

 You should sign our Contributor License Agreement in order to get your pull request merged.


Cannot run Jenny.exe gen on pure C# project

Hi,
I tried to use Roslyn compiler on my new C# pure project, and I wasn't able to run Jenny.exe gen (i've got properly configured Jenny.properties file, as well as properly configured .csproj). I also couldn't run it using the tutorial that was provided for Entitas Pure. (so in order to reproduce the issue, just follow the tutorial on a Windows machine. Instead of mono Jenny.exe simply use Jenny.exe).
I got Jenny.zip today from Unity asset store. The version is 1.12.2.
The error that pops in the terminal is:
Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.
I managed to run Jenny.exe gen as a debug target in visual studio, to extract LoaderExceptions property, and here are the details
I am trying to do this on Windows 10 machine.
EDIT: If I try to follow the tutorial, but don't enable roslyn plugin when asked, Jenny.exe gen runs without a problem.

@charlieamer if you're on windows you can run Jenny.exe directly. You only need to use mono if you're on macOS.
You can append -v to any command to get verbose output
e.g.
./Jenny/Jenny.exe gen -v

when you run Jenny.exe without any parameters it will start the jenny wizard which helps you generate a proper Jenny.properties file. Usually that helps when there are any issues

follow @charlieamer , I use mono to run jenny.exe and modify Entitas.CodeGeneration.Plugins.Assemblies = Library/ScriptAssemblies/Assembly-CSharp.dll
to project dll path in bin/Debug/{.netversion}/{dllname}.dll
it works for me

@charlieamer
EntitasPure has been renamed to Entitas-Standalone and is updated to .NET 6.0 and using nuget.
You can now generate using dotnet. Please see: Entitas-Standalone


Use spanner-cli specific request tags for queries like SELECT 1

spanner-cli itself may issue SQLs in addition to SQLs directly issued by users.
For example, SELECT 1 issued for heartbeat purposes, etc.
Such queries appear in Cloud Spanner's query statistics and may confuse users who are unaware that spanner-cli is issuing them.
To identify such queries more easily, I suggest adding spanner-cli specific request tags to the queries.
As far as I can find, spanner-cli seems to issue its own SELECT query for the following uses.

SELECT 1  - At the beginning of a Read-write transaction
SELECT 1 - To check if DB exists.
SELECT 1  - Heartbeat
SELECT ... FROM INFORMATION_SCHEMA.TABLES ... - SHOW TABLES
SELECT ... FROM INFORMATION_SCHEMA.INDEXES ... - SHOW INDEX
SELECT ... FROM INFORMATION_SCHEMA.COLUMNS ... - SHOW COLUMNS

I am not sure what specific string of text to tag, so I need your opinion.
As an example, it seems that Cloud Console uses sys_cloud_console_* to issue some queries.
spanner> SELECT SUBSTR(text,0,20) AS text, request_tag,
      -> FROM spanner_sys.query_stats_top_minute
      -> WHERE request_tag <> "";
+----------------------+---------------------------------------------+
| text                 | request_tag                                 |
+----------------------+---------------------------------------------+
| SELECT TABLE_NAME, T | sys_cloud_console_DatabaseTables            |
| SELECT VIEW_DEFINITI | sys_cloud_console_TableDetailViewDefinition |
| SELECT OPTION_NAME,  | sys_cloud_console_DatabaseOptions           |
| SELECT INDEX_NAME, I | sys_cloud_console_TableDetailIndexes        |
| SELECT TABLE_NAME, C | sys_cloud_console_TableDetailTableColumnMap |
| SELECT TABLE_NAME, C | sys_cloud_console_DatabaseTableColumnMap    |
| SELECT TABLE_NAME, C | sys_cloud_console_TableDetailColumns        |
| SELECT TABLE_NAME, T | sys_cloud_console_TableDetail               |
| SELECT TABLE_NAME, T | sys_cloud_console_DatabaseTables            |
| SELECT OPTION_NAME,  | sys_cloud_console_DatabaseOptions           |
| SELECT TABLE_NAME, C | sys_cloud_console_DatabaseTableColumnMap    |
+----------------------+---------------------------------------------+

One idea is to use spanner-cli_*, such as spanner-cli_heartbeat

like the following.
+----------------------------+---------------------------------------------+
| request_tag idea           | When is the query issued?                   |
+----------------------------+---------------------------------------------+
| spanner-cli_BeginRW        | BEGIN RW - `SELECT 1`                       |
| spanner-cli_DatabaseExists | DatabaseExists - `SELECT 1`                 |
| spanner-cli_Heartbeat      | Heartbeat - `SELECT 1`                      |
| spanner-cli_ShowTables     | SHOW TABLES - `INFORMATION_SCHEMA.TABLES`   |
| spanner-cli_ShowIndex      | SHOW INDEX - `INFORMATION_SCHEMA.INDEXES`   |
| spanner-cli_ShowColmuns    | SHOW COLUMNS - `INFORMATION_SCHEMA.COLUMNS` |
+----------------------------+---------------------------------------------+

@takabow Looks good! Thanks for raising this.
One thing I want to discuss is whether we should use different tags for different use cases.
If we use the same tag like spanner-cli for all use cases, it's easier for us to maintain the code and also it would be easier/intuitive for users to exclude the spaner-cli requests: WHERE request_tag != "spanner-cli".
Do we think it's better to use different tags for each use case?

The request tag is used as the key of the query stats entry, not the part of the compound key.

TEXT
Statistics for multiple queries that have the same tag string are grouped in a single row with the REQUEST_TAG matching that tag string. Only the text of one of those queries is shown in this field, truncated to approximately 64KB.

TEXT_FINGERPRINT
The hash of the REQUEST_TAG value if present; Otherwise, the hash of the TEXT value.

I think this behavior is confusing and it is better to use different request_tag for each query to ease troubleshoot.

it would be easier/intuitive for users to exclude the spaner-cli requests: WHERE request_tag != "spanner-cli".
I think it is not hard to use WHERE request_tag NOT LIKE "spanner-cli_%".

Ah I didn't know that the multiple requests with the same tag are grouped into the single row of query statistics regardless of the actual queries. Then using the same tag doesn't make sense from semantics perspective.

As apstndb suggested, I would like to implement this with individual tags.

Sounds good to me!


Fix links from Examples to NBVIEWER

Example: https://github.com/JuliaReach/ReachabilityAnalysis.jl/blob/master/examples/vanderpol.jl#L2

this is now fixed


No history entry when changing RFC Editor Note for doc

What happened?
The datatracker does not seem to add a history entry capturing previous versions of an RFC Editor Note for a document when that is changed multiple times.
What browser(s) are you seeing the problem on?
Not Applicable
Code of Conduct

[X] I agree to follow the IETF's Code of Conduct

Fixing this going forward is easy. Trying to repair old data will be nearly impossible.

I'm working on this and wondering what you would like to see.  I can add the previous value of the RFC Editor note to the message that appears on the "History" tab.  Is that what you are looking for?

We have an inconsistent mix of some things that show "new value", some that show "old value" and some that show "changed from old_value to new_value.
If we were building from scratch, I would have it say "set RFC Editor not set to " whenever it is set, and we could move to that, but again, backfilling history will be hard.

It looks like #6021 did what I describe (minus fixing the impossible part)


spike: Protocol Analysis

Problem Statement
We currently don't have analytical systems in place to monitor the protocol's usage and performance.
In my opinion we have a couple of paths in the near term:

Perform analysis on data maintained by the protocol: the state ledger and node interactions.
Implement an event driven system to emit and store events for analysis in a centralized space as outlined here

Discussion points
There are trade-offs for both of these options and they aren't mutually exclusive but I believe the second is more robust while requiring less work on the protocol side, and is thus a quicker solution.
One critical pain point is that I believe storing the granularity of data I'd be interested in would be prohibitive if it's stored in each block:

To accommodate keeping more granular data on the protocol we have the option of only storing the current state of the network (aggregates and averages) on the state blockchain, having individual nodes store more specific data related to their interactions, and then reconciling the two.
For example, an individual worker stores it's own utility over time but to interact with the network that utility has to reconcile with their current utility which is stored officially by a validator. The validator is a summarization (in this case an average) of more granular data stored elsewhere.
This can correspond with any node specific data so we're distributing the granularity while maintaining our ability to verify.
The main drawback for me with this approach for analysis is that the distributed nature makes it much more difficult to aggregate and manipulate the data.
Furthermore this path has many dependencies on technology still being developed for use within the protocol potentially delaying its functionality.

The other main point is a question of separation of concerns and unnecessary data:

An event driven system that feeds a centralized data store for analysis allows us to avoid needing to persist granular data only used for tuning the protocol.
This approach is also more modular and easier to modify without cascading implications to the actual logic of the protocol.

The main drawbacks to implementing an event-driven data layer are:

The costs associated with the Cloud infrastructure
the upfront engineering needed to stand up the main components (maintenance and extensibility are much easier).

Summary
I believe implementing an event driven infrastructure should be a priority as it would:

avoid the bloat of granular data (meant for analysis) being stored on the protocol.
begin to decouple analytics by leaning into an SDK as a layer to extract information from the protocol.
create an immediate pathway for saving protocol information in relation to disaster recovery

Acceptance Criteria:

[ ] A more detailed analysis around the implications of each decision particularly regarding proximate work streams.
[ ] We have a roadmap for the growth of analytics in Q3 and Q4 addressing noted limitations with a high level view to amelioration.

SDK Ticket

The simplistic flow to understand:

[ ] Oracles

[ ] request received/submitted
[ ] request sent/error

[ ] Worker/s

[ ] request received
[ ] request completed/error

[ ] Validator

[ ] work received
[ ] reviewed work
[ ] parse utility/rewards

Further I'll outline a consistent structure to make parsing this data easier.
It'll follow something like:
{
  "timestamp": "2024-07-05T10:30:00Z",
  "node_id": "oracle_id",
  "event_type": "request_received",
  "metadata": {
    "cid": "..."
    "key": value
     etc.
  }
}

{
  "timestamp": "2024-07-05T10:30:05Z",
  "node_id": "worker_1",
  "event_type": "work_received",
  "metadata": {
    "cid": "...",
    "received_from": "oracle_id"
  }
}

@j2d3 please add your thoughts here ASAP so we can dig into a resolution.

@theMultitude this is the code that ships a json payload to s3 https://github.com/masa-finance/masa-oracle/pull/392/commits/563c1506c2217455da8ae3e904e9ae5de6dc0920
and this would be how you call it where jsonPayload contains the data to send
err = db.SendToS3(id, jsonPayload)
if err != nil {
 logrus.Errorf("[-] Failed to send oracle data: %v", err)
}

Summary of Q3 Work Streams
From an analytics perspective, one of the most commonly encountered issues is realizing you haven't collected the data needed for future analysis. As we go about trying to fine tune an economic model and stabilize the protocol during organic growth we don't want to find ourselves in that situation. In contrast to periodic data pulls that offer static glimpses event driven analytics gives visibility into critical state changes.  The following is an outline of data streams I see as essential to analytics work within the current quarter (Q3 2024) at Masa.

Node State (vertices) - How does node state change over time?  Node state at any point in time is  encompassed within the nodeData structure as it currently exists. However, understanding how node state evolves is important for understanding the make-up of our network and how nodes mature over time.

Node Relationships (edges) - How do nodes relate to one another?  I want to understand which nodes interact with other nodes and how those patterns develop over time.

Work Threads - How does a request for data from the protocol propagate and come to completion?

These data streams don't need to exist immediately but taking the time to carve out their foundations will make refining them infinitely easier as we move forward.
Associated Tickets

[ ]  #419
[ ]  #297
[ ]  feat: Add Context for Requests Coming from Bittensor
[ ]  spike: Outline Experimentation Tooling and Flow
[ ] #304


Define and document the MediaTag component

Please merge #127 before this
Description

This PR adds the MediaTag component that represents one tag associated with a media item.
Screenshots

Checklist

[x] My pull request has a descriptive title (not a vague title like Update index.md).
[ ] My pull request targets the default branch of the repository (main or master).
[x] My commit messages follow best practices.
[x] My code follows the established code style of the repository.
[ ] I added or updated tests for the changes I made (if applicable).
[x] I added or updated documentation (if applicable).
[x] I tried running the project locally and verified that there are no visible errors.

Developer Certificate of Origin

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

We don't plan to use this component as a link to filter/navigate the search results, so we should not have the link states. This might change, but I suggest keeping it as simple as possible. I'm tasked with the single result mockup where this element will be.


[Feature] support for more trigger webhook PayloadType

How a trigger works?
The trigger currently only supports webhook type, which is triggered by an HTTP post request. The custom PayloadType is supported by default:
Upgrade  map[string]*model.JSONStruct `json:"upgrade,omitempty"`
CodeInfo *model.CodeInfo              `json:"codeInfo,omitempty"`

The upgrade defines component properties changes. The codeInfo defines code commit info, it can be saved to app revision.
Support more PayloadType
We usually need to trigger application deployment by changes in the product library. such as:

[ ]  DockerHub Webhook
[x]  ACR Trigger #3044
[ ]  Harbor Webhook
[ ]  JFrog Webhook

We have similar needs recently, maybe I can try to implement part of Harbor Webhook

I can implement dockerhub webhook first

Harbor merged ： https://github.com/oam-dev/kubevela/pull/3065