How do I route to a page using react-router-dom

Is your feature request related to a problem? Please describe.
Hi, firstly, great job with the command palette. I was able to adapt it to look exactly like I wanted. However, I am trying to figure out how I can create a "command" for each option so each may either navigate to a different component using react-router-dom, or then open up another modal for example on the same screen ?
Describe the solution you'd like
Would be good if I could do something like
<Link to="/login"/>
Describe alternatives you've considered
It works if I do
document.location.href = 'http://localhost:3000'
but I plan to embed my react app inside Electron to make a desktop app. .
Could you please advise?

the following worked for me
document.location.href = '/'
so i guess no need for the react-dom-router?

@sudhamab please checkout history.push
https://tylermcginnis.com/react-router-programmatically-navigate/
I’d suggest calling it from with the commands. Please LMK if this is what you’re looking for and I’ll close the ticket

thanks @asabaylus . I looked at that reference you mentioned before reaching out. But somehow i am not able to call the setState method so I am probably missing something syntactical.
Ideally i'd like to structure the code as in the example
https://codesandbox.io/s/hfqjn
where the styling and the component and the commands are nicely separated.
But even if I put things inline like the code below, I am not able to call the setState
import React from 'react'
import atomTheme from "./atomTheme"
import atomCommand from "./atomCommand"
import "./atomTheme.css"
import CommandPalette from 'react-command-palette'

class CustomCommandPalette extends React.Component {
  constructor(props) {
    super(props)
    this.state = {
      currentCommand: ''
    }
    this.handleSubmit = this.handleSubmit.bind(this)
  }

  handleSubmit = (shortcut) => {
    console.log('handleSubmit')
    this.setState({currentCommand: shortcut})
  }

  commands = [
    {
      id: 1,
      name: "Go to Home Screen",
      category: "Navigate",
      shortcut: "H",
      // command: function noRefCheck() {
      //   this.handleSubmit(this.shortcut)
      // }
      command() {
        return () => this.handleSubmit(this.shortcut)
      }
    }
  ]

  render() {
    console.log('render was called')
    return(
      <CommandPalette
        hotKeys="command+k"
        renderCommand={atomCommand}
        theme={atomTheme}
        commands={this.commands}
        trigger={"click me"}
        // closeOnSelect={true}  /*IMPORTANT: REMEMBER TO CHANGE BACK LATER */
        open
      />
    )
  }
}

export default CustomCommandPalette;

If you can show me how I can provide the setState option if the commands file is separate, that would be perfect.
Else, at least knowing how I can do this in the component class would be useful.
thanks in advance!

To quote the ReadMe: The command is a function that will be executed when the user clicks or presses the enter key. Commands may also include custom properties where "this" will be bound to the command, for example:
  {     id: 1,     color: 'pink',     name: "Foo",     command() {       document.location.href =somepage.html?id=${this.id}&color=${this.color};     }   },   ...
The this is you method is bound to the scope of the command itself.

@sudhamab did you figure it out, or do you need an example?

@asabaylus thank you for following up. actually an example would be great but ideally if you could guide me how to do it with the commands in a separate file that would be great. but if not, whatever you think is the right way to structure the code. we want to keep it clean.
I know in my example, the this was referring only to the keys within the command but I shared it anyways to share with you what I was trying to do so you can guide me
much appreciate your follow up and help.
definitely going to use your command palette in our project.
thanks again

You can do something like...
function command() {
  console.log(`Run Command: ${this.id}
  with payload ${JSON.stringify(this)}`);
}

export default [
  {
    id: 1,
    category: "Command",
    color: "purple",
    name: "Start All Data Imports",
    command
  },
  ...

// Run Command: 1
//  with payload {"id":1,"category":"Command","color":"purple","name":"Start All Data Imports"}

Checkout the commands.js file:
https://codesandbox.io/embed/reactcommandpalette-t1lyh?expanddevtools=1&fontsize=14&hidenavigation=1&moduleview=1

@asabaylus sincere apologies for the delay. I was trying to integrate other pieces of the app in the mean time.  and thank you for sharing the example.
But I am trying to still figure out how to use the command field to "navigate / route" to a different path in the app.
the new addition to this problem is that I am trying this in an Electron app. So document.location.href worked if I use a  BrowerRouter but not HashRouter.
If I could somehow pass information back to parent component once the command is selected, it would be good. An onSelect() handler that lets me then interpret the selected value. So then I could use the parent component for navigation.

@sudhamab While I’m pretty sure you can achieve your goal without onSelect I’ve been considering adding it for a while now. iWork on it next

thank you. yes please add onSelect at your earliest convenience. We want to roll out one beta version and we are just waiting to resolve this.
I am trying other ways but this would make life much easier and with the onSelect we can probably use things like "Link" or something like it to redirect based on which option is selected. without it i am still figuring it out.
Also this library is a crucial one for what we are building. thanks once again.

@asabaylus after trying a bunch of different things, I was able to find a work around in the following way by using withRouter.  I have not yet packaged it into a DMG but this feels like progress. Thought i should share it
import React from 'react'
import commands from "./commands"
import atomTheme from "./atomTheme"
import atomCommand from "./atomCommand"
import "./atomTheme.css"
import CommandPalette from 'react-command-palette'
import { withRouter } from "react-router";

var selectedIndex = 0;

class CustomCommandPaletteWithoutRouter extends React.Component {

  constructor(props) {
    super(props)
    this.state = {
      selectedIndex: 0,
      commands: [
        {
          id: 2,
          name: "Do something",
          category: "Command",
          shortcut: 'M',
          command() {props.history.push('/do/something')}
        },
        {
          id: 3,
          name: "Do Something Else",
          category: "Command",
          shortcut: 'B',
          command() {props.history.push('/do/another/thing')}
        }
      ]
    }
  }

  render() {
    return(
      <CommandPalette
        hotKeys= 'command+k'
        renderCommand={atomCommand}
        theme={atomTheme}
        commands={this.state.commands}
        trigger={"click me"}
        maxDisplayed={100}
        open
      />
    )
  }
}

const CustomCommandPalette = withRouter(CustomCommandPaletteWithoutRouter)

export default CustomCommandPalette


Changing grid size un-aligns widgets

If you go from let's say 128 to 140 grid size the grid moves but the widgets don't.
Proposed solution:
the widgets x, y, width, and height should be proportionally scaled.
var * (newGridSize/oldGridSize)

The proposed solution will work, there is an issue it will cause. Most widgets have a minimum size to prevent it from overflowing, but if someone scales the grid size down it could cause widgets to go below their minimum size. Shifting the position won't be an issue, but the size could mess up the rendering because widgets would overflow into other widgets

I added a feature that solves this issue, but not in the proposed way. Instead of scaling the sizes of the widgets down, it keeps them in the same spot and size on the screen, but snaps them to fit the new grid size.


(Auto) start loadtest

Hi!
I am looking for the best way to start the Locust loadtest scripts.
I expected that as soon as I deployed the master/worker, the script provided in the "helm install" execution with option "loadtest.locust_locustfile_configmap" would start immediately. But this is not the case.
My goal is to have the scripts run every 24 hrs. I was thinking about triggering the test by scaling the pods (from 0 to n) in kubernetes via a scheduler.
Is there some documentation or best practice to achieve this?
Thanks in advance.
Regards,
Jos

command:
- sh
- /config/docker-entrypoint.sh
- '--autostart --users 20 --spawn-rate 0.1 -f /mnt/locust/main.py'
Did the trick :)


need encoder for numpy masked array

also numpy.matrix, or just convert this at source from mbar

That's odd, how come it didn't come through on the json roundtrip?


Remove version: Ryujinx.Ryujinx version 1.1.1393

Repository has been taken offline
Relevant GitHub organization & project page response with HTTP 404, official download page of the project becomes blank. The package is no longer availalbe for installation.

Resolves #176342

Microsoft Reviewers: Open in CodeFlow

URL: https://github.com/Ryujinx/release-channel-master/releases/download/1.1.1393/ryujinx-1.1.1393-win_x64.zip
Response status code does not indicate success: 404 (Not Found).
(Automated message - build 896)


fix(websocket): fix server url for kvm and sol

Codecov Report

Merging #182 (0c46325) into master (9027f7a) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master     #182   +/-   ##
=======================================
  Coverage   50.12%   50.12%
=======================================
  Files          33       33
  Lines         822      822
  Branches       85       85
=======================================
  Hits          412      412
  Misses        379      379
  Partials       31       31

Impacted Files
Coverage Δ

src/app/devices/kvm/kvm.component.ts
67.61% <100.00%> (ø)

src/app/devices/sol/sol.component.ts
59.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


Running some native code for the first time results in application lag

Environment
Provide version numbers for the following components (information can be retrieved by running tns info in your project folder or by inspecting the package.json of the project):

CLI: 5.3.0
Cross-platform modules: 5.3.1
Android Runtime: 5.2.x and 5.3.0 tested

Describe the bug
When using trying to use some android variables or instantiate some instances, the first call will have a heavy delay (500-600ms on a Galaxy S8).
Using the playground, reading android.R.integer.config_shortAnimTime, android.R.attr.state_pressed and android.R.attr.state_enabled all caused a delay, which froze the UI.
Downloading the project and using NS 5.3, calling nativeView.getContext().getResources().getInteger also called a delay and freeze. Edit: Running with --bundle shortens this delay for some reason (takes something like 30-40ms)
This freeze happens only on the first time the code is run, after that it takes less than 10ms.
To Reproduce
Measure how long it takes to call:
const t = android.R.integer.config_shortAnimTime; // should take long on first time
nativeView.getContext().getResources().getInteger(t); // should take long on first time in 5.3

Expected behavior
These calls should behave on the first time as they do on the second and onward.
Sample project
https://play.nativescript.org/?template=play-ng&id=28zxPb&v=6
Additional context
We discovered it by https://github.com/JoshDSommer/nativescript-ngx-shadow/issues/16

i actually discovered that issue too yesterday
the reason is that you are accessing android.R. And the issue is the materializing of the

Furthermore, if you create an abstraction for android.R, the issue vanishes:
package com.example;

public class TestClass {
    public static int test() {
        return android.R.integer.config_shortAnimTime;
    }
}

Calling com.example.TestClass.test() returns instantly. This is most likely an issue with NativeScript marshalling (or looking up) android.R to javascript.

@farfromrefug Here you go:
    getAndroidR(rtype: string, field: string): number {
        return java.lang.Class.forName("android.R$" + rtype).getDeclaredField(field).get(null);
    }

Example:
https://play.nativescript.org/?template=play-ng&id=Raa1Ru&v=2
I've found a way to query android.R with minimal lag (should take 0-1ms). I'll probably switch to this method while this issue still exists. I imagine a few plugins are affected by this.

I have the same error while accessing android.R. This doesn't happen with accessing to android.
Here is the demo from the playground:
[Vahid]: js access: 0.00ms
[Vahid]: native access: 901.00ms

After first access, it becomes normal:
[Vahid]: js access: 0.00ms
[Vahid]: native access: 0.00ms

Hey guys! Accessing android.R is slower because of the current way the runtime works. At runtime, when accessing some package or class we return a special JS proxy object for the native symbol. If the native symbol (class or package) has lots of properties the marshaling is quite slow. We're researching some other ways to marshal native symbols but for now, the workaround is to use reflection as @edusperoni did in those cases.

If you must use the full androidR, I hacked an androidR hack using JS Proxy: https://play.nativescript.org/?template=play-ng&id=em2l8m&v=1
if you copy fast-android-r.ts to your project you should be able to use androidR.integer.whatever in a relatively fast way (everything is cached).


Pass through nightly feature to crc32fast crate to get SIMD crc32 on Aarch64

crc32fast crate contains an SIMD implementation of crc32 for Aarch64, but it's gated behind the nightly feature flag.
The relevant intrinsics have actually been stable since Rust 1.80, but the PR to make use of them on stable seems to have stalled: https://github.com/srijs/rust-crc32fast/pull/36
This PR lets us make use of them on nightly at least until upstream sorts out stable support.

Thanks for merging!
@kornelski if you have the time, I would be very interested in seeing the numbers from https://github.com/fintelia/corpus-bench/ on Apple silicon, both before and after this PR. I'd like to make a public announcement about the recent performance gains, and it would be very nice to include the numbers from an ARM system. It would also tell me if the gains from this PR are compelling enough to cut a new release.

Running decoding benchmark with corpus: QoiBench
image-rs PNG:     256.059 MP/s (average) 210.616 MP/s (geomean)
zune-png:         221.543 MP/s (average) 178.502 MP/s (geomean)
wuffs PNG:        255.111 MP/s (average) 200.834 MP/s (geomean)
libpng:           168.912 MP/s (average) 143.849 MP/s (geomean)
spng:             138.046 MP/s (average) 112.993 MP/s (geomean)
stb_image PNG:    186.223 MP/s (average) 139.381 MP/s (geomean)

The code very optimistically assumed that including png.h would work, I had to dust off libpng-sys.

Thanks! I understand this is measured using unmodified https://github.com/fintelia/corpus-bench, not repointed to this PR?

Comparing 2232f83f59b8b1d134fa9b32a1fd28a3a97cfc08 10644dbff4d5b5614199cbc81145838abdafd98c with cargo +nightly run --release -- decode qoi-bench --image-rs-only is below noise threshold.

2232f83f59b8b1d134fa9b32a1fd28a3a97cfc08 with unstable flag is slightly faster — 301MB/s instead of 295MB/s

I see. Thank you!


Concourse 5.2 aggregate

What

Predicated on Concourse 5.2 PR
Updates all aggregate steps to in_parallel in a dumb way (aggregate is deprecated)
Updates pipecleaner to know about in_parallel

Aggregate is a deprecated step in Concourse 5.2
How to review

Create bosh concourse on your concourse
Create bosh concourse using make bootstrap

Who can review
Not @tlwr

Closing as this needs more work, I'll raise a big WIP PR and then separate it later


fix map return in python3

I believe this was already fixed in #248 I will reopen if that is not the case


Ability to run a clean up script when exiting a desk session

It would be great if there was a way to run a script when using the exit command to leave a desk session. For instance I have a desk session setup when I am working on some specific github repos for work and sometimes I forgot to run the git add and commit commands before leaving my desk session. Not really a huge deal as I can still run them from a normal shell, but would be useful to run a cleanup script upon exit.

Could you do something like trap myCleanupFunc EXIT? And define the stuff you want to do on cleanup in myCleanupFunc

@rnewton trap myCleanupFunc EXIT would run the function once the desk script is run on desk initialization.


Memory profiling

Add some infrastructure to enable profiling:

Moves the rbtrace gem to all environments
Adds a memory_dump function that dumps object information as well as class names (map object_id->class_name), in order to be able to extract class names from the object dump
An analyzer that parses the two generated files and generates a csv file of memory usage per class

CR @juanignaciosl

I've added a comment about the need of require 'objspace'. AFAIK rbtrace should be safe to load and be run in production, but please request devops monitoring when you deploy this (cc @santisaez, @jvillarf ), and don't merge it until they're aware.

I've moved the require objspace to the memory_dump function, so it is only loaded when needed. Should be safer.
Anyway, it should not be a problem, objspace is core ruby and seems to be safe in production. Loading it does not appear to have any side effects, it only runs when calling a function.
Deploying as soon as tests pass.
cc @juanignaciosl

Ok, better. :+1: on my side, but please don't merge or deploy until you get :+1: from system team as well. @santisaez , could you take a look, please?

Retest this, please.

Retest this, please.


Propagate event from stage down the DisplayObject tree

Hi,
Is there a way to propagate(broadcast) custom events from a DisplayObjects to all its children?
What I'm trying to do is dispatch a "resized" event from the stage to all TextFields on stage in order to adjust their rendering resolution. Additionally I have some graphics with cacheAsBitmap enabled. It would come in quite handy to invalidate their cache.

nvm, found a way
PIXI.Container.prototype.broadcast = function(){
	this.emit.apply(this,arguments)
	for(var i=0;i<this.children.length;i++){
		var child = this.children[i]
		if(typeof child.broadcast === 'function')
			child.broadcast.apply(child,arguments)
		else
			child.emit.apply(child,arguments)
	}
}


Update pubspec.yaml to support new flutter 3.7 and fix and update pac…

…kages

All the changes been made doesn't extend version support of hive, rather diminishes support for the previous SDK versions. I believe it should work with the latest SDK version without requiring any change


Enable the TinkerPop implementation to connect to a Gaffer rest api

I would recommend binding it via the Java API. That is, implement the following interfaces in TinkerPop:
Graph: https://github.com/apache/tinkerpop/blob/master/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Graph.java
Vertex: https://github.com/apache/tinkerpop/blob/master/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Vertex.java
VertexProperty: https://github.com/apache/tinkerpop/blob/master/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/VertexProperty.java
Edge: https://github.com/apache/tinkerpop/blob/master/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Edge.java
Property: https://github.com/apache/tinkerpop/blob/master/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Property.java
That is about 90% of the effort required. After that, to make things solid:

Connect it to the StructureStandardSuite and ProcessStandardSuite. You can see how this is done via TinkerGraph: https://github.com/apache/tinkerpop/blob/master/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraphStructureStandardTest.java and https://github.com/apache/tinkerpop/blob/master/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/process/TinkerGraphProcessStandardTest.java

Add a TraversalStrategy to use index lookups. I assume you have fast lookups for stuff like "get me all vertices with name 'marko'." If so, then you will need something like TinkerGraphStepStrategy (https://github.com/apache/tinkerpop/blob/master/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/process/traversal/strategy/optimization/TinkerGraphStepStrategy.java) where your GafferGraphStep implementation will use the HasContainers accordingly to do index lookups -- e.g. g.V().has('name','marko').

That is really all there is to it. I suspect a solid 1 week effort and you will then be able to use Gremlin to query your graph.
http://tinkerpop.apache.org/gremlin.html
Hope that helps.

Thanks again for your help. As you saw we have a very basic implementation over in the Gaffer Tools Repository.
The current implementation was written just to investigate if and how it might be done and is still very much a prototype. Unfortunately we just haven't had chance to tidy it up and implement the extra bits. As you mentioned, we do really need to make use of TraversalStrategies to optimise it for Gaffer.
I'll close this issue and reopen a similar one in the gaffer tools repo with your ideas.


stable/metallb: add support for node selectors, tolerations, affinities.

What this PR does / why we need it:
Lets users customize their deployments by constraining MetalLB to particular nodes through the use of node selectors, tolerations, and affinities.

Ping?

From past code reviews...
/assign @unguiculus

pingˆ2 (relates to https://github.com/google/metallb/issues/283) (@scottrigby perhaps ?)

/ok-to-test

/retest

/lgtm

/retest
/lgtm


Exchange Code

What

retrieves code on successful callback
exchange code for token
sets 'ViBE' object with access and refresh tokens

Why

code will be used to exchange token
gets access and refresh tokens to be stored
stores access and refresh tokens for later use

Impact

Will customer experience be significantly altered? No
Does the code change cover more than one task? No

Testing

tested locally by running npm run dev

Wait, this looks like a duplicate of
https://github.com/byjackli/vibe/pull/35/files
Re-open if you think I made a mistake.


Unable to set subscribe attributes for SNS with subscribe function

From:
https://boto3.readthedocs.io/en/latest/reference/services/sns.html#SNS.Client.subscribe
There is an optional Attributes keyword parameter that allows the setting of subscription attributes.
This feature is missing from moto and is preventing this from being mocked.
To reproduce mock the subscribe call for sns and then the get_subscription_attributes, to see that the attributes are not set.

Fixed with #1705


[Feature-7418][dolphinscheduler-api] Return domain object after UpdateXxx success

fix: #7418

Codecov Report

Merging #7420 (4a79f49) into dev (bc99575) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##                dev    #7420   +/-   ##
=========================================
  Coverage     41.26%   41.26%
- Complexity     3661     3663    +2
=========================================
  Files           634      634
  Lines         26403    26404    +1
  Branches       2959     2959
=========================================
+ Hits          10894    10895    +1
+ Misses        14483    14481    -2
- Partials       1026     1028    +2

Impacted Files
Coverage Δ

...cheduler/api/controller/AccessTokenController.java
88.23% <ø> (ø)

...duler/api/service/impl/AccessTokenServiceImpl.java
86.41% <100.00%> (+0.16%)
:arrow_up:

...er/master/processor/queue/TaskResponseService.java
60.67% <0.00%> (-3.38%)
:arrow_down:

...e/dolphinscheduler/remote/NettyRemotingClient.java
53.52% <0.00%> (+1.40%)
:arrow_up:

...org/apache/dolphinscheduler/remote/utils/Host.java
40.00% <0.00%> (+2.22%)
:arrow_up:

Continue to review full report at Codecov.

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


Adding a "super-compact" view option

This would allow users to select a "super-compact" view of the matrix that consists solely of small rectangular boxes (colored as appropriate) without any labels for either tactics or techniques.

This feature has been implemented in features/super-compact-view and merged into the develop branch.
The new view is referred to in the documentation as the "mini" view. Since there are now more than two views, the layer format was updated to v1.1 to accommodate the replacement of the viewFullTable (boolean) field with a new viewMode (number) field.


Finishing tech tasks and trying to reduce the time spended to execute tests

Some tests were realised to exclude the "thread sleep" commands. Unfortunately it did not worked and I just reduce the time to wait.

Included in other pull request (#122).


OSError:[Errno 98] Address already in use

Expected Behavior
On following instructions given, the program quickstart.py when executed should attempt to open a new window.
Actual Behavior
Traceback (most recent call last):
File "/home/pi/Project_Plant/codes/quickstart.py", line 64, in
main()
File "/home/pi/Project_Plant/codes/quickstart.py", line 44, in main
creds = flow.run_local_server()
File "/usr/local/lib/python3.5/dist-packages/google_auth_oauthlib/flow.py", line 407, in run_local_server
host, port, wsgi_app, handler_class=_WSGIRequestHandler)
File "/usr/lib/python3.5/wsgiref/simple_server.py", line 160, in make_server
server = server_class((host, port), handler_class)
File "/usr/lib/python3.5/socketserver.py", line 440, in init
self.server_bind()
File "/usr/lib/python3.5/wsgiref/simple_server.py", line 51, in server_bind
HTTPServer.server_bind(self)
File "/usr/lib/python3.5/http/server.py", line 138, in server_bind
socketserver.TCPServer.server_bind(self)
File "/usr/lib/python3.5/socketserver.py", line 454, in server_bind
self.socket.bind(self.server_address)
OSError: [Errno 98] Address already in use
--> Outputs the above error.
Steps to Reproduce the Problem

Save the quickstart.py (making sure the credentials file are in the same same folder)
Execute code

Specifications

Python version (python 3.5.3 version)
OS (Linux - (Raspbian on Raspberry Pi))

Hi @aadithyasujit, I was running my code on my localhost it is working fine, but when I shifted to server, it started saying [Errno 98] Address already in use , but the port wasn't used by any of the application on my sever.
Can you please share how do you able to solve the error at that time?


no hyperlink in emails from microclim query

I just had a go at using the api. I used some code Ofir used previously (below) as well as using the web interface and got an email indicting success but there was no hyperlink in the message.
ma <- microclimRapi:::MicroclimAPI$new(token = api_token,url_mc='http://microclim.org/')
lat = "39.48178546986059"
lon = "-106.51519775390625"
mrwind <- microclimRapi:::MicroclimRequest$new(
latS = lat,
latN=lat,
lonW=lon,
lonE=lon,
variable="WIND10",
shadelevel=0,
hod=1.92,
interval=0,
aggregation=0,
stdate="19810101",
eddate="19810131",
file="csv")
ext_req= ma$request(mrwind)
email:
Your request was submitted with parameters -  start date 19810101, enddate 19810131, bounding box (39.48178546986059,39.48178546986059) (-106.51519775390625,-106.51519775390625),  shade level 0, height 1.92, interval 0 and aggregation metric 0.
You can access your files using the hyperlinks below
If any questions/issues, please report it on our github issues page - https://github.com/trenchproject/ebm/issues.

Hey Mike, Apologies for not been able to answer it promptly.
Few steps are required to get the files programmatically , please see the vignette below
https://github.com/trenchproject/microclimRapi/blob/master/vignettes/microclim.ipynb
Let me know I you run into issues again.


HDDS-6904. Cleanup customer related events in S3G logs

What changes were proposed in this pull request?
Customer related events, including validation errors, should be logged in Audi logs only. The goal is to avoid a bad client to over load the s3g log and keep s3g log purely for internal issues.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-6904
How was this patch tested?
Manual test.

Thanks @duongnguyen0 for working on this. The change looks good, but I have two questions on scope.
I see one more exception stack trace (see below) related to invalid auth headers. Is HDDS-6905 intended to address it, or should it be fixed here?

Thanks for the detailed review, @adoroszlai.
The following log line, as well as others in AuthorizationV4HeaderParser should be addressed in this CR. It's great that you pointed out. I'll be sending a new version for this.
s3g_1       | 2022-06-18 00:28:29,054 [qtp1305004711-24] ERROR signature.AuthorizationV4HeaderParser: AWS access id shouldn't be empty. credential:/20220618/us-west-1/s3/aws4_request

And the other looks like a mishandling of exception and that results in an unhandled exception logging, it should be a part of HDDS-6905.
Jun 18, 2022 12:28:29 AM org.glassfish.jersey.internal.Errors logErrors
s3g_1       | WARNING: The following warnings have been detected: WARNING: Unknown HK2 failure detected:
s3g_1       | MultiException stack 1 of 1
s3g_1       | javax.ws.rs.WebApplicationException: The authorization header you provided is invalid.
s3g_1       | 	at org.apache.hadoop.ozone.s3.OzoneClientProducer.wrapOS3Exception(OzoneClientProducer.java:140)
s3g_1       | 	at org.apache.hadoop.ozone.s3.OzoneClientProducer.getSignature(OzoneClientProducer.java:101)

There is one complication when adding a separate auth failure audit log. S3 gateway only validates if the auth signature is well-formed. The actual check for credentials occurs at OM. We would need to peek into the exception to know if this is related to auth or a different issue if we want to log it as an AUTH exception entry in the audit log.

Thanks for the clarification. I introduced the new AUTH marker just because at the time of validating signature, we don't know if the operation is either READ or WRITE yet. These action/classification is determined manually on-by-one at the endpoint handlers, e.g..
Yet, as you mentioned, if we're to do that, need to do that consistently for the actual credentials check as well.
If we don't do that, we can probably infer READ/WRITE base on the web context (e.g. if method is GET/HEAD then READ). However, this is also prone for inconsistence.
Also, the logged action is another complication is the logged action, which is also manually put at the endpoint handler. So, if the adit log is issued at in the handler, it appears as
INFO | S3GAudit | op=CREATE_BUCKET  {bucket=myBucket} | Some failure inside the handler

But at the time of validating signature, the best we can do is:
INFO | S3GAudit | op=PUT /bucket/myBucket  {bucket=myBucket} | Error parsing signature...

I guess it depends on how consistent we want to introduce in the AUDIT log. Another refactor would be needed to make audit logging a consistent mechanism in S3G.

There is one complication when adding a separate auth failure audit log. S3 gateway only validates if the auth signature is well-formed. The actual check for credentials occurs at OM. We would need to peek into the exception to know if this is related to auth or a different issue if we want to log it as an AUTH exception entry in the audit log.

Thanks for the clarification. I introduced the new AUTH marker just because at the time of validating signature, we don't know if the operation is either READ or WRITE yet. These action/classification is determined manually on-by-one at the endpoint handlers, e.g..
Yet, as you mentioned, if we're to do that, need to do that consistently for the actual credentials check as well.
If we don't do that, we can probably infer READ/WRITE base on the web context (e.g. if method is GET/HEAD then READ). However, this is also prone for inconsistence.
Also, the logged action is another complication is the logged action, which is also manually put at the endpoint handler. So, if the adit log is issued at in the handler, it appears as
INFO | S3GAudit | op=CREATE_BUCKET  {bucket=myBucket} | Some failure inside the handler

But at the time of validating signature, the best we can do is:
INFO | S3GAudit | op=PUT /bucket/myBucket  {bucket=myBucket} | Error parsing signature...

I guess it depends on how consistent we want to introduce in the AUDIT log. Another refactor would be needed to make audit logging a consistent mechanism in S3G.

I agree, I think it would be best to not expand the current PR to fix all the issue but to do incrementally and keep the parent Jira open and add tasks as identified.  For now, the scope of the changes here look good and it is more important to get the customer initiated logging off the S3G logs first.

@adoroszlai do you want to give one last look?


Where?!

I'm probably just being stupid, but i cant seem to find where i find the menu, for the css editor. help.

It should be in the "Settings" options here

Uh, so this extension is still using spcr-settings version 0.1.3.
I will need to update it to 1.0.2.

Updated. Please check if it's working properly when the extension updates in the marketplace(or you can download it manually).

Thanks! I'll check it out tomorrow morning :), will get straight back at ya if any problems are found.


Awake not shutting off after the user logs out

Description of the new feature / enhancement
It would be great if awake was automatically deactivated as soon as a user logs out and goes to the lock screen
Scenario when this would be used?
I interrupt my work several times a day and lock my PC with a key combination. The PC then of course stays on according to my energy saving settings and that uses unnecessary power. I want the PC to always stay on when I'm logged in, but awake would be great as soon as I log in After signing out, he is welcome to go to sleep
Supporting information
No response

This could be a setting as I think not everyone wants that behavior.

For me the perfect option would be "keep awake until locked". Could be added to this menu.

I would like this option to be available as well, but in my case I would like to it to stay on untill I lock the system. After I log back in I want it to be turned off.
The usecase is that I am working from home. I have two computers there, when I'm working on the second computer the first is inactive, thus it will lock and go to sleep pretty quick. Unless I use Awake.
However, when I manually lock it, I want it to reset Awake to "Off". If I pick up my device and go to a public space or the office I want the Awake setting to be disabled when I log back in. It's easy to forget to disable Awake, and that's a security risk.


goCQL driver accepts wrong case datacenter which disables lwt partition routing optimization

When data center in schema is lower case and goCQL is passed an uppercase dc, lwt routing optimization is lost.
Eg.
cluster.PoolConfig.HostSelectionPolicy = gocql.TokenAwareHostPolicy(gocql.DCAwareRoundRobinPolicy("DC1"))
I recommend you set it as this:
cluster.PoolConfig.HostSelectionPolicy = gocql.TokenAwareHostPolicy(gocql.DCAwareRoundRobinPolicy("dc1"))
goCQL should error with incorrect data center name.
cc: @hopugop can you attach the reproducer please.

Sorry, wrong repo


What does "as in nitime" refer to?

Hi! I see in many parts of the documentation there is this definition:

normalization: str
Either “full” or “length” (default). If “full”, the PSD will be normalized by the sampling rate as well as the length of the signal (as in nitime).

What does "as in nitime" refer to? should it be "as in time" or does nitime has any special meaning? I've tried to do a search but it only drives me to the different fields were this is used.

http://nipy.org/nitime/
It's another python package
-------- Original Message --------
On Nov 23, 2021, 07:58, Julia Guiomar Niso Galán wrote:

Hi! I see in many parts of the documentation there is this definition:

normalization: str
Either “full” or “length” (default). If “full”, the PSD will be normalized by the sampling rate as well as the length of the signal (as in nitime).

What does "as in nitime" refer to? should it be "as in time" or does nitime has any special meaning? I've tried to do a search but it only drives me to the different fields were this is used.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Oh! Awesome! Thanks :)

I have open a very minor PR to specify this. Please ignore it if you think it's obvious.
https://github.com/mne-tools/mne-python/pull/10030


Add wordPattern for XML and XSL languages

Add a wordPattern for XML and XSL, so that when linkedEditing is used, it can edit tags that have hyphens in their name.
I based the wordPattern off of https://www.w3.org/TR/xml/#NT-Name.
Signed-off-by: David Thompson<EMAIL_ADDRESS>
This PR fixes #127323

FYI we made a change to the word pattern in https://github.com/microsoft/vscode/pull/149369
The word pattern i not just for tag names, but also words in the content. So we can't restrict it to only the letters that can be in a tag. But we will add the - to it for #127323


Doesn't work with pserve

Running simple code under pserve and got this error:
OSError: [Errno 2] No such file or directory: 'tmp_pservec'
import sys
from pypreprocessor import pypreprocessor

# this is temporary workaround for mesuma which runs on python 2.7 and for some reason
# always includes this code
print(sys.version_info.major)
#exclude
if sys.version_info.major >= 3:
    pypreprocessor.defines.append('python3')
else:
    pypreprocessor.defines.append('python2')

pypreprocessor.parse()
#endexclude

#ifdef python3
print('python3')
#ifdef python3
print('python2')
#endif

Not sure why your workaround works. Either way, the #exclude should come after pypreprocessor.parse().
Either way, all preprocessor directives should happen after the pypreprocessor.parse() call. The reason being, the processor is self consuming. The python code runs as normal python code until the parse() command is found, picks up after the parse() command parsing any preprocessor directives, then reloads and executes the output.


fix(sql) Allow tauri-plugin-sql to work when Tauri is running async

At present, tauri-plugin-sql only works when the main Tauri thread is using the default, synchronous runtime.
In certain configurations, running Tauri asynchronously can be necessary, ie when using TaurPC or other dependencies that require it.
With the current configuration, running Tauri asynchronously while trying to use tauri-plugin-sql yields this error:
thread 'main' panicked at ~/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.40.0/src/runtime/scheduler/multi_thread/mod.rs:86:9:
Cannot start a runtime from within a runtime. This happens because a function (like `block_on`) attempted to block the current thread while the thread is being used to drive asynchronous tasks.
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

By changing the block_on function call in sql/lib.rs to the macro provided, the plugin works flawlessly, in both synchronous and asynchronous runtimes.
Please let me know if more information is needed!

Makes me wonder why we didn't make https://github.com/tauri-apps/tauri/blob/dev/crates%2Ftauri%2Fsrc%2Fasync_runtime.rs#L288 the default 🤔

Actually, I think having a centralized approach would be better, this could happen in every plugin because they kinda as expect a sync main fn

@amrbashir do you think pub exposing safe_block_on in core makes sense?

maybe, idk, I don't use async that much

Sure thing! If I clone Tauri locally and modify crates/tauri/src/async_runtime.rs to make block_in_place public, then use tauri::async_runtime::safe_block_on in tauri-plugin-sql instead of the macro, I get:
`dyn StdError` cannot be sent between threads safely
the trait `Send` is not implemented for `dyn StdError`, which is required by `Result<(), _>: Send`
required for `Unique<dyn StdError>` to implement `Send`

Success converting macro to function, have added changefile and explainer comment! Please let me know if I can provide anything else! :)

Okay now i remember why safe_block_on was bigger than that. Your change currently panics in sync contexts.

Oof... yikes, I'll take another crack at it. Any initial thoughts on approaches that might satisfy both? If not I'll troubleshoot it today.

a modified version of safe_block_on. Using Handle::try_current to check if there's a runtime and then using block_in_place or block_on directly.

a modified version of safe_block_on. Using Handle::try_current to check if there's a runtime and then using block_in_place or block_on directly.

Worked a charm; sync and async both operating locally. Thanks for catching that!


linting: create tmp folder for output + fix target of module

Create /tmp/vscode_vlang/ for linting output (otherwise linting wont work)
Fix compilation target for:

Modules that had comments before, for example://comment
module test

Non-modules files to be compiled alone

This PR is a bit old and has conflicts. Since linting will be replaced with vls functionality, i will close this for now. It can be reponened with up to date code.


[Feature] Add Error Pages Category and several Components

What would you like to share?
It would be great if there were components for different kinds of Error Pages like 404, 500 etc.
Additional information
No response
Checklist

[X] I have checked the existing issues.
[X] I follow Contributing Guidelines of this project.
[X] I am a KWOC'24 contributor.

Code of Conduct

[X] I agree to follow this project's "Code of Conduct".

Do you also plan to add any components inside that @abhirajadhikary06

Yes like different designs of 404 error page.

Okay, the html page just you can copy the other category html page and make the changes accordingly, and also add 2-3 error pages components in this. Make sure no extra functionality changes to be done @abhirajadhikary06


Fixing pip installation

Updating the manifest didn't solve the installation problem.
This solution is not DRY, but better be safe as I can't easily test this myself.
More information:
http://stackoverflow.com/questions/14399534/how-can-i-reference-requirements-txt-for-the-install-requires-kwarg-in-setuptool
Error in question:
$.. pip3 install django-openinghours
Collecting django-openinghours
Using cached django-openinghours-0.1.1.tar.gz
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "", line 1, in
File "/private/var/folders/4m/q0mv284n1_qgm7ctvkrmgn4c0000gp/T/pip-build-osj2dtv8/django-openinghours/setup.py", line 18, in
install_requires=open('requirements.txt').read().split(),
FileNotFoundError: [Errno 2] No such file or directory: 'requirements.txt'

Coverage increased (+1.2%) to 55.988% when pulling 2efb0f216b0e478216d271295d32faa55fddce9a on fmalina:patch-4 into 683f82239fb6bf2bcfd2061011d71eb4aa7b0d72 on arteria:master.

@fmalina I agree that in this case the DRY violation can be justified. Thank you!

Can you push this fix to PyPI please?
pip install is still failing.

@etc2 ~: pip3 install django-openinghours
Downloading/unpacking django-openinghours
  Downloading django-openinghours-0.1.1.tar.gz
  Running setup.py (path:/tmp/pip_build_f/django-openinghours/setup.py) egg_info for package django-openinghours
    Traceback (most recent call last):
      File "<string>", line 17, in <module>
      File "/tmp/pip_build_f/django-openinghours/setup.py", line 18, in <module>
        install_requires=open('requirements.txt').read().split(),
    FileNotFoundError: [Errno 2] No such file or directory: 'requirements.txt'
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):

  File "<string>", line 17, in <module>

  File "/tmp/pip_build_f/django-openinghours/setup.py", line 18, in <module>

    install_requires=open('requirements.txt').read().split(),

FileNotFoundError: [Errno 2] No such file or directory: 'requirements.txt'

----------------------------------------
Cleaning up...
Command python setup.py egg_info failed with error code 1 in /tmp/pip_build_f/django-openinghours
Storing debug log for failure in /tmp/tmpsbsyyj2z

Thank you.

@fmalina I have now released 0.1.2.

@kingsofteng I was successful just now,
Successfully installed django-compat-1.0.15 django-openinghours-0.1.5 django-threadlocals-0.8


rapids-cmake tests no longer download CPM when NO_CPM_CACHE is set.

Description
To help reduce the amount of network traffic, rapids-cmake now reuses the same CPM.cmake even when running no CPM cache tests. This elimates one source of network errors as we don't need to fetch the same CPM.cmake multiple times per CI run.
Checklist

[x] I am familiar with the Contributing Guidelines.
[x] New or existing tests cover these changes.
[x] The documentation is up to date with these changes.

/merge


problem starting adapter

Apache StreamPipes version
Other StreamPipes version (please specify below)
Affected StreamPipes components
Connect
What happened?
Hi,
When creating and an MQTT adapter, I can have the schema recognized, but the MQTT adapter would not start. This is SP 0.92.0

How to reproduce?
I create a new MQTT adapter

The schema is guessed correctly, so the iiot connector works fine

But the adapter is not created : UI runs forever waiting for the adapter to be started

And there is an error and a timeout in backend log :

Expected behavior
Expected behavior is Adapter to be successfully created and started.
Additional technical information
SP 0.92.0 runs in docker compose on an Ubuntu host ; browser is Chrome on a Mac
Are you willing to submit a PR?
Yes, I am willing to submit a PR!

Hi @sam-niag,
thanks to your detailed error description, I already have a suspicion what your problem is.
Within the the third step of the adapter creation (Configure fields) , a warning with respect to the timestamp is shown. Did you resolve that?
If not, this may be the root cause. Please ensure that the timestamp field is configured as such:

Then the timestamp field should look like the following:

Alternatively, you can also simply add a pre-configured timestamp field by clicking the ADD TIMESTAMP button. Please do not forget to adapt the field name to avoid a duplicate field name.
Hope this helps 🙂

Hi Tim,
Thank you for your kind response. As a matter of facts I forgot to include
the screenshot for the timestamp resolution. Yes, I had resolved it
(otherwise, I guess that I could not have validated the creation of the
adapter anyway, right ?).
Kind regards
On Mon, Jul 10, 2023 at 5:38 PM Tim @.***> wrote:

Hi @sam-niag https://github.com/sam-niag,
thanks to your detailed error description, I already have a suspicion what
your problem is.
Within the the third step of the adapter creation (Configure fields) , a
warning with respect to the timestamp is shown. Did you resolve that?
If not, this may be the root cause. Please ensure that the timestamp field
is configured as such:
[image: image]
https://user-images.githubusercontent.com/50115603/252391333-8cab243b-1e72-490b-88fe-7ad211d23d2c.png
Then the timestamp field should look like the following:
[image: image]
https://user-images.githubusercontent.com/50115603/252391466-bf80c7da-2d3a-48b6-a1b9-0f8c41d0d2a5.png
Alternatively, you can also simply add a pre-configured timestamp field by
clicking the ADD TIMESTAMP button. Please do not forget to adapt the
field name to avoid a duplicate field name.
Hope this helps 🙂
—
Reply to this email directly, view it on GitHub
https://github.com/apache/streampipes/issues/1755#issuecomment-1629214284,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BA3KRXACNZQ7PUDKHS7CBTLXPQOZDANCNFSM6AAAAAA2EPDGE4
.
You are receiving this because you were mentioned.Message ID:
@.***>

Damn, would have been to easy 😅
Thanks for your quick reply
We will have a deeper look

Hi @sam-niag,
I am not quite sure what the problem is because your configuration looks good. And as you stated, when the schema is guessed correctly the docker container running the adapter should work as expected.
Did you change anything in the schema configuration (e.g. remove a property)?
Is it possible that the event schema of the events on this topic changes?
Did you try to restart StreamPipes by stopping all docker containers and starting them again?
Cheers,
Philipp

Hello,
Yes, I tried many things ; restarting just the backend, restarting the
adapter-iiot, restarting everything...
The event schema does not change. It is streamed by a SP instance with the
MQTT Publisher btw.
On Tue, Jul 11, 2023 at 7:18 AM Philipp Zehnder @.***>
wrote:

Hi @sam-niag https://github.com/sam-niag,
I am not quite sure what the problem is because your configuration looks
good. And as you stated, when the schema is guessed correctly the docker
container running the adapter should work as expected.
Did you change anything in the schema configuration (e.g. remove a
property)?
Is it possible that the event schema of the events on this topic changes?
Did you try to restart StreamPipes by stopping all docker containers and
starting them again?
Cheers,
Philipp
—
Reply to this email directly, view it on GitHub
https://github.com/apache/streampipes/issues/1755#issuecomment-1630145237,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BA3KRXD6B3FT3VT6SOHEJB3XPTO2NANCNFSM6AAAAAA2EPDGE4
.
You are receiving this because you were mentioned.Message ID:
@.***>

Hi @sam-niag,
I tried to reproduce the problem with StreamPipes (0.92.0).
For this I started a StreamPipes instance with an additional Mosquitto MQTT broker.
I created a pipeline to write to MQTT and an adapter that subscribes to this topic. Unfortunately, I could not reproduce the error.
Can you please provide the logs for the extensions-all-jvm container? This is the container where the adapter instance is started, maybe this will give a hint what is going wrong.
Cheers,
Philipp

Closing this since there was no reply.
@sam-niag please reopen in case the problem still occurs.


handle showing fake fields values in the edit form

This change, which is not breaking, is necessary to show fake fields' values.
Works well with translatable attributes, as well.

A new inspection was created.

The inspection completed: 1 updated code elements

A new inspection was created.

The inspection completed: 5 new issues

A new inspection was created.

The inspection completed: 1 updated code elements

Hi @mustafarefaey - why did you close the issue, is this no longer needed.
PS. Needless to say, sorry for taking so long to look at this...


Fix global avg fossil generation value

This fixes #325 to ensure the correct value is returned as a fallback for global average generation from fossil fuel.

Thanks @fershad ! 👍


[Image] Not able to use local gif on android

Hi @swathysubhash, can you provide some JavaScript code? I assume you've put the gif into res/drawable?

It started working when i accessed it using uri.
Thanks for replying.

No problem @swathysubhash.


Making qa metrics callable from the command line

Makes qa metrics callable from the command line
skimage bugfix (skimage.feature.texture.greycomatrix --> graycomatrix)

Uh sorry, @pwighton I completely forgot about this! Thanks for adding it!

No worries, @melanieganz .. Thanks for the useful scripts!


[IMPORTANT!] Commit broke parsing compatibility

Hi, this use case was working before commit 31176c57a5eacded4755c5f9eac8eb5a603cfbfd
package main

import (
	"fmt"
	"net/url"
	"os"

	"github.com/kelseyhightower/envconfig"
)

type Config struct {
	One string `envconfig:"one"`

	WebUrl *url.URL

	Two string `envconfig:"two"`
}

func main() {

	os.Setenv("TEST_ONE", "one")
	os.Setenv("TEST_TWO", "two")

	c := Config{}

	envconfig.Process("test", &c)
	fmt.Println(c.One)
	fmt.Println(c.Two) // two should be parsed and it's not

}

@elgris @teepark @kelseyhightower :bell:

@teepark I found another issue with the same commit. If a struct implements the Decode function it won't be called because the introduced code will try to parse the struct internally instead of using the proper Decode function.
Even though I can provide a fix, I'm not sure how this should work but it's currently breaking backwards compatibility.
Example:
package main

import (
	"fmt"
	"os"

	"github.com/kelseyhightower/envconfig"
)

type TestDecode struct {
	Value string
}

func (t *TestDecode) Decode(env string) error {
	t.Value = "Some value"
	return nil
}

type Config struct {
	Test TestDecode `envconfig:"decode"`
}

func main() {

	os.Setenv("TEST_DECODE", "one")

	c := Config{}

	envconfig.Process("test", &c)

	fmt.Println(c.Test.Value) // Should print "Some Value"

}


Ability to add text in the middle of the ring

Hi, Is there a way to add text in the middle of the ring? Thanks!

Just implemented the plugin. Works great. To add a label. Throw a label and a ring in a grid same row, same column.
<Grid WidthRequest="200" HeightRequest="200" HorizontalOptions="Start" VerticalOptions="Center" >                             <control:ProgressRing Grid.Column="0" Grid.Row="0" Progress="0.5" RingThickness="30" RingBaseColor="DarkGray" RingProgressColor="BlueViolet" x:Name="SetCircle"></control:ProgressRing>                             <Label Grid.Column="0" Grid.Row="0" FontSize="Large" Text="20" HorizontalOptions="Center" VerticalOptions="Center"></Label>                         </Grid>


Library - Slim down the NodeManagerWorker for node / services / other services

The purpose of the NodeManagerWorker is to be started as a Worker on a node and receive requests to create entities on that node: inlets, outlets, secure channels, etc...
This should be the only responsibility of the NodeManagerWorker:

accept Requests, with a specific path
based on the path, unpack the request arguments and call the relevant method on the NodeManager
get a value back from the NodeManager and make a Response out of it

Example
For example if we look at this dispatched request:
(Get, ["node", "tcp", "connection", address]) => {
    encode_request_result(self.get_tcp_connection(req, address.to_string()).await)?
}

The implementation in the NodeManagerWorker is:
pub async fn get_tcp_connection(&self, req: &RequestHeader, address: String)
    -> Result<Response<TransportStatus>, Response<Error>> {
    let tcp_transport = &self.node_manager.tcp_transport;
    let sender = match Self::find_connection(tcp_transport, address.to_string()) {
        None => {
            return Err(Response::not_found(
                req,
                &format!("Connection {address} was not found in the registry."),
            ));
        }
        Some(sender) => sender,
    };
    let status = TransportStatus::new(ApiTransport {
        tt: TransportType::Tcp,
        tm: (*sender.mode()).into(),
        socket_address: sender.socket_address(),
        worker_address: sender.address().to_string(),
        processor_address: sender.receiver_address().to_string(),
        flow_control_id: sender.flow_control_id().clone(),
    });
    Ok(Response::ok(req).body(status))
}

It should actually be something like:
pub async fn get_tcp_connection(&self, req: &RequestHeader, address: String)
    -> Result<Response<TransportStatus>, Response<Error>> {
    match &self.node_manager.get_tcp_connection(address.to_string()).await? {
        Some(transport_status) => Ok(Response::ok(req).body(transport_status),
        None => {
            Err(Response::not_found(
                req,
                &format!("Connection {address} was not found in the registry."),
            ))
         }
    }
}

In the code above all the logic is handled by the NodeManager and the NodeManagerWorker only deals with Request/Responses.
Desired behavior
In this issue handle refactoring the following (each line corresponds to some paths in the handle_request method):

node / services / other services

Additional notes
You can follow the way relays are handled in this PR (here is the section on relays).
You will notice that the NodeManagerWorker does not contain a direct reference to a NodeManager but to an InMemoryNode, which itself contains a NodeManager.
This intermediary layer is only required to monitor sessions for relays and portals. In most cases when you call self.node_manager in NodeManagerWorker the node_manager can be dereferenced to a NodeManager on which regular calls can be made: to list workers, get a credential etc....

[!NOTE]
Related epic: https://github.com/build-trust/ockam/issues/6237

We love helping new contributors! ❤
If you have questions or need help as you explore, please join us on Discord. If you're looking for other issues to contribute to, please checkout our good first issues.

Done with #7049


Configure: Add easy to use disabled deprecated functionality indicators

In C, we have macros like OPENSSL_NO_DEPRECATED_3_0 to check if some
section of code should be disabled to simulate a removal of things
deprecated in the version.
In perl, we had to check $disabled{deprecated} and compare
$config{api} with the proper version code, which is doable but tedious
and error prone.
This change adds $disabled{'deprecated-x.y'} (x.y being a version
number) which directly corresponds to OPENSSL_NO_DEPRECATED_x_y, for
use in build.info conditions, test recipes and other perl stuff.

This issue is ready to merge

Merged
b05d63273277e0a17ade780b6bef2c48cfd3e522 Configure: Add easy to use disabled deprecated functionality indicators
0e43960e88128bb86031a45c0fe9ca3e3a310c3b Adapt all build.info and test recipes to the new $disabled{'deprecated-x.y'}


Transparent track background color

I had achieved a transparent track background color by setting activeTrackColor to Colors.transparent. This seems to have broken with the latest update. Now my track color is the theme.backgroundColor. From what I've seen in the code, this is the default when no activeTrackColor is set. Is there any chance to make a transparent track happen again?

Hello, thanks for reporting the bug. He was corrected in the new version.


avoid pthread_attr_t in tests

We don't support pthread_attr_init so the code here is actually technically wrong (passing attributes to pthread_create that were not initialized properly). It's also unnecessary, we can just pass a null pointer for the attributes to indicate "default attributes please".

@bors r+

:pushpin: Commit 5f83d6d887f273888e9a44419e131c94bedf44bd has been approved by RalfJung
It is now in the queue for this repository.

:hourglass: Testing commit 5f83d6d887f273888e9a44419e131c94bedf44bd with merge 3f6382078bdcdd53027d172508448734389a29d3...

:sunny: Test successful - checks-actions
Approved by: RalfJung
Pushing 3f6382078bdcdd53027d172508448734389a29d3 to master...


serialize_db_to_string should use base_manager to fetch all records

A Trac ticket that explains the issue and a test are required.

Superseded by #13150


Add paddle cloud figure

Fix https://github.com/PaddlePaddle/cloud/issues/593

I didn't draw pfs server in this figure. Is pfs a HTTP server behind the paddlecloud HTTP server? Is that the paddlecloud server might proxy some HTTP requests to pfs?

Thanks! @gongweibao I updated the figure following yours.


replace helper methods with ES5/ES5 shim

stuff like indexOf and friends are part of ES5 and available in modern browsers. we don't need to redefine these.
for old browsers, we should require that an ES5 shim is loaded with the app.
this one looks respectible: https://github.com/kriskowal/es5-shim

good idea, but 8.3 KB is heavy, so we should only load it when the browser needs it.

I don't want it to be part of angular.js. we'll just make a requirement that the shim is available when using old browsers.

that puts the complexity on the user, which I think is outside of the spirit of angular. We should load it, just as we used to lad the ie-compat

we can be nice and load it if needed, but we should not distribute the shim with angular. instead, we should have a config option that would allow users to override the source url for the shim. by default we can just fetch it from github and if that's not desirable then the developer can specify an alternative location.

+1

Was this ever resolved?

nope.... Could we trouble you for a pull request?

meaning you would like me to implement? I can look after the dust settles on my current project.


National vs International procedures

Is there a field that describes whether a tender is national or international?

We don't have an explicit flag for this right now.
The proposed Location Extension which will be brought forward as a proposal for revising the standard soon might be the best way to capture this right now.
Essentially, it attaches a 'deliveryLocation' to line items, which can use both point locations, and gazeteer entries, including country codes.
So, for example, to indicate that a contract is for work to be delivered in Nepal, a block of line-item information might look like this:
{ "items": [
                    {
                        "id": 1,
                        "description": "'Building Cleaning Services.'",
                        "classification": {
                            "scheme": "CPV",
                            "id": "90911200",
                            "uri": "http://purl.org/cpv/2008/code-90911200",
                            "description": "Building-cleaning services"
                        },
                        "deliveryLocation":{
                            "description":"Nepal",
                            "gazeteer":{
                                "scheme":"ISO2",
                                "identifiers":["NP"]
                            }
                        }
                    }
            ]
}

Would this capture what you need? I realise it is pretty deeply nested down in the tree - so it might be that we need to consider something higher level.
Can you give an example use case of what you are trying to model?

Hi @timgdavies
The delivery location is great and we're planning on using it.
The national / international field refers to whether a tender is open to international companies, or only available to national ones. I guess it would be closely related to selectionDetails and procurementMethod.
Would you store this under eligibilityCriteria?

@olafveerman Yep - it definitely looks like it would be well suited to going under eligibilityCriteria if unstructured information is enough for your use case.


updated credentials and demo app

Updated credentials to match format used elsewhere.  Revised demo app to reflect current service options.

👍

this should be redundant now that this was merged: https://github.com/greatfire/envoy/pull/103


Performance Test Script Creation - Combining 3 modules - Monitoring Plans, QA, and Emissions - Open Submission Window, Import, Evaluate, and Submit.

1. Functionality Testing:
Opening a Submission Window, Import, Evaluate, and Submit for Monitoring Plans, QA, and Emissions.
2. Script Creation:
Create a "Performance" test script in JMeter combining all 3 modules - Monitoring Plans, QA, and Emissions.
Ensure the script is created successfully without any errors.
3. Purpose:
By opening the submission window and doing an import should display the following status:

Evaluation Status: Needs Evaluation
Submission Status: Resubmission Required
If this manual setup and script creation is successful, then we can prepare to scale upto 250 users to run a load/ performance test.

4. Related Tickets:
#6356 #6387 #6358

Completed putting together the manual test case which covers the functionalities for opening the Submission Windows, Revert, Export, Import, QA Test Data, Import specific Test Number, Evaluate all 3 modules, and Submit all 3 modules (Monitoring Plans, QA, & Emissions).
The JMeter combined script is currently In-Progress based on the manual test case below.
6455_Test Case for Combined Script_Monitoring Plans, QA and Emissions.docx

The following .JMX script for the combined modules (Monitoring Plans, QA, and Emissions covering the functionalities for Import, Evaluate, & Submit) was created in JMeter.
It has been Parameterized for a single user, and ran successfully without any errors on 12/13/24 and 12/16/24 - both days.
Here is the .JMX script in ZIP Format:
Script 4_6455_Combined Script_MP-QA-EM_Barry4_test50_v7.zip


Fix build for Foxy

rosbag2_storage::StorageOptions is not available in Foxy.

Yes, I'm still waiting for permission on https://github.com/ros2-gbp/ros2-gbp-github-org/pull/50. If you could make the release that would be helpful :)


Resource temporarily unavailable (os error 11) when sending stream to SPARQL store

Describe the bug
Trying to send a SPARQL Store streaming request from node (fetch API) doesn't work
To Reproduce
Steps to reproduce the behavior:

Running oxigraph 0.4.2 from docker image
Run this code (node 20.17)

import { Readable } from 'node:stream'

const triples = '_:a <http://example.org/p> "o" .'

const body = new Readable({
  read() {
    this.push(triples)
    this.push(null)
  },
})

const storeUrl = new URL('http://localhost:7878/store')
storeUrl.searchParams.set('graph', 'http://example.org/g')

;(async () => {
  const res = await fetch(storeUrl, {
    method: 'POST',
    headers: { 'content-type': 'application/n-triples' },
    body,
    duplex: 'half',
  })

  console.log(await res.text())
})()

The request takes a long time and the returns a 500 response saying Resource temporarily unavailable (os error 11)
Works fine when I send a preserialized payload as string instead

Thank you for the bug report! This was a fun bug to track down: the NTriples parser is sometime calling an extra time the read() method on the HTTP response body even after it returned EOF. And the HTTP library chunked transfer encoding parser had a bug that made it try to read more from the socket even after reading the end of body data.
It wrote a fix for it that I plan to merge soon https://github.com/oxigraph/oxhttp/pull/38

This was a fun bug to track down

I'm glad I provided entertainment :D
And as always, thank you for acting so quick!

I'm glad I provided entertainment :D

I signed up for this kind of issues when writing and using my own HTTP library

The fix is shipped in v0.4.5. Feel free to reopen if it's not working properly.


ToolbarAndroid Actions Disappear On Change With Input Focus

Description
The actions seem to disappear when they are updated if an input is focused.  Updating the actions seem to work as long as no inputs are focused.
This did not happen on version 0.29 but breaks on 0.38.  I think that there is a related crash on 0.37, but it's more difficult to recreate.
Reproduction
https://rnplay.org/apps/jFEJew
Solution
Unknown.
Additional Information

React Native version: 0.38
Platform: Android
Operating System: MacOS & Linux

Not sure exactly why, but this works :D https://rnplay.org/apps/5TeqFg
have you tried not re-creating a new array every time, but change the array in-place?

I don't think so:  https://rnplay.org/apps/rEcEWw (unless I misunderstood what you meant).

the link I attached does work for me, ie. the toolbar gets updated correctly. just by adding the <Text/>

@DanielMSchmidt you were mentioned in the linked issues, so maybe you'd interested in this one since it provides a nicely isolated repro

@jaystramel Do you find a solution?

Had the same problem. Don't know why, but a hack like this seems to work:
    <View style={style.root}>
        <ToolbarAndroid
          navIcon={leftItem && leftItem.icon}
          onIconClicked={leftItem && leftItem.onPress}
          title={title}
          titleColor={textColor}
          actions={actions}
          onActionSelected={this.handleActionSelected}
          overflowIcon={require('assets/mobile/more_vert.png')}
          style={style.toolbar}
        >
            {children}
        </ToolbarAndroid>
        {/* Added this Text component ↓ */}
        <Text style={{ height: 0, opacity: 0 }}>
            {JSON.stringify(actions)}
        </Text>
    </View>

@chenvan No.  I wrote a custom component for the two places we need this.  (Sorry the delay, never saw the notification.)

@jaystramel Never mind. I just write a component which is similar to ToolbarAndroid to avoid this problem.

Hi there! This issue is being closed because it has been inactive for a while.
But don't worry, it will live on with Canny! Check out its new home: https://react-native.canny.io/feature-requests/p/toolbarandroid-actions-disappear-on-change-with-input-focus


Configuration?

Describe the bug
It seems the role doesn't configure anything. Is it a WIP?
It installs fail2ban and enables the service.

Hi @till, you are right, looking at some page about configuration there are quite a few things you may want to change.
Can you help me by telling me what things you would like to be able to configure?

@robertdebock I am not sure if it makes sense to duplicate efforts?
Found this on Galaxy and started using it:
https://github.com/nbigot/ansible-fail2ban
E.g., custom jails, all time settings, etc.. But again, I am not sure if it's not too much work since there is a role already. :)

Great, thanks for the reference, I'll see what I can do.
The main purpose of the roles I write is to work on many distributions, that could be an added benefit.
Anyway, thanks, I'll look into it!

I've introduced a set of settings and default values. When the build is done, I'll release.
Thanks for you feedback @till

Fixed with the latest release.


Upcomming Crossterm 0.14 update

A lot of changes have happened since 0.12, going to skip 0.13 and aim for the coming 0.14 in this PR. Which is going to have a very nice event reading system.  People can use this branch if they want to be on the latest crossterm, however, the dependency branch is still a WIP, and changes can still happen and it might be broken sometimes. We do have settled on the public API. So I don't think anything is going to be changed about that.

Implemented back/foreground color support
Migrated 0.13 changes
Migrated 0.14 changes
Removed AsyncReader
Reordered trait methods
Implemented terminal reseize events
Cleaned up some code
Moved parsing logic into From trait implementations.

Also, we are going to support resize events in this version. Which might be very interesting for this lib.

The PR for input rewrite has been merged. We can expect a release in one week.

I did an update, you might want to review again. Especially the place were we map events.  Crossterm stored modifier information separate from the event. Cursive does it as crossterm did before, this requires some mapping, and hope that all of this went well. It looks like it tough.
I haven't jet tested the mouse events.

Thanks a lot for all the work!
Key input seems to be working well!
Mouse input is weird though: it seems there's a delay between each event, maybe 300-500ms, which means that things like dragging the mouse, which creates a lot of events, cause significant input lag.

We might have to change the way we're reading the terminal size. This is done each time a mouse event occurs. We changed it to use TPUT, however, this is a separate process that crossterm spawns. This might cause the delay.

I noticed the same now, I will take a look into this delay, and report back.

I monitored the events crossterm sents.
Mouse events: with slow-normal dragging speed about 20-26 a second.
Resize events: with slow-normal resizing speed about 10-15 a second
Keyboard events: Average typing speed: 7-10 a second.
Mouse events are fired much more often than other events. This might explain the delay. I think cursive doesn't handle events that fast, can this be correct? Do you know how many times a second cursive polls for events?
We could filter mouse events by skipping 3 events or something like that. We lose information, but the question is do we need te fine-grained location updates.

I found the fix, it is interesting tough. I can increase the poll counter to something like: "20ms" and then it will work smoothly.
To figure out what the reason might be I have to ask the following questions:

Does cursive poll for events with a separate thread?
How often does cursive poll for events?

As far as I know, cursive is entirely single-threaded. Polling for events is done in a loop in Cursive::process_events, in cursive.rs, so all of the events should be consumed before the delay kicks in. The delay is 30ms, so having a large latency is mysterious, unless there is some sort of inefficiency is pegging the CPU core at 100%, I don't know what the cause could be.

Note that cursive can process key events much faster: for example, copy/paste some text, it will be sent as individual key events, and you'll see that large blocks of text can be handled nearly instantly.
Cursive can be thrown off if, even though there are still events pending, polling at some point returns None. This will cause cursive to wait for ~30ms before handling the next event. I suspect that's what's happening. None should only be returned if no event is available for polling; if "something unknown" is available, you can use Event::Refresh or Event::Unknown.

I made a comment in our discord about it, we will have to look into this. I wrote an example for crossterm replicating the same behavior. So this has nothing to do with cursive in the way that there is an bug or something. Cursive might have influence into this problem tough.
showcase without dealy
fn print_events_1() -> Result<()>{
    loop {
        if poll(Duration::from_millis(0))? {
            let event = read()?;

            if let Event::Mouse(m) = event {
                println!("{:?}\r", event);
            }
        } else {
            println!("NONE\r")
        }
    }
}

When I run this example, my mouse events are nearly coming trough, and NONE is printed very often.

Maybe our reader is returning way to fast.
Maybe this is correct, behavior, and the user should just reduce the amount of polling.
Try to set 5ms instead of 0ms delay, you will notice that the return results will improve dramatically. Therefore my first statement might make sense.

I will post something, as soon, I know the answer. For now, the 5ms delay seems to work pretty fine.

We found some problems in our implementation, this PR has a work in progress solution.

Thank you very much for the investigation and the work on a solution! :)

Some numbers
Couple of benchmarks ... I've got test.txt file (10MB, to be more precise 10_836_507 bytes).
ViM and copy & paste
When I paste the content into an empty buffer, it takes 3m50s to finish the operation. To be fair, it's pretty useless as ViM prints all these characters, but the following examples do not.
crossterm and copy & paste

cargo run --release --example perf

It takes 2m44s to finish the operation. Last line of the output:
Count: 10836505 None count: 10962315 Elapsed:<PHONE_NUMBER>12s Too long processing: 0

count = number of Events (not bytes, but events like Event::Key(KeyCode::Char('a'))
none count = number of Ok(false) returned by poll(0)
too long processing = number of poll(0) calls that took more than 5ms

crossterm and socat

socat -s -b 2048 -u OPEN:../test.txt,ignoreeof EXEC:'cargo run --release --example perf',pty,setsid,ctty

It takes 5.9s. Last line of the output:
Count: 10836505 None count: 0 Elapsed: 5.918270894s Too long processing: 0

Same explanation as in the previous example. The interesting part here is the None count: 0. poll(0) didn't return Ok(false) at all.
crossterm's poll & read

Event is parsed ANSI sequence (can be constructed from multiple bytes)

Example Event::Key, Event::Mouse, ...

read

Reads an Event (not bytes) and blocks till an Event is available

poll

Checks if an Event (not bytes) is available to avoid blocking with read
mio::Poll checks for available bytes to read, but not if it's an Event or not
poll internally ...

Checks if input is available via mio::Poll
Then these bytes are read & parsed
All parsed Events are queued and Ok(true) is returned
If there's no Event and timeout didn't expire, it jumps to the beginning and does the same stuff with the mio::Poll & smaller timeout (leftover)
If the timeout expires, it returns Ok(false)

Simplified explanation how the upcoming version of the crossterm crate works.
Profiling
I profiled/sampled the code and poll with zero timeout (= check & return immediately) returns Ok(false) many times. The number of Ok(false) occurences roughly equals to number of processed/parsed Events. See the output from above example:
Count: 10836505 None count: 10962315 Elapsed:<PHONE_NUMBER>12s Too long processing: 0

10.8M vs 10.9M. I checked what's going on and the mio::Poll with zero timeouts says that there's nothing to read from the tty. So, there's probably nothing we can do right now. I can imagine that the terminal/tty can't catch up with the paste speed. I tried to increase the speed, etc. but it didn't help (negligible difference).
I also tried to modify the code to return immediately when we parse first Event (do not process the whole buffer), but the whole processing is slower. Even if it will be faster, it has nothing to do with mio::Poll returning nothing to read.
Check the attached screenshot:

It's just 8.91s sample, but enough to confirm that mio::Poll returns nothing to read and when the time is being spent.
Weight vs Self Weight explanation to understand the meaning. Let's say you have a function X and it calls functions Y, Z. Weight represents time spent for X + Y + Z and Self Weight represents just time spent in X, but not in Y & Z.
poll with different timeouts
For just first 1M events.

Timeout
Count1
None count
Ratio 2
Slow processing

0.5ms
1_000_000
23_574
2.3574%
0

1ms
1_000_000
13_416
1.3416%
0

2ms
1_000_000
6_352
0.6352%
0

3ms
1_000_000
4_648
0.4648%
0

4ms
1_000_000
2_983
0.2983%
0

5ms
1_000_000
2_649
0.2649%
3 1_175

1 No 10MB as in other examples, just 1M of Events.
2 none count / count
3 That's fine as slow processing is defined as > 5ms in the perf example and the timeout is 5ms.
Platform
All above numbers come from the macOS. When I tried poll(0) on Linux, it's better. Let's check the whole 10MB test file and copy & paste method.

Platform
Count
None count
Ratio
Total time

macOS
10_836_505
10_962_315
101%
164.2s

Linux
10_836_505
2_884_389
27%
6.4s

Linux is way faster and poll(0) produces way less Ok(false) values.
Recommendations

None should only be returned if no event is available for polling; if "something unknown" is available, you can use Event::Refresh or Event::Unknown.

Frankly speaking, this is not possible. As you can see, mio::Poll says - there's nothing to read many many times. Which means that we don't know if we have "something unknown" or "nothing" - mio::Poll says "nothing".
One would say that we can use some very very small timeout, like 500 microseconds, but do we really want it? Also it's platform specific, so, this timeout in the crossterm backend should be #[cfg(target_os = "linux")]/#[cfg(target_os = "macos")]/... What is the acceptable ratio? < 1% which means 2ms timeout on macOS and 1ms on Linux which means 0.0076%? Another problem is that I can measure this on my computer, provide some numbers, but then it can behave differently (and surely will) on another computer.
I don't know cursive use cases, how fast it should be, what it can cause if we add a timeout, if we return Event::Refresh for every single Ok(false), ...
When I look at the Backend trait ...
    /// Polls the backend for any input.
    ///
    /// Should return immediately.
    fn poll_event(&mut self) -> Option<Event>;

... there's no way to specify timeout. We will violate Should return immediately. if we will add a timeout. If we wont add it, there will be lot of None results. And again, the problem is in the mio::Poll which does return "nothing to read" quite often and it's platform specific.
@gyscos you should know what's going on now and where the problem is. What do you suggest?

One more thing. We do use PollOpt::level internally. Going to try PollOpt::edge (needs some rewrites) if it will be better or not.

Pragmatic approach & fix TimonPost/crossterm_update..zrzka/crossterm-0.14-performance.

One would say that we can use some very very small timeout, like 500 microseconds, but do we really want it?

So this boils down to - correct me if I am wrong @zrzka - do we wait a fraction of a millisecond, or do we spawn a thread which performs a block read and sent events over crossbeam channel back to the backend. This is for @gyscos to decide.

Yes, it boils down to these two options. I don't like poll with timeout as it violates the docs and it's fragile - we have no idea what number should be set -> thread like termion
Third option, I'm going to look at mio, prepare minimal example and will consult it with mio developers. Didn't have time for this today.

Thanks again for the thorough debugging!
So the main problem is that mio often returns that nothing can be read, even though there is data in the tty buffer?
A blocking read in a separate thread is what termion does, but it's not super clean (it may consumes one extra event after stopping the backend, so running multiple cursive loops consecutively is not always working as intended).
I'm not entirely against waiting ~1 or 2 ms: it's not strictly returning instantly, but it's hopefully fast enough that it won't be noticeable/discernible from some heavy computation. It's especially tempting as a temporary solution until mio is fixed.

So the main problem is that mio often returns that nothing can be read, even though there is data in the tty buffer?

Yep, but the is data in the tty buffer here should be in quotes. To be sure, I'm going to prepare minimal example without cursive/crossterm to verify my findings and to have something for mio developers.

Minimal reproducible example without cursive & crossterm boilerplate in the mio repository here: https://github.com/tokio-rs/mio/issues/1171.

Tried mio 0.6 & upcoming 0.7 - no difference
With this issue, I'm not saying that it's the mio crate problem, it can be "this is how the stdin works" (slow, ...)

I am finishing up the last PR and examples in order to do the release. Shortly after the release I will update this PR, and remove the WIP-status.

This PR is ready to me merges/reviewd. 0.14 is released.

CC: @Shnatsel, this PR is not yet merged, we might discuss it here.

Why should we use crossterm?

Cursive does not have to depend on term_size to retrieve terminal size.
Cursive can use resize events from crossterm instead of the signal polling thread.
No need for ncusus c dependencies.
Compilable and runnable both windows an Linux.

Earlier Concerns

Performance
Unstable

Revisiting Concerns

Lots of improvements are done during the last few months. I would say performance is equal to termion (subjective argument).
Crossterm has been stabilized with 0.12,0.13,0.14, I think that it soon can be a 1.0.
I merge and release issues bug fixes quickly.

I've opened an issue to discuss the choice of default backend further, see #411
On an unrelated note, does this fix #352?

@gyscos  Can this PR be merged? All discussed things are handled.

Why should we use crossterm as default

for true color support ! :rainbow:
anyhow i've been using this for a while (on linux) and have found no issues, it works as expected

Thanks! Will give it a try soon, should be able to get it merged before the new year.

The current implementation writes to stdout (and I assume reads from stdin?).
Is it possible to work with /dev/tty instead? It will allow interactive applications that still use stdin/stdout, like the fzf tool, or the vpv example` (among others)

Crissterm, on Linux, polls input from the tty https://github.com/crossterm-rs/crossterm/blob/master/src/event/sys/unix/file_descriptor.rs#L74
/dev/tty can't be used for windows systems, so I can't make it default in this implementation. That's why I used stdout. Can we somehow use an generic as buffer in cursive? That way the user can construct and create their own type of buffer

If we just want a difference between windows and Linux, we can do it with a #cfg[] in the backend code here?

Sure, I can take a look. We can make unix systems use /dev/tty.

There's still a few issues when redirecting stdout on linux (I think things like enabling the mouse are still sent to stdout instead of /dev/tty), but I'll merge it as-is and we'll fix it in another PR.


chore: upgrade toolchain to nightly-2024-08-07

I hereby agree to the terms of the GreptimeDB CLA.
Refer to a related PR or issue link (optional)
What's changed and what's your intention?
upgrade toolchain to nightly-2024-08-07
Checklist

[ ] I have written the necessary rustdoc comments.
[ ] I have added the necessary unit tests and integration tests.
[ ] This PR requires documentation updates.

Don't forget to update dev-builder image. cc @daviderli614


[webapp] Provide users a way to easily find errors and keywords in logs

Currently SCIONLab users who are trying to resolve issues or attempt to educate themselves on the operation of SCION may hunt through logs for information. The Health Check and troubleshooting guide proactively provide insight to common configuration issues, however it would be great to provide users a way to navigate unexpected errors and generally monitor healthy operation.
The webapp could provide a Logs tool to graphically and textually show logs from all services, routers, daemons, and dispatcher to:

highlight warnings/errors/critical errors and stack traces
allow users to select a highlighted issue and show the location in the logfile for greater context
provide an index of running services
monitor general operation of the AS
display errors graphically by time as well as linearly.

Questions to answer:

Are there other open source tools that do the above, or should be write it?
Does this tool already exist for SCIONLab users in the form of logdog?

This could be simplified by adding a panel below the AS Topology graoph on the Monitor page added in #122, such that it would display the log tail and allow scrolling of the log for the service clicked on the graph.


dead zone near origin of latent space

In looking at manifolds in my own experiments, I have noticed a consistent "dead zone" near the origin of the latent space. Here is an example generated with faces/train_uncond_dcgan.py and z=100:

I can post the math later, but suffice to say that the area near the center of the image is proportionally near zero in all z dimensions.
My strong suspicion is that this could be replicated by replacing this line in train_uncond_dcgan.py:
sample_zmb = floatX(np_rng.uniform(-1., 1., size=(nvis, nz)))

with
sample_zmb = floatX(np_rng.uniform(-0.1., 0.1., size=(nvis, nz)))

and seeing if this results in poor quality samples. I can followup and try this if that is useful - I haven't done so yet because I need to first implement the load operation to use one of the models that is being saved each epoch.
This isn't causing me any consternation, but I thought I would mention it since it's an unexpected curiosity and so might be a bug or might just be something I don't understand about the nature of this latent space.

Here is how to load a model:
from itertools import izip
gen_params_values = joblib.load(model_path + '_gen_params.jl')
for p, v in izip(gen_params, gen_params_values):
    p.set_value(v)
discrim_params_values = joblib.load(model_path + '_discrim_params.jl')
for p, v in izip(discrim_params, discrim_params_values):
    p.set_value(v)

Thanks @udibr, that worked great! So I stand corrected, I tried to replicate this sampling near the origin, but did not see any difference. In fact, I strangely don't see any difference independent of range. Some examples below, keep in mind the RNG is run from the same state. Here is the default range:
random_zmb = floatX(np_rng.uniform(-1., 1., size=(nvis, nz)))

here is a scaled range:
random_zmb = floatX(np_rng.uniform(-0.01, 0.01, size=(nvis, nz)))

and here is a scaled and translated range:
random_zmb1 = floatX(np_rng.uniform(0.25, 0.26, size=(nvis, nz)))

and just in case you think my code is having no effect, here is a constant range:
random_zmb1 = floatX(np_rng.uniform(0.0, 0.0, size=(nvis, nz)))

This seems to imply  that the absolute magnitude and position of the vectors don't matter at all, rather it is their direction from their mean. This is surprising to me - I'll definitely have to rethink what a slice of the latent space should be and might have implications for what constitutes a random walk.

Here is one last one - this is a linear path from the (-1,-1..) corner of the cube to the (1,1...) corner of the cube (here nz=100):
random_zmb = floatX(np_rng.uniform(-1., 1., size=(nvis, nz)))
for i in range(nvis):
    frac = i / (nvis - 1.0)
    for j in range(nz):
        random_zmb[i][j] = frac

I like this one because it shows:

there are only two images for the two vector directions (top half is negative, bottom positive)
the image degrades as the magnitude of the vector approaches 0, which was causing my original issue

this remindes me of Hinton's famous document clustering plot (fig 4C in http://www.cs.toronto.edu/~hinton/science.pdf )
Each cluster is ray from the center and the distance from the center can be interpreted with how sure the cluster is.
A "random walk" will be a circular path around the center

It wont be a circular path in this case because Z is sampled from uniform
dist, not a spherical dist like normal. It also explains edge effects,
which i think i can see happening with uniform.
On Thursday, December 3, 2015, Ehud Ben-Reuven<EMAIL_ADDRESS>wrote:

this remindes me of Hinton's famous document clustering plot (fig 4C in
http://www.cs.toronto.edu/~hinton/science.pdf )
Each cluster is ray from the center and the distance from the center can
be interpreted with how sure the cluster is.
A "random walk" will be a circular path around the center
—
Reply to this email directly or view it on GitHub
https://github.com/Newmu/dcgan_code/issues/12#issuecomment-161766660.

@dribnet The generator/sample code currently uses the minibatch to calculate statistics for batchnorm. This is the reason why changing the scale and mean of sampled Zs has no effect - batchnorm shifts and scales everything back to zero/unit. The current batchnorm code supports using cached/computed inference values - modifying the generator to pass in u (mean) and s (variance) to each call of batchnorm should fix the scale issues.
The hack that also works is to have a large amount of "random" samples passed in alongside the points you want to sample - this was done for some of the figures in the paper. You should keep the visualization to random sample low to avoid significantly changing the batchnorm statistics.
This could explain the deadzone, it could not. I'm out of town right now but when I'm back late this weekend I can take a look on my end - retraining with Z sampled from a unit sphere or just random normed vectors may fix the issue if I remember correctly some of this was experimented with in Ian's original code base.

Wkx = k * Wx,  BN(kx) = kBN(x), relu(kx) = krelu(x) => generator(kx) = k*generator(x) if you take the tanh from the end of the generator

Thanks @Newmu - this makes sense now. I can try regenerating my images using your hack soon and compare results. And maybe if look at the BN code,  I can figure out a more principled way to add just a few extra samples per sample that I want (eg, maybe: -sample, sample scaled to unit, -sample scaled to unit).

Could someone explain why the middle output images are different in the following cases?
Number of samples to visualize:
nvis = 5

Generator:
def gen(Z, w, g, b, w2, g2, b2, w3, g3, b3, w4, g4, b4, wx):
    h = relu(batchnorm(T.dot(Z, w), g=g, b=b))
    h = h.reshape((h.shape[0], ngf*8, 4, 4))
    ...

Visualize samples:
color_grid_vis(inverse_transform(samples), (1, nvis), 'samples.png')

Case 1: (similar to what @dribnet posted above)
Inputs:
z = floatX(np_rng.uniform(0.0, 0.0, size=(nvis, nz)))

Since z= [[0,...,0],...,[0,...,0]], it can be seen that h = relu(b), therefore h[2] = relu(b[2]).
Output images:

Case 2: (almost similar to what @dribnet posted above)
Inputs:
step = 2.0 / (nvis - 1)
z = floatX(np_rng.uniform(0.0, 0.0, size=(nvis, nz)))
for i in range(nvis):
    v = -1.0 + step * i
    for j in range(nz):
        random_zmb[i][j] = v

Let H = T.dot(Z, w). Since z[i]  = - z[nvis - 1 - i] and z[2] = [0,...,0], H[i]  = - H[nvis - 1 - i] and H[2] = [0,...,0]. Batchnorm may change H[i] except i = 2, it can be seen that batchnorm(H)[2] = [0,...,0], therefore h[2] = relu(b[2]).
Output images:

The values of h[2], which correspond to the middle images, are the same for both cases, but the output images are different. Do you have any ideas?

After working more with interpolation, I've think this result is likely due to the fact that random distributions in high dimensional spaces are shaped more like hyperspheres and so areas close the origin are extremely unlikely. This is true if the prior is uniform or gaussian, though it might be possible to construct a prior where this is not the case. So happy to close this issue.
A longer writeup of this reasoning is in this issue: soumith/dcgan.torch#14. @Newmu and @udibr - would be interested in your feedback on this idea. Note that this result also has consequences on the best way to do interpolation and averaging (eg: smiling woman) in the latent space.


Update Jawn to 1.0.0-RC1

See the release notes.

Codecov Report

Merging #1311 into master will decrease coverage by 4.84%.
The diff coverage is n/a.

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

Superseded by #1337.


DPY2 Changes

Well, we're gonna be rewriting the cog (again) for dpy2, mostly just changing the breaking changes as I have a dpy 2 instance running

I'll start working on buttons, once I figure things out


Automator: update<EMAIL_ADDRESS>in<EMAIL_ADDRESS>

Generated by Automator - 2021-01-15T18:06:39+00:00

@istio-testing: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-mixer-k8s-tests_istio_release-1.7
94ae409af58facf433d5a3de93db1c56ed415336
link
/test integ-mixer-k8s-tests_istio_release-1.7

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@istio-testing: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-mixer-k8s-tests_istio_release-1.7
94ae409af58facf433d5a3de93db1c56ed415336
link
/test integ-mixer-k8s-tests_istio_release-1.7

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@istio-testing: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-mixer-k8s-tests_istio_release-1.7
94ae409af58facf433d5a3de93db1c56ed415336
link
/test integ-mixer-k8s-tests_istio_release-1.7

integ-galley-k8s-tests_istio_release-1.7
94ae409af58facf433d5a3de93db1c56ed415336
link
/test integ-galley-k8s-tests_istio_release-1.7

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@istio-testing: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-mixer-k8s-tests_istio_release-1.7
94ae409af58facf433d5a3de93db1c56ed415336
link
/test integ-mixer-k8s-tests_istio_release-1.7

integ-galley-k8s-tests_istio_release-1.7
94ae409af58facf433d5a3de93db1c56ed415336
link
/test integ-galley-k8s-tests_istio_release-1.7

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

/retest

@istio-testing: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

gencheck_istio_release-1.7
94ae409af58facf433d5a3de93db1c56ed415336
link
/test gencheck_istio_release-1.7

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@istio-testing: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

gencheck_istio_release-1.7
94ae409af58facf433d5a3de93db1c56ed415336
link
/test gencheck_istio_release-1.7

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

/retest


Support for Aero

@lucasdemarchi Rebased.

@bkueng Needs a review from you.

@dagar Can we reduce the circle ci load?

Something else must be wrong with it right now. It's usually under 10 minutes. https://circleci.com/gh/PX4/Firmware


Move deploy tests under playwright-shiny make command

Allow to run the deploy tests on CI but skip deploy tests when running locally.

Winston requested changes to move the deploys around. This clashes with my original work request, so I will revert the behavior.


[6.0] Fix lifetime dependence demangling and add a new Sema diagnostic

Explanation: [6.0] Fix lifetime dependence demangling and add a new Sema diagnostic
Scope: Required when lifetime dependence specifiers are used alongside some other type annotations like throws
Radar/SR Issues: rdar://125564108 (~Escapable: Assertion in demangler instead of diagnostic)
Original PR: https://github.com/apple/swift/pull/72684
Risk: The changes are effective only with the experimental feature non escapable types
Testing: Unit tests added
Reviewer: @atrick

@swift-ci test

@swift-ci test

@swift-ci test linux platform


Revert "Fix backup poller races (#26446)"

This reverts commit a6b140cd8545da5cb7c559d278e58dcbe290930c.
The original PR seems to be causing https://github.com/grpc/grpc/issues/26528

Closing in favor of #26530