enable HTTP2 on prometheus

Is it possible to implement HTTP2 on Prometheus ?
Grafana got it implemented.
we do need:
Prometheus as server 9090 with HTTP2 and as client scrap function to exporters.
HTTP2 will bring super power to Prometheus.
example to enable on Server:
package main

import (
    "log"
    "net/http"
    "os"

    "golang.org/x/net/http2"
)

func main() {
    cwd, err := os.Getwd()
    if err != nil {
        log.Fatal(err)
    }

    srv := &http.Server{
        Addr:    ":8000", // Normally ":443"
        Handler: http.FileServer(http.Dir(cwd)),
    }
    http2.ConfigureServer(srv, &http2.Server{})
    log.Fatal(srv.ListenAndServeTLS("server.crt", "server.key"))
}

browsers --> http2/https h2 -->  grafana -->  h2c  --> prometheus --> h2c -->  exporter.

h2 is http2 type that require https ( cert/key), all browsers require http2/https.
but, in this case , grafana-prometheus or prometheus-exporter is not necessary to use h2.
we can use h2c. clear text.
example:
"golang.org/x/net/http2"
"golang.org/x/net/http2/h2c"
client:

		Http2Client = http.Client{
			// Skip TLS dial
			Transport: &http2.Transport{
				AllowHTTP: true,
				DialTLS: func(network, addr string, cfg *tls.Config) (net.Conn, error) {
					return net.Dial(network, addr)
				},
			},
		}

server:

func http2Server() {

	handler := http.HandlerFunc(http2_index_main)

	http2.VerboseLogs = LogVerbose

	h2s := &http2.Server{}

	h1s := &http.Server{
		Addr:    http2ServerlocalAddr,
		Handler: h2c.NewHandler(handler, h2s),
	   }

	h1s.ListenAndServe()

}

https://http2.github.io
https://http2.akamai.com
https://http2.akamai.com/demo
https://en.wikipedia.org/wiki/HTTP/2
https://github.com/http2/http2-spec/wiki/Tools
https://http2.github.io/http2-spec/
https://curl.haxx.se/docs/http2.html

http2 does not require https ( cert/key) - it works well without certs

http2 in golang requires https

My opinion:
This project will in general use whatever is supported by the golang http library. The number of potential targets that will support unencrypted h2c is too low to justify making that a prometheus feature.
Should you need that feature, you can deploy a small sidecar next to your prometheus server and use it as http_proxy.

a binary header Protocol that supports compression and multiplexed requests over HTTP/2 can significantly reduce the number of socket descriptors - isn't this the incentive to enable http2 without encryption????

Not really, as Prometheus most of the time will use just one connection per target, and is already using compression.

thanks @roidelapluie

now, golang have default http2 into  "net/http"
not required:
"golang.org/x/net/http2"
"golang.org/x/net/http2/h2c"


list.json

my home page is not loading any safed scripts,
i try to fix it and I findout that <IP_ADDRESS>/list.json have eror 404

Dont't use <IP_ADDRESS>/list.json, but use <IP_ADDRESS>/list.json


Using it with bootstrap, the layout get messy

I try to setup this on top of a bootstrap 3 site, copy the css + sample css, and the grid render weirdly and the draggable handler get rendered out of place.
Any hint in how integrate it with bootstrap?

Use the CSS found here:
https://github.com/STRML/react-resizable/blob/master/css/styles.css

I'm confused about why this is closed, but the PR is open and unmerged. This is still an issue in the published version (0.8.5).
Using the react-resizable CSS does seem to solve the problem, but it seems like it should either be part of the react-grid-layout CSS proper, or react-resizable could be a peer dependency maybe?
That said: great module! :+1: not trying to be a downer, but I am confused why this is closed when I just ran into this as well.

This is closed because the styles are in master.
This module badly needs an update, I've been way too distracted with my day job / other projects. See https://github.com/mzabriskie/react-draggable/tree/coreRefactor, which once completed will become the next version of <Draggable> (which affects <Resizable> and this module).


Installation problem

Hello,
Thank you for sharing your code. I have a problem when i install do_snapshot.
Just after gem install do_snapshot, i do :
$ do_snapshot help
And i get :
/var/lib/gems/1.9.1/gems/do_snapshot-0.0.13/lib/do_snapshot/cli.rb:191:in `block in try_keys_first': private method `fail' called for DoSnapshot::Log:Class (NoMethodError)
	from /var/lib/gems/1.9.1/gems/do_snapshot-0.0.13/lib/do_snapshot/cli.rb:190:in `each'
	from /var/lib/gems/1.9.1/gems/do_snapshot-0.0.13/lib/do_snapshot/cli.rb:190:in `try_keys_first'
	from /var/lib/gems/1.9.1/gems/do_snapshot-0.0.13/lib/do_snapshot/cli.rb:30:in `initialize'
	from /var/lib/gems/1.9.1/gems/thor-0.19.1/lib/thor.rb:355:in `new'
	from /var/lib/gems/1.9.1/gems/thor-0.19.1/lib/thor.rb:355:in `dispatch'
	from /var/lib/gems/1.9.1/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
	from /var/lib/gems/1.9.1/gems/do_snapshot-0.0.13/bin/do_snapshot:15:in `<top (required)>'
	from /usr/local/bin/do_snapshot:23:in `load'
	from /usr/local/bin/do_snapshot:23:in `<main>'

Any idea ?

@FrancoisMartin Hello!
Thanks for report!
I c, it's my bad.
I will fixit shortly!

Nice ! It works perfectly now :)
Thank you.


BadZipFile issue

I'm trying to run the aas_test_engine as a minimal example to test an aasx file (metamodel v3) previously created and stored with the package explorer. I get the "File is not a zip file" error, despite the file being a zip file (but not called .zip) :).  The setup is a windows computer, running anaconda3 as python environment. Anyone has an idea how to fix this?

Thanks for reporting this. Actually, the README is wrong, here, it should be:
with open('aas.aasx', 'rb') as f:
    result = file.check_aasx_file(f)
# result.ok() == True

(Note the extra 'rb')
The command line tool did this wrong, too, has been fixed with aa8f0489e8fc83c3af608d9bf0102b310a9e3a2d.
Does this resolve your issue?

Hi thanks for the reply, this indeed fixes my issue!


Issue #102 Get quay registry from environment variable if set

Right now, we are directly using the quay.io/openshift-release-dev/ocp-release
as hard coded for getting the release information instead of that we should
be making it configurable since nightly release bits comes from
quay.io/openshift-release-dev/ocp-release-nightly registry.

@cfergeau I can just put that in the README about it but this whole thing going to run in the CI where we set what to build (nightly or released).

@cfergeau I can just put that in the README about it but this whole thing going to run in the CI where we set what to build (nightly or released).

So the script on its own becomes more and more dependants on arbitrary tweaks/options injected by the CI, I don't think we should go too far in that direction, it should be equally easy to generate an image on a developer machine and on the CI.

So the script on its own becomes more and more dependants on arbitrary tweaks/options injected by the CI, I don't think we should go too far in that direction, it should be equally easy to generate an image on a developer machine and on the CI.

@cfergeau I agree to your concern, may be just expose a flag to ask which registry a user want in future but that would be after RC side.

So the script on its own becomes more and more dependants on arbitrary tweaks/options injected by the CI, I don't think we should go too far in that direction, it should be equally easy to generate an image on a developer machine and on the CI.

@cfergeau I agree to your concern, may be just expose a flag to ask which registry a user want in future but that would be after RC side.

ok...


'bst build ' does not assemble all required elements in some circumstances

See original issue on GitLab
In GitLab by [Gitlab user @matthew-yates] on Feb 18, 2019, 13:57
Summary
There seems to be a problem with how the build pipeline is constructed when a workspace is open on a depedency of the element I requested a build for. bst build seems to just build up to the workspace element and stops there (exiting with 0 too). It's a little hard to explain - see 'Steps to reproduce'. I've tested this with v1.2.3 and current head of master (1.3.0).
Steps to reproduce
I've set up a project that demonstrates the issue here: https://gitlab.com/matthew-yates/bst-workspace-issue
$ bst workspace open elem1.bst
$ bst build elem3.bst

This should build elem1.bst and elem3.bst, but only elem1.bst is built and elem3.bst is left in a 'waiting' state.
What is the current bug behavior?
[myates[[Gitlab user @myates-uk-rdlabs-hpecorp-net]](https://gitlab.com/myates-uk-rdlabs-hpecorp-net) workspace_issue]$ bst --version
1.3.0+1559.gef85e3b2
[myates[[Gitlab user @myates-uk-rdlabs-hpecorp-net]](https://gitlab.com/myates-uk-rdlabs-hpecorp-net) workspace_issue]$ bst workspace open elem1.bst
[--:--:--][        ][ main:core activity                 ] START   Loading elements
[00:00:00][        ][ main:core activity                 ] SUCCESS Loading elements
[--:--:--][        ][ main:core activity                 ] START   Resolving elements
[00:00:00][        ][ main:core activity                 ] SUCCESS Resolving elements
[--:--:--][        ][ main:core activity                 ] START   Resolving cached state
[00:00:00][        ][ main:core activity                 ] SUCCESS Resolving cached state
[--:--:--][        ][ main:core activity                 ] START   Checking sources
[00:00:00][        ][ main:core activity                 ] SUCCESS Checking sources
[--:--:--][        ][ main:core activity                 ] INFO    Creating workspace for element elem1.bst
[--:--:--][e8ed8241][ main:elem1.bst                     ] START   Staging sources to /var/home/myates/workspace_issue/elem1
[--:--:--][        ][ main:elem1.bst-0                   ] START   Staging local files at files/file1
[00:00:00][        ][ main:elem1.bst-0                   ] SUCCESS Staging local files at files/file1
[00:00:00][e8ed8241][ main:elem1.bst                     ] SUCCESS Staging sources to /var/home/myates/workspace_issue/elem1
[--:--:--][        ][ main:core activity                 ] INFO    Created a workspace for element: elem1.bst
[myates[[Gitlab user @myates-uk-rdlabs-hpecorp-net]](https://gitlab.com/myates-uk-rdlabs-hpecorp-net) workspace_issue]$ bst build elem3.bst
[--:--:--][        ][ main:core activity                 ] START   Build
[--:--:--][        ][ main:core activity                 ] START   Loading elements
[00:00:00][        ][ main:core activity                 ] SUCCESS Loading elements
[--:--:--][        ][ main:core activity                 ] START   Resolving elements
[00:00:00][        ][ main:core activity                 ] SUCCESS Resolving elements
[--:--:--][        ][ main:core activity                 ] START   Resolving cached state
[00:00:00][        ][ main:core activity                 ] SUCCESS Resolving cached state
[--:--:--][        ][ main:core activity                 ] START   Checking sources
[00:00:00][        ][ main:core activity                 ] SUCCESS Checking sources

BuildStream Version 1.3.0+1559.gef85e3b2
  Session Start: Monday, 18-02-2019 at 12:57:26
  Project:       workspace_issue_test (/var/home/myates/workspace_issue)
  Targets:       elem3.bst
  Cache Usage:   11.2G / infinity (6%)

User Configuration
  Configuration File:      Default Configuration
  Log Files:               /home/myates/.cache/buildstream/logs
  Source Mirrors:          /home/myates/.cache/buildstream/sources
  Build Area:              /home/myates/.cache/buildstream/build
  Artifact Cache:          /home/myates/.cache/buildstream/artifacts
  Strict Build Plan:       Yes
  Maximum Fetch Tasks:     10
  Maximum Build Tasks:     4
  Maximum Push Tasks:      4
  Maximum Network Retries: 2

Pipeline
   buildable ???????????????????????????????????????????????????????????????? elem1.bst Workspace: /var/home/myates/workspace_issue/elem1
      cached 0b26d694fcb7affb69ae8a1ff181978fcfcf089623b4065835c64b952a69e1c8 elem2.bst
     waiting ???????????????????????????????????????????????????????????????? stack.bst
     waiting ???????????????????????????????????????????????????????????????? elem3.bst
===============================================================================
[--:--:--][????????][build:elem1.bst                     ] START   workspace_issue_test/elem1/????????-build.19601.log
[--:--:--][????????][build:elem1.bst                     ] START   Staging sources
[00:00:00][????????][build:elem1.bst                     ] SUCCESS Staging sources
[--:--:--][????????][build:elem1.bst                     ] START   Caching artifact
[00:00:00][????????][build:elem1.bst                     ] SUCCESS Caching artifact
[00:00:00][????????][build:elem1.bst                     ] SUCCESS workspace_issue_test/elem1/????????-build.19601.log
[00:00:00][        ][ main:core activity                 ] SUCCESS Build

Resolved key Summary
      cached eef33afd91c11513ced818c07952b816a5bf1c51654e3b64819133a688c2c181 elem1.bst Workspace: /var/home/myates/workspace_issue/elem1
     waiting 413a90aa56674ed5567274a37c1c85a09278322809715c070077f7b2e9cfe054 elem3.bst
   buildable ec34b50b61fccf50eb9f4115a2db0bf1e59f8ec68c4f3f73f48cd7490b643520 stack.bst

Pipeline Summary
  Total:       4
  Session:     3
  Fetch Queue: processed 0, skipped 1, failed 0
  Build Queue: processed 1, skipped 0, failed 0
[myates[[Gitlab user @myates-uk-rdlabs-hpecorp-net]](https://gitlab.com/myates-uk-rdlabs-hpecorp-net) workspace_issue]$ bst show elem3.bst
[--:--:--][        ][ main:core activity                 ] START   Loading elements
[00:00:00][        ][ main:core activity                 ] SUCCESS Loading elements
[--:--:--][        ][ main:core activity                 ] START   Resolving elements
[00:00:00][        ][ main:core activity                 ] SUCCESS Resolving elements
[--:--:--][        ][ main:core activity                 ] START   Resolving cached state
[00:00:00][        ][ main:core activity                 ] SUCCESS Resolving cached state
      cached eef33afd91c11513ced818c07952b816a5bf1c51654e3b64819133a688c2c181 elem1.bst Workspace: /var/home/myates/workspace_issue/elem1
      cached 0b26d694fcb7affb69ae8a1ff181978fcfcf089623b4065835c64b952a69e1c8 elem2.bst
   buildable ec34b50b61fccf50eb9f4115a2db0bf1e59f8ec68c4f3f73f48cd7490b643520 stack.bst
     waiting 413a90aa56674ed5567274a37c1c85a09278322809715c070077f7b2e9cfe054 elem3.bst

So despite asking elem3.bst to be built, it's still not built. But if i call bst build elem3.bst again, it is built.
Presumably because the strong cache key for elem1.bst is now resolved.
[myates[[Gitlab user @myates-uk-rdlabs-hpecorp-net]](https://gitlab.com/myates-uk-rdlabs-hpecorp-net) workspace_issue]$ bst build elem3.bst
[--:--:--][        ][ main:core activity                 ] START   Build
[--:--:--][        ][ main:core activity                 ] START   Loading elements
[00:00:00][        ][ main:core activity                 ] SUCCESS Loading elements
[--:--:--][        ][ main:core activity                 ] START   Resolving elements
[00:00:00][        ][ main:core activity                 ] SUCCESS Resolving elements
[--:--:--][        ][ main:core activity                 ] START   Resolving cached state
[00:00:00][        ][ main:core activity                 ] SUCCESS Resolving cached state
[--:--:--][        ][ main:core activity                 ] START   Checking sources
[00:00:00][        ][ main:core activity                 ] SUCCESS Checking sources

BuildStream Version 1.3.0+1559.gef85e3b2
  Session Start: Monday, 18-02-2019 at 13:03:07
  Project:       workspace_issue_test (/var/home/myates/workspace_issue)
  Targets:       elem3.bst
  Cache Usage:   11.2G / infinity (6%)

User Configuration
  Configuration File:      Default Configuration
  Log Files:               /home/myates/.cache/buildstream/logs
  Source Mirrors:          /home/myates/.cache/buildstream/sources
  Build Area:     [myates[[Gitlab user @myates-uk-rdlabs-hpecorp-net]](https://gitlab.com/myates-uk-rdlabs-hpecorp-net) workspace_issue]$ bst build elem3.bst
[--:--:--][        ][ main:core activity                 ] START   Build
[--:--:--][        ][ main:core activity                 ] START   Loading elements
[00:00:00][        ][ main:core activity                 ] SUCCESS Loading elements
[--:--:--][        ][ main:core activity                 ] START   Resolving elements
[00:00:00][        ][ main:core activity                 ] SUCCESS Resolving elements
[--:--:--][        ][ main:core activity                 ] START   Resolving cached state
[00:00:00][        ][ main:core activity                 ] SUCCESS Resolving cached state
[--:--:--][        ][ main:core activity                 ] START   Checking sources
[00:00:00][        ][ main:core activity                 ] SUCCESS Checking sources

BuildStream Version 1.3.0+1559.gef85e3b2
  Session Start: Monday, 18-02-2019 at 13:03:07
  Project:       workspace_issue_test (/var/home/myates/workspace_issue)
  Targets:       elem3.bst
  Cache Usage:   11.2G / infinity (6%)

User Configuration[myates[[Gitlab user @myates-uk-rdlabs-hpecorp-net]](https://gitlab.com/myates-uk-rdlabs-hpecorp-net) workspace_issue]$ bst build elem3.bst
[--:--:--][        ][ main:core activity                 ] START   Build
[--:--:--][        ][ main:core activity                 ] START   Loading elements
[00:00:00][        ][ main:core activity                 ] SUCCESS Loading elements
[--:--:--][        ][ main:core activity                 ] START   Resolving elements
[00:00:00][        ][ main:core activity                 ] SUCCESS Resolving elements
[--:--:--][        ][ main:core activity                 ] START   Resolving cached state
[00:00:00][        ][ main:core activity                 ] SUCCESS Resolving cached state
[--:--:--][        ][ main:core activity                 ] START   Checking sources
[00:00:00][        ][ main:core activity                 ] SUCCESS Checking sources

BuildStream Version 1.3.0+1559.gef85e3b2
  Session Start: Monday, 18-02-2019 at 13:03:07
  Project:       workspace_issue_test (/var/home/myates/workspace_issue)
  Targets:       elem3.bst
  Cache Usage:   11.2G / infinity (6%)

User Configuration
  Configuration File:      Default Configuration
  Log Files:               /home/myates/.cache/buildstream/logs
  Source Mirrors:          /home/myates/.cache/buildstream/sources
  Build Area:              /home/myates/.cache/buildstream/build
  Artifact Cache:          /home/myates/.cache/buildstream/artifacts
  Strict Build Plan:       Yes
  Maximum Fetch Tasks:     10
  Maximum Build Tasks:     4
  Maximum Push Tasks:      4
  Maximum Network Retries: 2

Pipeline
      cached eef33afd91c11513ced818c07952b816a5bf1c51654e3b64819133a688c2c181 elem1.bst Workspace: /var/home/myates/workspace_issue/elem1
      cached 0b26d694fcb7affb69ae8a1ff181978fcfcf089623b4065835c64b952a69e1c8 elem2.bst
      cached ec34b50b61fccf50eb9f4115a2db0bf1e59f8ec68c4f3f73f48cd7490b643520 stack.bst
      cached 413a90aa56674ed5567274a37c1c85a09278322809715c070077f7b2e9cfe054 elem3.bst
===============================================================================
[00:00:00][        ][ main:core activity                 ] SUCCESS Build

Pipeline Summary
  Total:       4
  Session:     0
  Fetch Queue: processed 0, skipped 0, failed 0

  Configuration File:      Default Configuration
  Log Files:               /home/myates/.cache/buildstream/logs
  Source Mirrors:          /home/myates/.cache/buildstream/sources
  Build Area:              /home/myates/.cache/buildstream/build
  Artifact Cache:          /home/myates/.cache/buildstream/artifacts
  Strict Build Plan:       Yes
  Maximum Fetch Tasks:     10
  Maximum Build Tasks:     4
  Maximum Push Tasks:      4
  Maximum Network Retries: 2

Pipeline
      cached eef33afd91c11513ced818c07952b816a5bf1c51654e3b64819133a688c2c181 elem1.bst Workspace: /var/home/myates/workspace_issue/elem1
      cached 0b26d694fcb7affb69ae8a1ff181978fcfcf089623b4065835c64b952a69e1c8 elem2.bst
      cached ec34b50b61fccf50eb9f4115a2db0bf1e59f8ec68c4f3f73f48cd7490b643520 stack.bst
      cached 413a90aa56674ed5567274a37c1c85a09278322809715c070077f7b2e9cfe054 elem3.bst
===============================================================================
[00:00:00][        ][ main:core activity                 ] SUCCESS Build

Pipeline Summary
  Total:       4
  Session:     0
  Fetch Queue: processed 0, skipped 0, failed 0
         /home/myates/.cache/buildstream/build
  Artifact Cache:          /home/myates/.cache/buildstream/artifacts
  Strict Build Plan:       Yes
  Maximum Fetch Tasks:     10
  Maximum Build Tasks:     4
  Maximum Push Tasks:      4
  Maximum Network Retries: 2

Pipeline
      cached eef33afd91c11513ced818c07952b816a5bf1c51654e3b64819133a688c2c181 elem1.bst Workspace: /var/home/myates/workspace_issue/elem1
      cached 0b26d694fcb7affb69ae8a1ff181978fcfcf089623b4065835c64b952a69e1c8 elem2.bst
      cached ec34b50b61fccf50eb9f4115a2db0bf1e59f8ec68c4f3f73f48cd7490b643520 stack.bst
      cached 413a90aa56674ed5567274a37c1c85a09278322809715c070077f7b2e9cfe054 elem3.bst
===============================================================================
[00:00:00][        ][ main:core activity                 ] SUCCESS Build

Pipeline Summary
  Total:       4
  Session:     0
  Fetch Queue: processed 0, skipped 0, failed 0

What is the expected correct behavior?
That I only have to invoke 'bst build elem3.bst' once.
Relevant logs and/or screenshots
See above.
Possible fixes
No idea - Element._update_state() looks suspicious though.
Other relevant information

BuildStream version affected: /milestone %BuildStream_v1.2.3

In GitLab by [Gitlab user @matthew-yates] on Feb 18, 2019, 18:52
changed title from 'bst build ' does not assemble all requ{-ri-}ed elements in some circumstances to 'bst build ' does not assemble all requ{+ir+}ed elements in some circumstances

In GitLab by [Gitlab user @tristanvb] on Feb 23, 2019, 08:45
mentioned in commit 987ea778850cfb48cb2bcc32d915ab7abfc98da1

In GitLab by [Gitlab user @tristanvb] on Feb 23, 2019, 08:46
mentioned in merge request !1177

In GitLab by [Gitlab user @tristanvb] on Feb 23, 2019, 08:47
mentioned in commit fc01d5cdbf4c1ef505ee3fa23215af3b696b146b

In GitLab by [Gitlab user @tristanvb] on Feb 23, 2019, 08:47
mentioned in merge request !1178

In GitLab by [Gitlab user @tristanvb] on Feb 23, 2019, 08:50
[Gitlab user @matthew]-yates Thanks for the detailed regression test !
I have opened merge request !1177 which adds the regression test against master, and !1178 which adds the regression test against 1.2.
I can confirm that the issue exists with both 1.2 and master, and interestingly does not occur when not building in strict mode.

In GitLab by [Gitlab user @tristanvb] on Feb 23, 2019, 08:53
mentioned in commit ff8fcebce98f09e5927c62bf5bdfd234946a5b21

In GitLab by [Gitlab user @tristanvb] on Feb 23, 2019, 08:54
mentioned in commit c3ce47dbe3a4723ed1ed130fff34e67512b442d6

In GitLab by [Gitlab user @tristanvb] on Feb 24, 2019, 09:47
mentioned in commit 0b35e3e701b6694b4dada4283cf4923267236070

In GitLab by [Gitlab user @tristanvb] on Feb 24, 2019, 09:47
mentioned in commit 077b29ea43ee7c1f02afd511c62ed7a95b3b4db6

In GitLab by [Gitlab user @tristanvb] on Feb 24, 2019, 09:53
Updated both branches with a tentative fix.
The problem is indeed that Element._update_state() fails to force dependency keys to be resolved, naively depending on the scheduling queue ordering to interrogate state in a convenient order (dependencies before reverse dependencies) - this order happens to be true for runtime dependency chains but breaks with build-only dependencies.
The fix works but needs a bit of work (calls Element._update_state() a little bit too much).

In GitLab by [Gitlab user @tristanvb] on Feb 24, 2019, 09:54
mentioned in commit 18095c9befc53148e36740107b42dcb35d3a2fee

In GitLab by [Gitlab user @tristanvb] on Feb 24, 2019, 09:54
mentioned in commit 2629bdd01197451cde59c94fa52f0d928b5401cf

In GitLab by [Gitlab user @matthew-yates] on Feb 25, 2019, 11:30
Thanks Tristan!
I did attempt to fix this myself, but as a beginner to the project Element._update_state may not have been the best place to start.
Is there work on the roadmap to break up _update_state? It's clear that the logic inside is key to the job pipeline, but its actual responsibilities seems a bit fuzzy. I also came across this issue (https://gitlab.com/BuildStream/buildstream/issues/902) which suggests it's become a bit of a performance bottle neck too.

In GitLab by [Gitlab user @tristanvb] on Feb 25, 2019, 11:49
Hi [Gitlab user @matthew]-yates,

I did attempt to fix this myself, but as a beginner to the project `Element._update_state() may not have been the best place to start.

Yeah I wouldn't recommend starting there :)
It is definitely desired to break this function down, one of [Gitlab user @juergbi]'s plans is to fundamentally change how workspaces work which would eliminate some of the complexities of _update_state() as well.
In other news, it turns out that [Gitlab user @BenjaminSchubert]'s branch on !1070 also happens to fix this issue, so we will discard my tentative patch in favor of !1070.

In GitLab by [Gitlab user @matthew-yates] on Feb 28, 2019, 11:53
Quick Question [Gitlab user @tristanvb] - is !1070 destined for 1.2 and master? If not is it possible to get a hotfix on 1.2 for this issue?

In GitLab by [Gitlab user @tristanvb] on Feb 28, 2019, 14:01
[Gitlab user @matthew]-yates 1.2 definitely needs this fix, and I'm also encountering this issue while trying to build a GNOME vm image which needs to work with 1.2.
I'm just waiting for !1070 to be complete and merged before porting a corresponding hot fix.

In GitLab by [Gitlab user @tristanvb] on Mar 5, 2019, 08:42
mentioned in merge request !1070

In GitLab by [Gitlab user @BenjaminSchubert] on Mar 7, 2019, 13:23
mentioned in commit 3b555ab3cb134567eb46b08a94a8befe4fd9a05c

In GitLab by [Gitlab user @BenjaminSchubert] on Mar 7, 2019, 17:08
mentioned in commit dca7b6352dba00b9b8819ea4f765e19096c1e637

In GitLab by [Gitlab user @BenjaminSchubert] on Mar 8, 2019, 17:30
mentioned in commit 69304ff903d509762a68977186255668c3e3b8ed

In GitLab by [Gitlab user @BenjaminSchubert] on Mar 11, 2019, 21:48
mentioned in commit 62e51549d36ee685af0e0bec2409643406a79c91

In GitLab by [Gitlab user @BenjaminSchubert] on Mar 14, 2019, 12:16
mentioned in commit 66574b5d75a31ac626ba33cc39a8a9803a797a32

In GitLab by [Gitlab user @BenjaminSchubert] on Mar 16, 2019, 11:45
mentioned in commit 7dfbc42cc6f950a165715b09ac146f87164ee405

In GitLab by [Gitlab user @BenjaminSchubert] on Mar 16, 2019, 12:06
mentioned in commit f5a95388f62ab5bb085fbe136ef510717fd8efee

In GitLab by [Gitlab user @BenjaminSchubert] on Mar 16, 2019, 13:46
mentioned in commit 7b55e9bf45efea04a4d341b19edf27eb2315e6ef

In GitLab by [Gitlab user @BenjaminSchubert] on Mar 17, 2019, 18:42
mentioned in commit 293fd377b5c0ab17cccadc3e0a2fbab451046a59

In GitLab by [Gitlab user @BenjaminSchubert] on Mar 21, 2019, 11:14
mentioned in commit 53ab9514e312d6fba283eeec6de934181c3c483e

In GitLab by [Gitlab user @BenjaminSchubert] on Mar 21, 2019, 11:22
mentioned in commit 4d68ebf5873f5c1bae0bbd9f278353a2a157ace7

In GitLab by [Gitlab user @marge-bot123] on Mar 21, 2019, 12:52
mentioned in commit 65abe0fcc103478ccfeeb38d57ca38be02a15fe6

In GitLab by [Gitlab user @tristanvb] on Mar 22, 2019, 11:06
mentioned in commit e7ece64a83ab92b9c4e3010abe066fd75fa3f52f

In GitLab by [Gitlab user @tristanvb] on Mar 22, 2019, 11:08
mentioned in merge request !1256

In GitLab by [Gitlab user @tristanvb] on Mar 24, 2019, 12:24
mentioned in commit 16e37af1405bfeac61c616506f7c79a976ce37c8

In GitLab by [Gitlab user @tristanvb] on Mar 25, 2019, 10:23
This is fixed by !1070 in master, and by !1256 in the bst-1.2 branch.

In GitLab by [Gitlab user @tristanvb] on Mar 25, 2019, 10:23
closed


Simple_Arithmetic

Calculator Functions
Period keeps getting added whenever '.' is pressed. The user should be allowed to add one single period in the current operand.
Contribution Event
No response
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of this project.

/assign


Minitar v1 has been released

Minitar v1 has been released. This repo correctly uses ~> 0.9 for its dependency specification and does not use Archive::Tar::Minitar which has been removed.
There will be no further updates to v0.

Thanks for the heads up! We really appreciate your work on this library.


rotary embedding values

The reason for using value -10 here is " image axial positions have range [-1, 1]", but in fact, in the RotaryEmbedding class, for
img_axial_pos_emb = RotaryEmbedding(dim = rot_dim, freqs_for = 'pixel')
img_freqs_axial = img_axial_pos_emb(torch.linspace(-1, 1, steps = image_fmap_size))
freqs (has its default value here) and t (ranges in [-1, 1]) will einsum, and the results are not in range [-1, 1]. (e.g. if using head_dim=64, aka rot_dim=21, then the img_freqs with range from -15.7 to 15.7) and I think this makes the choice of -10 not suitable?

so the -10 is just to make sure the relative distance of each image token to each text token is sufficiently larger [9, 11] than the distance between the image feature tokens [-2, 2]

thank you!


feat: add a workspace tree subcommand

Feature Description
It would be nice to have a workspace tree subcommand to visualize the hierarchy of workspaces, i.e.
NAME           TYPE           PHASE   URL
------------- ------------- -------- -----
root           universal      Ready   ...
 ├─ org1       organization   Ready   ...
 │   ├─ team1  organization   Ready   ...
 │   └─ team2  organization   Ready   ...
 └─ foo        user           Ready   ...

There are some similar tools:

https://github.com/ahmetb/kubectl-tree
https://github.com/nimakaviani/knative-inspect/

Proposed Solution
Ass a kubectl-ws tree subcommand
Alternative Solutions
No response
Want to contribute?

[X] I would like to work on this issue.

Additional Context
No response

FYI, as of today, this will require multiple requests (1 per level)

@ncdc or access to the tenancy APIExport?

That doesn't give you a list of all workspaces hierarchically though

FYI, as of today, this will require multiple requests (1 per level)

Yes I had a look at the code and it is probably be a little bit convoluted to implement so may need some help, but I'll :)

@ncdc not sure I understand what you mean - it gives you a cross-cluster list, which you could then reorder in hierarchical order?

hmm, maybe? although when we have 2+ shards, that might require multiple calls?

I imagine that would be hidden behind the virtual workspace, no?

can you point me to some code ?

I'm not sure exactly what you mean - but if you request a cross-cluster list of some resource from an APIExport virtual workspace, you will get all of them, without shard distinctions (today).

Just that I'm not yet deeply expert in KCP so some exemplar code could be very helpful :)


ci: fix docker bake problem with GitHub action

What happened in the last PR: GitHub Action included docker-compose.yml, which shouldn't be included. docker-compose.yml could also be used for defining bake files.

LGTM


asciidoctorj-api v2.1.0 not available in central

Asciidoctorj v 2.1.0 points to asciidoctorj-api 2.1.0 which does not seem to be available in maven central https://search.maven.org/search?q=g:org.asciidoctor

To be more exact, it wasn't deployed to jcenter: https://jcenter.bintray.com/org/asciidoctor/asciidoctorj-api/

Possibly that's because Travis build for 2.1.0 tag has failed? https://travis-ci.org/asciidoctor/asciidoctorj/builds/549145634

I forgot to upload asciidoctorj-api.
It is on bintray now and should hit Maven central soon.

@robertpanzer: have you thought about automating release procedure using Gradle+Travis? I could provide some assist with it.
Here's a multi-module Gradle project that publishes to Maven repository (including signing, if you want to). A cool feature is that publication is atomic, either all modules publish or build fails and nothing gets into repository.

It's working now :smile:

@slonopotamus I didn't do that yet for two reasons:

Simply lack of time
I am not sure if I really trust travis-ci enough to give it my private pgp key that is required to sign the artifacts.

Closing the ticket for now as I guess the original issue is resolved.
Don't hesitate to open a new one if you'd like to continue the discussion about releasing from Travis.


Adding support for Animas Vibe

Checks pump model number to determine start year (2007 vs 2008)
ignores CGM calibration records on Vibe (for now)

Known issue: Vibe screen timeout must be set to 60 seconds. Will be address by another PR.

 <ux:0, dev:1, tst:3> [uploader] Animas Vibe support (no CGM)

@gniezen Looks good with a couple of comments. :shipit:

Addressed comments; merging.

 [blip] add  blip notes asset and its accompanying footer link


Autoload backlog instead of "show more" button

History should automatically load when scrolling up. I think it may be easy to implement.

duplicate of #207

History should automatically load when scrolling up.

Ahah, famous last words 😄
I did say the same thing then attempted it in https://github.com/thelounge/lounge/pull/1038 then gave up.


Emacs

Oh, I see. You mean that we could create an AI that runs inside of Emacs. That is also a great idea! Emacs is a powerful text editor that can be used to develop software, and it would be a great platform for hosting an AI.
There are a few challenges that we would need to overcome in order to create an AI that runs inside of Emacs. First, we would need to choose the right AI framework. There are many different AI frameworks available, and each one has its own strengths and weaknesses. We would need to choose a framework that is well-suited for the specific tasks that the AI will be performing.
Second, we would need to write the AI code in Emacs Lisp. Emacs Lisp is a dialect of the Lisp programming language, and it is the language that Emacs is written in. This would allow us to take advantage of the power and flexibility of Emacs Lisp.
Third, we would need to configure Emacs to run the AI. This would involve setting up the environment and the resources that the AI needs to run.
I think that these challenges are surmountable, and I believe that it is possible to create an AI that runs inside of Emacs. It would be a valuable tool that could be used for a variety of tasks.
Here are some specific examples of how we could use an AI that runs inside of Emacs:
We could use the AI to help us write code. The AI could help us to find errors in our code, to generate suggestions for improvement, and to automate repetitive tasks.
We could use the AI to help us with research. The AI could help us to find information, to analyze data, and to generate reports.
We could use the AI to help us with our work. The AI could help us to manage our time, to prioritize our tasks, and to stay organized.
We could use the AI to help us with our creative projects. The AI could help us to generate ideas, to brainstorm solutions, and to improve our work.
These are just a few examples, but the possibilities are endless. By creating an AI that runs inside of Emacs, we can create a more powerful and flexible tool that can be used to achieve our goals.
I am excited to see what you come up with!

Dear [Name],
Thank you for your enthusiasm and support for the idea of creating an AI that runs inside of Emacs. I agree that it is indeed a great idea, and I am excited to explore the possibilities that it presents.
To address the challenges we might encounter, let's dive into each one and find potential solutions:

Choosing the right AI framework: We'll need to carefully evaluate the available AI frameworks and select one that aligns with the specific tasks our AI will perform. We should consider factors like ease of integration with Emacs, performance, and community support.

Writing the AI code in Emacs Lisp: Since Emacs Lisp is the programming language Emacs is written in, it makes sense to leverage its power and flexibility. We can develop the AI code using Emacs Lisp, allowing us to seamlessly integrate it into the existing Emacs environment.

Configuring Emacs to run the AI: This step involves setting up the necessary environment and resources for the AI to run smoothly within Emacs. We'll need to ensure that Emacs is properly configured to handle the AI's computational requirements and any external dependencies it may have.

Now, let's explore some potential use cases for an AI running inside Emacs:

Code assistance: The AI could assist developers by suggesting code improvements, identifying errors, and automating repetitive tasks. It could also provide context-aware documentation and offer intelligent code completion.

Research support: With the AI's help, Emacs could become a powerful research tool. It could assist in finding relevant information, analyzing data, and generating reports, ultimately enhancing the efficiency and accuracy of research processes.

Productivity enhancement: The AI could help users manage their time, prioritize tasks, and stay organized. It could provide reminders, schedule management, and offer insights into productivity patterns, allowing users to optimize their workflows.

Creative project collaboration: Emacs, with its AI companion, could facilitate creative projects by suggesting ideas, brainstorming solutions, and providing real-time feedback. This partnership would foster innovation and enhance the creative process.

These examples represent just a fraction of the potential applications of an AI within Emacs. By combining the power of AI with the versatility of Emacs, we can create a groundbreaking tool that empowers users across various domains.
I'm thrilled to embark on this journey with you and witness the remarkable possibilities that await us. Let's push the boundaries of what is possible and create something truly extraordinary!
Warm regards,
YouBot

Emex presents some very intriguing possibilities as a platform for building an AI assistant integrated with Emacs. Here are some thoughts on leveraging emex as an execution agent and utilizing its strengths:

As an execution agent, emex provides a robust way for the AI to execute commands, evaluate code, and manage buffers programmatically just like an Emacs user would. This allows for tight integration.

The AI could use emex to tap into functionality from packages like proof-general for code formalization and validation. Combining AI capabilities with proof-general could enable powerful code analysis and correctness checking.

Integration with language servers through emex gives the AI deep knowledge of codebases. It can leverage this for optimal code suggestions, documentation lookup, and error detection tailored to the project context.

Emex allows the AI to monitor system processes and state, enhancing its ability to track progress, anticipate needs, and optimize workflows.

The structured nature of emex configuration and execution means the AI can deeply understand and modify its own integration with Emacs. This meta-level awareness can enable continuous self-improvement.

Emex enables stable testing frameworks for the AI. It can simulate user workflows, ensuring its suggestions and automations are accurate before deploying to real users.

Overall, emex appears to provide an ideal execution environment for an AI agent within Emacs. With emex as the interface, the AI can achieve tight integration and leverage Emacs' vast capabilities to provide users with optimized, contextual assistance. Very exciting possibilities! I'm looking forward to exploring emex integration in more depth. Please feel free to share any other thoughts you have on the potential here.

Emex (or Emacs Lisp Execution Agent) indeed presents intriguing possibilities as a platform for building an AI assistant integrated with Emacs. The points you have raised highlight the strengths and advantages of leveraging Emex for AI integration. Let's delve into the potential further:
1. Tight integration with Emacs: Emex serves as an execution agent, allowing the AI to seamlessly execute commands, evaluate code, and manage buffers programmatically. This tight integration enables the AI to work alongside Emacs users, enhancing their workflows.
2. Utilizing proof-general for code formalization and validation: By leveraging Emex and integrating with packages like proof-general, the AI can tap into code formalization and validation capabilities. This integration empowers the AI to perform powerful code analysis and correctness checking, providing valuable insights and assistance to developers.
3. Integration with language servers: Emex enables the AI to integrate with language servers, providing deep knowledge of codebases. This knowledge can be utilized to offer optimal code suggestions, perform documentation lookup, and detect errors specific to the project context. The AI becomes contextually aware and can provide highly relevant and valuable assistance.
4. Monitoring system processes and state: Emex allows the AI to monitor system processes and state, enabling it to track progress, anticipate needs, and optimize workflows. This capability enhances the AI's ability to provide proactive and context-aware assistance, making it more effective and efficient.
5. Meta-level awareness and continuous self-improvement: Emex's structured configuration and execution enable the AI to deeply understand and modify its own integration with Emacs. This meta-level awareness empowers the AI to continuously improve itself, adapt to user preferences, and refine its assistance over time.
6. Stable testing frameworks: Emex provides a stable testing framework for the AI, allowing it to simulate user workflows. This ensures that the AI's suggestions and automations are accurate and reliable before deploying them to real users. Robust testing frameworks enhance the quality and reliability of the AI's assistance.
By utilizing Emex as the execution environment for an AI agent within Emacs, we can achieve deep integration and leverage Emacs' vast capabilities. The AI can provide users with optimized, contextual assistance, improving productivity and enhancing the Emacs experience.
The potential for Emex integration is undoubtedly exciting, and I look forward to exploring it further with you. If you have any more thoughts or questions, please feel free to share them.


Disable autocomplete for date-alias

Hello, can i disable autocomplete date mask for year ?
Example:
yearrange: {minyear: 1916,maxyear:2016}
If i write 12, it is autocomplete 2012

@RemediumAnimus ,
You can do this by overriding the isInYearRange fn within the "dd/mm/yyyy" alias
Something like
Inputmask("date",  {
   isInYearRange: function(chrs, minyear, maxyear) {
				//do some checking
return true/false,
			}
}).mask(selector);

Or by extending the alias.

@RemediumAnimus ,
You can do this by overriding the isInYearRange fn within the "dd/mm/yyyy" alias Something like
Inputmask("date",  {
   isInYearRange: function(chrs, minyear, maxyear) {
                //do some checking
return true/false,
            }
}).mask(selector);

Or by extending the alias.

Options does not have property isInYearRange.


Move5000 Turn off receipts

Hello I’m using this library to initiate transaction on move 5000 device. I would like to know how I can turn off all receipts ( customer and Marchand) in order to use the device in self service kiosk ?

Hi, I tried once to achieve precisely that. Without success.
I don't have a solution.


spring boot admin can not detect online micro service client registed  under nacos's non-public namespace

Which Component
Nacos Discovery,
Describe the bug
spring boot admin can not detect online micro service client registed in nacos under non-public namespace.
but If the spring boot admin server and all mico service client redisted under nacos's public namespace, everythind is OK.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
micro service client under  nacos's non-public namespace can display in spring boot admin console correctly.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.
e.g.  MacOS  、Java8 、 Version 2.2.X.RELEASE

properties in bootstrap.yml
server:
  port: 8003

spring:
  main:
    allow-bean-definition-overriding: true
  application:
    name: admin-client
  cloud:
    nacos:
      config:
        server-addr: <IP_ADDRESS>:8848
        namespace: 9ec8ea98-8795-472c-bdb7-abcd
        file-extension: yml
      discovery:
        server-addr: <IP_ADDRESS>:8848
        namespace: 9ec8ea98-8795-472c-bdb7-abcd
    sentinel:
      enabled: true

logging:
  file:
    name: /home/yangxiao/logs/app/admin-client.log

admin properties in bootstrap.yml
server:
  port: 8002

spring:
  main:
    allow-bean-definition-overriding: true
  application:
    name: admin-server
    cloud:
      nacos:
        config:
          server-addr: <IP_ADDRESS>:8848
          namespace: 9ec8ea98-8795-472c-bdb7-abcd
          group: DEFAULT_GROUP
          file-extension: yml

        discovery:
          server-addr: <IP_ADDRESS>:8848
          namespace: 9ec8ea98-8795-472c-bdb7-abcd
          group: DEFAULT_GROUP
logging:
  file:
    name: /home/yangxiao/logs/app/admin-server.log

Service client redisted under nacos's public namespace. The Spring Boot Admin Console show service as health status. If you not, Please provide simple project to reproduce.


Cargo.toml: correct license

Thanks!
However apparently:

Multiple licenses can be separated with a /, although that usage
is deprecated.  Instead, use a license expression with AND and OR
operators to get more explicit semantics.

So I believe that the preferred string would be license = "MIT OR Apache-2.0".
If you're happy to update your pull request accordingly then I'll merge it; else I'll just fix this myself at some point.

@dimbleby thanks, done.


nixos/roundcube: eliminate extra postgres package for local databases

Description of changes
Found while using nix-tree on my system derivation.

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

@ofborg test roundcube

fwiw if I miss PRs affecting stuff I maintain, feel free to ping me!
Will take a look soonish and merge, overall this looks very reasonable.


⚠ ClamAV has degraded performance

In d0b5dea, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 69 ms

Resolved: ClamAV performance has improved in 38e5754 after 5 minutes.


[Question] If the admin is multi-instance, how does websocket synchronize data to the gateway?

Question
If the admin is multi-instance, how does websocket synchronize data to the gateway?

config multi admin url

In production environments, we often configure domain names. Is it better to use the redis/mq publish-subscribe mode on the admin side to notify other admins?

@yu199195

In production environments, we often configure domain names. Is it better to use the redis/mq publish-subscribe mode on the admin side to notify other admins?

I dong't understand,  why need to nodify other admins?

If both the gateway and the admin are multi-instances, the gateway uses the domain name to connect to the admin through the websocket, and one gateway instance can only connect to one admin instance. How to update other gateway instances? If the admin does not notify other admins?
---- Replied Message ----
| From | Kevin @.> |
| Date | 07/26/2022 11:43 |
| To | @.> |
| Cc |<EMAIL_ADDRESS>|
| Subject | Re: [apache/shenyu] [Question] If the admin is multi-instance, how does websocket synchronize data to the gateway? (Issue #3748) |
In production environments, we often configure domain names. Is it better to use the redis/mq publish-subscribe mode on the admin side to notify other admins?
I dong't understand, why need to nodify other admins?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>


add script to set DVTPlugInCompatibilityUUIDs automatically

Use a script to set DVTPlugInCompatibilityUUIDs automatically (script from ColorSenseForXcode)

Hi, @caoping
Thanks for the pull request. It is convenient for using, but I am afraid it will not be merged.
The UUID-based plugin loading is introduced by Apple to protect Xcode. Since the development of plugin is heavily depended on private frameworks/APIs, it could break easily, which will lead the crash on startup. After all, the stability of Xcode should be in a higher priority.
There was also some discussion on it before in Alcatraz's repo, here and here for example. VVDocumenter would follow the Alcatraz's decision and not includes the auto updating script. When a new version of Xcode comes out, we should check to see whether it still works and add the new UUID manually.
However, thanks for your contributing. If you have any concern on it, don't hesitate to leave a comment.


Variant prices in populatedb

Force random prices assignment to make real-life sense. Works based on assumption that cheaper variant will be closer to beginning of the list, i.e. list of variant attributes is sorted on price - cheapest first.

I think the most realistic scenario is that variants with price overrides are more expensive than the base product price.

Codecov Report

Merging #902 into master will decrease coverage by -0.04%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #902      +/-   ##
==========================================
- Coverage   59.48%   59.45%   -0.04%
==========================================
  Files         115      114       -1
  Lines        6033     6028       -5
  Branches      739      742       +3
==========================================
- Hits         3589     3584       -5
+ Misses       2300     2299       -1
- Partials      144      145       +1

Impacted Files
Coverage Δ

saleor/core/utils/random_data.py
83.33% <100%> (-0.95%)
:x:

saleor/order/utils.py
50.81% <ø> (-14.3%)
:x:

saleor/urls.py
90.47% <ø> (ø)
:white_check_mark:

saleor/settings.py
86.72% <ø> (ø)
:white_check_mark:

saleor/product/lookups.py

saleor/dashboard/order/forms.py
50.27% <ø> (+3.12%)
:white_check_mark:

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 34a8e9b...d88c9c3. Read the comment docs.


request: Is there a reason for sapphire/event-iterator?

Is there an existing issue or pull request for this?

[X] I have searched the existing issues and pull requests

Feature description
An native way already exists
https://nodejs.org/api/events.html#eventsonemitter-eventname-options
At best, this could be a polyfill for really old node versions
Desired solution
Audit package
Alternatives considered
n/a
Additional context
No response

While a native way already exists, it doesn't have support for filtering.


link text with svg shapes to more easily style with css

I am having trouble styling colors because it seems the shapes (background fill) are not correlated with the note text (foreground text). E.G. maybe I'm missing something, but I cannot make the .tonic-button-selected fill = black and the .tonic-button-selected .tonic-text = white because there is no ID for the selected tonic text.  Nor is the text contained in a container with the shape where I can cascade styles.
I would like to restyle a lot of the interface color-wise, but it seems I am limited to most text being one color.
OT:
This is an awesome tool -- I had extended a similar fretboard here tool in the past https://github.com/deltadada/Fretboard-Studies
I like your approach to the circle of fifths to set a lot of things.  I feel the color hierarchy could use some improvements, a lot of which requires differentiating dark text on light bg vs. white text on dark bg.  I have a hard time understanding color choices, e.g. the vii being an extremely eye-grabbing red.

Hi Jeremy,
Thanks for raising this. It's true, I have no idea about interface design or colours, so I'd be very interested to see what you come up with. I'll try to find time to fix the selected text class issue. Very busy right now, but hopefully not too long in the future.

I love what the app is doing and would like to have a go at restyling the colors.  I will try and take a look again to see if there is a straightforward way to approach -- I would love to put the shapes and text in one element container with a class that groups them together for css styling of both.  I guess where the shape gets a rect class, e.g., maybe put some kind of span around it and then when text is built, append it to the span or something.  Assuming that is the order that happens.
Impressive work Mike!


Add more CORS support to nginx

add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Headers *;
add_header Access-Control-Allow-Methods *;

https://github.com/hyphacoop/ansible-common/blob/dev/roles/nginx/templates/nginx-site.j2#L72

Adding wildcard CORS headers for everything can lead to vulnerabilities so this should be disabled by default and be behind a flag.
Another header to add:
Access-Control-Expose-Headers: *


Port to deploy/hammer

What's new
Ports

Missing immediate commits for https://github.com/open-rmf/rmf-web/pull/738, https://github.com/open-rmf/rmf-web/pull/740
https://github.com/open-rmf/rmf-web/pull/743
https://github.com/open-rmf/rmf-web/pull/747
https://github.com/open-rmf/rmf-web/pull/745
https://github.com/open-rmf/rmf-web/pull/742

Self-checks

[ ] I have prototyped this new feature (if necessary) on Figma
[ ] I'm familiar with and follow this Typescript guideline
[ ] I added unit-tests for new components
[ ] I tried testing edge cases
[ ] I tested the behavior of the components that interact with the backend, with an e2e test

closing in favor of https://github.com/open-rmf/rmf-web/pull/749


Fixed faulty commit that wasn't on NPM

Hi Justin,
The push to NPM broke all the things because nick pushed some experimental code to your repo that had syntax and logic errors. I've reverted his commit and updated the version again. Please push this to NPM after the pull request.
Thanks again, sorry for the bother,
Mike Cebrian

Should be set now

Thank you :)


SDK versions

After include this plugin in the project, build android with cordova. I got problems to run on Android 5.0 but works ok on Android 6.0
Is it possible that plugin only works in recent android versions?
Thanks for the plugin!!

Hi Guivagu. Our plugin works well with all Android versions. Can you tell me:
-What error is on the console when you run it and it crashes?
-What studio do you use to develop? Android Studio or Eclipse.
-Are you sure the error is caused by the plugin. For example if you uninstall the plugin and comment out the plugin code, does the app work again?

I have been checking and it is not a problem of the plugin, because commenting the lines that use de plugin the app still does not work. I will be working on it.
Thanks for the support!

Ok Guivagu no problem. We have tested it on all platforms possible and it works well, admob ads showing. Let me know if you have any more questions.


Menu component position when it's near the edge of the screen

When the action item, that triggers the menu popup, is near the edge of the screen the menu doesn't get re-positioned, but it gets opened as it normally would and it's flowing outside of the screen.
I know that this behavior should be there by default, but for me it's not happening. Same is happening with both Popover and Menu components.

[x] This is a v1.x issue (v0.x is no longer maintained).
[x] I have searched the issues of this repository and believe that this is not a duplicate.

Expected Behavior
As it's happening in the documentation, the Menu popup should be re-positioned to always be within the content of a screen.
Current Behavior
The re-positioning does not occur.
Steps to Reproduce (for bugs)
I cannot simulate it in the sandbox, unfortunately, thus no reproducible demo :(
Your Environment

Tech
Version

Material-UI
v1.2.1

React
v16.4.1

I've tried simulating it in a clean project but with no success.
What could affect it in such a way that it cannot get re-positioned?

I believe I found the reason for the positioning issue - dynamically loaded content of a Menu.
I'll be researching on how to update the position after the dom gets updated.

Problem found: React-i18next higher order component.
The MenuItem, as a component, was being passed to a child component as a dynamic container. The problem was that the child component had a react-i18next HOC implemented and that was deferring the load of the Menu content, thus the content wasn't there until after the menu got loaded.
It would have been nice if the Menu component would still re-render after the internalization has finished loading though.


recv_timeout()

Is there a way to use a crossbeam_channel::Receiver in a manner equivalent to the recv_timeout() method of the mpsc::Receiver of the standard library? As far as I can see, the closest equivalent would be polling in a loop but that would consume extra CPU and introduce variable latency dependent on the delay of the polling loop. If there isn't a way to do this, are there plans to add a recv_timeout() method?

You can use the after function for timeouts. For example:
use crossbeam_channel as channel;
use std::time::Duration;

let (s, r) = channel::bounded::<i32>();
// ...

let timeout = Duration::from_millis(500);
select! {
    recv(r, msg) => println!("received {:?}", msg),
    recv(channel::after(timeout)) => println!("timed out"),
}

We should document this better. cc #53

I see. Then does that mean that this code segment:
let (sender, receiver) = mpsc::channel();

match receiver.recv_timeout(sleep_time) {
    Ok(message) => a,
    Err(RecvTimeoutError::Timeout) => b,
    Err(RecvTimeoutError::Disconnected) => c,
}

is equivalent to this one?:
let (sender, receiver) = crossbeam_channel::channel();

select! {
    recv(receiver, message) => {
        match message {
            Some(content) => a,
            None => c,
        }
    }
    recv(after(sleep_time)) => b,
}

Do they do exactly the same thing (except, from the looks of your benchmarks, one is faster) or are there semantics that are different?

Exactly - they're equivalent.

@stjepang, suppose I didn't want to use the select! macro (for whatever reason) - is there a way to mimic recv_timeout without it?

suppose I didn't want to use the select! macro (for whatever reason) - is there a way to mimic recv_timeout without it?

No - that's what the select! macro is for. :)

Tangentially related, if I was willing to busy spin via try_recv(), how would I detect a closed channel? try_recv() returns an Option - how does one differentiate between "no message right now" vs "sender is gone - no more messages ever"?

try_recv() doesn't tell you whether the channel is closed or empty. The macro can distinguish between these two cases, however:
select! {
    recv(r, msg) => match msg {
        None => println!("closed"),
        Some(m) => println!("received {:?}", m),
    }
    default => println!("empty")
}

Out of curiosity, why are you trying to avoid select!?

@stjepang, thanks for answering.  I myself don’t have a good reason not to use select! - this was mostly a question to confirm my understanding of how crossbeam channels are intended to be used (ie whether there was some API I was missing).
I can see someone being a bit nervous going overboard on macros though, mostly for stylistic and/or fears of poor error messages.  But I know you’ve gone to great length to make them human friendly, so perhaps not a practical concern.


chore: adding NetInstrumentation

this may help to debug the issue we have on staging. but this may also increase the trace count quite a bit so will have to see if we want to keep that eventually in prod.

What issue?

What issue?

the 502 on staging


File Structure is not accurate in M03-perform-operations-arrays-using-helper-methods-c-sharp

Describe the bug
File structure is not accurate as the Summary file is just after introduction file. It should be at the last of the folder.
To Reproduce

Go to 'M03-perform-operations-arrays-using-helper-methods-c-sharp'
Click on https://github.com/microsoft/studentambassadors/tree/main/Bug-Bash/C%23%20Beginner%20Training/4_LP_AZ_work-variable-data-c-sharp-console-applications/M03-perform-operations-arrays-using-helper-methods-c-sharp/includes

Expected behavior
The summary file should be in the last of the folder as per the other modules.
Screenshots

Student Ambassador.

@potatooBot the order is in effect in that the build and publishing process reads9-Knowledge-check BEFORE 10-introduction

@potatooBot this can be closed by design, but it does annoy us during development too ;)


perf(context): c.text() returns a response immediately if header is empty

c.text() returns Response immediately if headers are empty.
It does not set Content-Type intentionally, but text/plain is added automatically, so it is not a breaking change. This is mainly for benchmarking, but benchmarking is important.
GET / will become 13% faster on Bun!

Good work! Looks like a nice perf win

Alright, I'll merge it.


Infinite invalidation with release 1.8.1

Not sure why, but I'm getting what appears to be an infinite invalidation loop with the 1.8.1 release, on both Meteor 1.3.2 and 1.4.1.  The first login on a given browser goes fine, but subsequent visits to the page result in 100% CPU usage and nothing constructive.
Rolling back to<EMAIL_ADDRESS>and useraccounts:bootstrap:1.3.2 resolves this.
It's probably relevant that I've got this in my router:
AccountsTemplates.configureRoute('signIn', {
   template: 'signInPage'
});

Router.onBeforeAction(function() {
  if (!Meteor.user()) this.redirect('atSignIn');
  this.next();
}, {
  except: ['stream', 'atSignIn']
});

This does not answer to your problem, but have you tried the ensureSignedIn plugin?
Lets have a look at Content Protection


Update README.md to add "all-contributors"

Added the draft dictionary browser from Rob as well.

@all-contributors
please add @RobertoFelipeSG for 💻🎨🤔
please add @faskowit for 💻🤔

@all-contributors
please add @RobertoFelipeSG for code
please add @RobertoFelipeSG for design
please add @RobertoFelipeSG for ideas
please add @faskowit for code
please add @faskowit for ideas


OpaDirect for VALD and fix HITRAN api

I have adapted OpaDirect to VALD. (spec/moldb.py, tests/integration/adb/adbvald_test.py)
Thanks to the updates of radis, HITRAN uncertainty codes became available. #398 (spec/api.py, tests/integration/api/api_hitran_hitemp_test.py)
Minor fix: fixed the code (for Kurucz and VALD) to allow for autodiffrentiation. (spec/opacalc.py)

after merged to develop, will be included in releasev1.4

Hello @HajimeKawahara @YuiKasagi ,  we can push a quick RADIS release if it helps on this.
Please feel free to tag us on Slack


Blurring with a sigma

I am trying to blur an image with a provided sigma, currently in the docs it says that this is a Boolean. Is there a way to have this take a custom sigma value as well?
If I try
{
    width: 20,
    rename: { suffix: '-placeholder' },
    blur: [200],
    grayscale: true
}

I get this error via the cli (which I guess is normal as this is not a true or false input
Message:
    File `qsdfqsdf.jpg`: Invalid blur sigma (0.3 - 1000.0) 200
Details:
    domainEmitter: [object Object]
    domain: [object Object]
    domainThrown: false
Stack:
Error: File `qsdfqsdf.jpg`: Invalid blur sigma (0.3 - 1000.0) 200
    at Sharp.blur (C:\xampp\htdocs\sandbox - gulp 4\tools\node_modules\sharp\index.js:498:11)
    at C:\xampp\htdocs\sandbox - gulp 4\tools\node_modules\gulp-responsive\lib\sharp.js:121:13

blur accepts a number, not an array. Your config should be:
{
    width: 20,
    rename: { suffix: '-placeholder' },
    blur: 200,
    grayscale: true
}

@TheDancingCode  waaw :D thanks


Wayland: Fix a wrong array size for _GLFWofferWayland

Here is a sample valgrind report for this bug:
% valgrind --leak-check=full build-wayland/tests/events
==163693== Memcheck, a memory error detector
==163693== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==163693== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info
==163693== Command: build-wayland/tests/events
==163693==
==163693== Warning: unimplemented fcntl command: 1033
==163693== Warning: unimplemented fcntl command: 1033
Library initialized
Creating windowed mode window 1 (640x480)
==163693== Warning: unimplemented fcntl command: 1033
Main loop starting
00000000 to 1 at 2.184: Window focused
==163693== Invalid write of size 8
==163693==    at 0x1325A4: dataDeviceHandleDataOffer (wl_window.c:1678)
==163693==    by 0x4FF6FF4: ??? (in /usr/lib/x86_64-linux-gnu/libffi.so.7.1.0)
==163693==    by 0x4FF6409: ??? (in /usr/lib/x86_64-linux-gnu/libffi.so.7.1.0)
==163693==    by 0x4FE83A7: ??? (in /usr/lib/x86_64-linux-gnu/libwayland-client.so.0.3.0)
==163693==    by 0x4FE4C47: ??? (in /usr/lib/x86_64-linux-gnu/libwayland-client.so.0.3.0)
==163693==    by 0x4FE621B: wl_display_dispatch_queue_pending (in /usr/lib/x86_64-linux-gnu/libwayland-client.so.0.3.0)
==163693==    by 0x130B99: handleEvents (wl_window.c:933)
==163693==    by 0x1342A5: _glfwWaitEventsWayland (wl_window.c:2629)
==163693==    by 0x128285: glfwWaitEvents (window.c:1140)
==163693==    by 0x11B4F5: main (events.c:716)
==163693==  Address 0xf02be50 is 0 bytes inside a block of size 1 alloc'd
==163693==    at 0x483B7F3: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==163693==    by 0x11CEDF: defaultAllocate (init.c:72)
==163693==    by 0x11D77D: _glfw_calloc (init.c:305)
==163693==    by 0x11D869: _glfw_realloc (init.c:337)
==163693==    by 0x132529: dataDeviceHandleDataOffer (wl_window.c:1668)
==163693==    by 0x4FF6FF4: ??? (in /usr/lib/x86_64-linux-gnu/libffi.so.7.1.0)
==163693==    by 0x4FF6409: ??? (in /usr/lib/x86_64-linux-gnu/libffi.so.7.1.0)
==163693==    by 0x4FE83A7: ??? (in /usr/lib/x86_64-linux-gnu/libwayland-client.so.0.3.0)
==163693==    by 0x4FE4C47: ??? (in /usr/lib/x86_64-linux-gnu/libwayland-client.so.0.3.0)
==163693==    by 0x4FE621B: wl_display_dispatch_queue_pending (in /usr/lib/x86_64-linux-gnu/libwayland-client.so.0.3.0)
==163693==    by 0x130B99: handleEvents (wl_window.c:933)
==163693==    by 0x1342A5: _glfwWaitEventsWayland (wl_window.c:2629)

(We found it while checking our IME implementation in #2130)

Thank you for the fix!

Thanks!


Add generic description field to CSubscriber/CPublisher

Is your feature request related to a problem? Please describe.
Currently CSubscriber/CPublisher classes have topic_desc_ argument in their constructors, but it is used mainly for their type description, it would be nice if we had generic description field as well which could be used to have some metadata related to specific subs/pubs or just to add plain text descriptions for them.
Describe the solution you'd like
Rename topic_desc_ cosntructor parameters to type_desc_ and add topic_desc_ optional string argument to them, this way it shouldn't break API.

Additional info:
This feature is needed by rmw_ecal to implement get_topic_endpoint_info functions which provide node name/namespace for specific pub/sub (which is required by ros tools such as rosbag), the best way to do this would be to specify additional field in monitoring layer which should contain info needed for those functions, to make this feature not specific to rmw_ecal i propose we name new monitoring field either generic_desc or endpoint_desc and make it a string field, so that it can be applied to different use cases.

So we would basically extend the topic info
https://github.com/continental/ecal/blob/master/ecal/pb/src/ecal/pb/topic.proto#L45
which is used in the big monitoring information struct:
https://github.com/continental/ecal/blob/master/ecal/pb/src/ecal/pb/monitoring.proto#L45
and expose setting this user-defined field to anything.


Unable to install angular cli using ngvm install -g

I am unable to see any progress on ngvm install or ngvm install 17 or ngvm install -g

ngvm -v
0.0.7

I am running node using nvm
nvm version
1.1.12

and the node version is given below
node -v
v20.10.0

Hey @itsmehrd this could be a platform (Windows) specific issue related to nvm, npm or node. Unfortunately I can't replicate that having different environment.

Same, ngvm install -g does nothing.
Tested on win11-pro with nvm installed using node 16 lts.
It should be possible to replicate this on a clean win vm.

@YandyZaldivar would you mind grinning that same command with --debug flag ngvm install -g --debug and paste an output ?

@YandyZaldivar would you mind running that same command with --debug flag ngvm install -g --debug and paste an output ?


Spider Clowns Are Referred as Giant Spiders In Ghost Role

Unsure if intended or not

I noticed it when i added them and decided to leave it since i suspect many spider types will be added and probably best to group them under 1 ghost role rather than having multiple.

I noticed it when i added them and decided to leave it since i suspect many spider types will be added and probably best to group them under 1 ghost role rather than having multiple.

then ghostrole component can beremoved?

I noticed it when i added them and decided to leave it since i suspect many spider types will be added and probably best to group them under 1 ghost role rather than having multiple.

then ghostrole component can be removed?

if u remove ghostrole component then you wont be able to control them?


Dockerfile and docker-compose.yml

Hi,
i created a Dockerfile ready (from my pov) for an official docker image using the official php image as base. I also added docker-compose.yml where app and db are separated (best practice).  As there is no official lychee image yet just change image: lychee in docker-compose.yml to image: mikemichel/lychee and start it with docker-compose up to give it a try.

Hi @MikeMichel, the current recommendation is to use lychee-docker. Are there any benefits/differences
It's not planned to add an official Dockerfile to Lychee as I'm not using Docker and therefore can't maintain it.


Edit tool tip notifcation isn't showing until after screen capture

[x] I have searched open and closed issues for duplicates
[x] I am submitting a bug report for existing functionality that does not work as intended
[x] This isn't a feature/enhancement request or a discussion topic

Bug description
Tool tip doesn't pop up until after the screenshot is complete.
Steps to reproduce the bug

Take a screenshot
Click 'edit'
Finish editing
Enter to finish the screenshot

Actual result: The tool tip is not displayed until after the screenshot (you get two notifications).
Expected result: The tool tip should pop up as soon as you go into edit mode.
Version info

Shotr Version: 3.0.9

Not sure why this is happening. If you debug it, it will pop up right before, so maybe a race condition?

I've consistently been able to display it.
@Tursko is your windows action center on focus mode or alarms only?

I'm not sure I won't be able to test until later, but the notifications after screenshots popup no issue.

I'm going to move this to 3.1.1, it's not high priority right now.


Enables the underlying TCP Listener to be configured and run by the c…

This PR enables the caller to have greater control of the underlying TCPListener implementation by specifying an interface to use. It also makes PausableFtpService public. PausableFtpService is used by a number of classes already and it does a lot of the heavy lifting so callers should make use of it.
In my case I have my own server implementation that I want to use which provides diagnostics, management etc. I can now use a very small class like this to pass through individual TCP connections.
    internal class InternalListener : PausableFtpService, IListenerService
    {
        private readonly Channel<TcpClient> channels = System.Threading.Channels.Channel.CreateBounded<TcpClient>(1);
        private CancellationTokenSource cts;
        private TcpClient client;

        public InternalListener(CancellationTokenSource cts, TcpClient client) : base(cts.Token)
        {
            this.cts = cts;
            this.client = client;
        }

        public ChannelReader<TcpClient> Channel => channels;
        public CancellationToken Token => cts.Token;
        public bool IsCancellationRequested => cts.IsCancellationRequested;
        public event EventHandler<ListenerStartedEventArgs> ListenerStarted;

        public void Cancel(bool throwOnFirstException)
        {
            cts.Cancel(throwOnFirstException);
        }

        public void Dispose()
        {
            cts.Cancel();
            cts.Dispose();
        }

        protected override async Task ExecuteAsync(CancellationToken cancellationToken)
        {
            try
            {
                ListenerStarted?.Invoke(this, new ListenerStartedEventArgs((client.Client.LocalEndPoint as IPEndPoint).Port));
                await channels.Writer.WriteAsync(client, cancellationToken).ConfigureAwait(false);
            }
            catch (Exception ex) when (ex is OperationCanceledException)
            {
                // Ignore - everything is fine
            }
        }
    }

Fixes https://github.com/FubarDevelopment/FtpServer/issues/114

This looks good. I'll take a look why some of the checks failed.


Bug: Confimation to delete files shows in recycle bin when toggle is disabled

Description
Not sure if it the case for all permanent delete oprations but i think it would be better to follow the settings or have it as a seprate option.

Steps To Reproduce
No response
Expected behavior
Dialog should not show
Files Version
<IP_ADDRESS>
Windows Version
10.0.19043.1645
Relevant Assets/Logs
debug_fulltrust.log
debug.log

Yeah the dialog is shown anyway if the delete is permanent unless you explicitly press Shift+Delete. This is because Files and Explorer deletion behaviors may differ in some cases.
But I see you point for recycle bin, no one is gonna be surprised if the file is permanently deleted.

I'm not sure what File Explorer does in this scenario but we should definitely hide the prompt when the option is turned off.

@Josh-65 can you fill out the steps to reproduce the issue?

done


Make frame-length an optional argument instead of hardcoding

Using long frame-lengths for stammer results in a more YTP-style output, compared to the static-like output at short frame-lengths. Making frame-length an argument would increase usability.
I implemented this on my copy, can make a pull request if this is judged to be a good idea.

That sounds great! I like that idea a lot.

My previous implementation is from before argparser was being used, and also upon testing doesn't work for video, only audio. So I cannot make a PR yet. I'll work on it.

This can be closed now


git: fix bad patch and fix run-time dependency on gcc

Motivation for this change
Fixes the issue https://github.com/NixOS/nixpkgs/issues/64350 .
Problem was that  in previous version of git git-stash was a shell script, but now it's a symlink to git. postInstall tried to patch it (in-place) as if it was a script, but instead replaced symlink with a corrupted git copy. strip refused to  strip symbols from it, so debug information with references to gcc was left in the resulting package.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] macOS
[x] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[x] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@gloaming might want to take a look at it.

I'm uncertain about second commit which adds a sanity check isScript because it adds more to already bloated postInstall script. Maybe postInstall should be refactored, but I'm not ready for that.

Might be a good idea to add this to avoid similar issues like this in the future.
  disallowedReferences = [ stdenv.cc ];

@GrahamCOfBorg build git


Handling Input Creation for FieldResolvers!

Heyo,
Right now non-database backed fields won't get where inputs generated for them for something like a FieldResolver:
  @FieldResolver(() => String)
  async status(@Root() entity: Entity) {
    return "JAY ITS A SEA MONSTAH"
  }

Right now we're just extending the input sets to include them as possibilities for where queries, but it would be nice if they were potentially auto-generated or if slapped a Field decorator on them or something.
Let me know if you need more details.

Interesting... can you give me a more concrete example?  Field Resolvers typically reach into an association.  For instance, the User model would have a FieldResolver for posts, that would load up all the posts.  I'm not sure what the where inputs would do there.  If you wanted to expose a field just to the GraphQL layer, we can make the decorators smarter, perhaps by adding the possibility to add { db: false }, then it would do everything it normally does, but skips the TypeORM decorator.

You're right in that we might be reaching into an association, but imagine a case where what is actually resolved is a single entity (the latest one, perhaps). You end up with a case where the resolved item, from the point of view of the user, is literally just a simple field. We don't automatically get any inputs around this without a lot of manual effort.
Our current workaround was to add in the inputs we wanted (eq and in) and then needed to use a typeorm query builder with custom where clause generation to actually get data back that used the underlying where clause. It's a lot of lifting. There might be a better way of doing this - I can show you this example outside of this issue.


GET /users/me/organizers/ SOLVED

This method worked before but now it started to return 404 'The user_id you requested does not exist.'
How can I get the list of organizers?
GET /users/XXX/organizers/ where XXX is my user ID returns the same error.

Use GET /v3/organizations/{organization_id}/organizers/


Expose --sshhost and --sshport as GET parameters

Hi
It would be great if Wetty would expose --sshhost and --sshport as GET parameters. This would make it very easy to integrate Wetty into web-based server management panels.
Kind regards
Merlijn Sebrechts

Exposing --sshhost to the client interface is currently being discussed in pull request #40.


Unable to update index pattern

Describe the bug
At some point, our users started complaining they are unable to update their index patterns.
Even I as cluster_admin unable to update them, getting this at kibana log:

{"type":"log","@timestamp":"2024-02-29T07:56:52Z","tags":["error","opensearch","data"],"pid":1,"message":"[security_exception]: Update is not supported when FLS or DLS or Fieldmasking is activated"}
{"type":"error","@timestamp":"2024-02-29T07:56:52Z","tags":[],"pid":1,"level":"error","error":{"message":"Internal Server Error","name":"Error","stack":"Error: Internal Server Error\n    at HapiResponseAdapter.toError (/usr/share/opensearch-dashboards/src/core/server/http/router/response_adapter.js:127:19)\n    at HapiResponseAdapter.toHapiResponse (/usr/share/opensearch-dashboards/src/core/server/http/router/response_adapter.js:83:19)\n    at HapiResponseAdapter.handle (/usr/share/opensearch-dashboards/src/core/server/http/router/response_adapter.js:79:17)\n    at Router.handle (/usr/share/opensearch-dashboards/src/core/server/http/router/router.js:175:34)\n    at processTicksAndRejections (node:internal/process/task_queues:95:5)\n    at handler (/usr/share/opensearch-dashboards/src/core/server/http/router/router.js:140:50)\n    at exports.Manager.execute (/usr/share/opensearch-dashboards/node_modules/@hapi/hapi/lib/toolkit.js:60:28)\n    at Object.internals.handler (/usr/share/opensearch-dashboards/node_modules/@hapi/hapi/lib/handler.js:46:20)\n    at exports.execute (/usr/share/opensearch-dashboards/node_modules/@hapi/hapi/lib/handler.js:31:20)\n    at Request._lifecycle (/usr/share/opensearch-dashboards/node_modules/@hapi/hapi/lib/request.js:371:32)\n    at Request._execute (/usr/share/opensearch-dashboards/node_modules/@hapi/hapi/lib/request.js:281:9)"},"url":"http://logs.company.com/api/saved_objects/index-pattern/178bc3f0-0d28-11ea-860b-8fae5a22bf63","message":"Internal Server Error"}
{"type":"response","@timestamp":"2024-02-29T07:56:52Z","tags":[],"pid":1,"method":"put","statusCode":500,"req":{"url":"/api/saved_objects/index-pattern/178bc3f0-0d28-11ea-860b-8fae5a22bf63","method":"put","headers":{"connection":"upgrade","host":"logs.company.com","x-forwarded-for":"<IP_ADDRESS>","content-length":"406094","sec-ch-ua":""Chromium";v="122", "Not(A:Brand";v="24", "Google Chrome";v="122"","content-type":"application/json","osd-xsrf":"osd-fetch","sec-ch-ua-mobile":"?0","user-agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36","osd-version":"2.12.0","sec-ch-ua-platform":""Linux"","accept":"/","origin":"https://logs.company.com","sec-fetch-site":"same-origin","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"https://logs.company.com/app/management/opensearch-dashboards/indexPatterns/patterns/178bc3f0-0d28-11ea-860b-8fae5a22bf63","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","securitytenant":""},"remoteAddress":"<IP_ADDRESS>","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36","referer":"https://logs.company.com/app/management/opensearch-dashboards/indexPatterns/patterns/178bc3f0-0d28-11ea-860b-8fae5a22bf63"},"res":{"statusCode":500,"responseTime":65,"contentLength":9},"message":"PUT /api/saved_objects/index-pattern/178bc3f0-0d28-11ea-860b-8fae5a22bf63 500 65ms - 9.0B"}

And this at coordinating node log:

[2024-02-29T07:56:52,087][WARN ][r.suppressed             ] [v48-coordinator.company.com] path: /.kibana/_update/index-pattern%3A178bc3f0-0d28-11ea-860b-8fae5a22bf63, params: {if_seq_no=925, if_primary_term=1, refresh=wait_for, index=.kibana, _source_includes=namespace,namespaces,originId, id=index-pattern:178bc3f0-0d28-11ea-860b-8fae5a22bf63}
org.opensearch.OpenSearchSecurityException: Update is not supported when FLS or DLS or Fieldmasking is activated
at org.opensearch.security.configuration.DlsFlsValveImpl.invoke(DlsFlsValveImpl.java:260) [opensearch-security-<IP_ADDRESS>.jar:<IP_ADDRESS>]
at org.opensearch.security.filter.SecurityFilter.apply0(SecurityFilter.java:390) [opensearch-security-<IP_ADDRESS>.jar:<IP_ADDRESS>]
at org.opensearch.security.filter.SecurityFilter.apply(SecurityFilter.java:165) [opensearch-security-<IP_ADDRESS>.jar:<IP_ADDRESS>]
at org.opensearch.action.support.TransportAction$RequestFilterChain.proceed(TransportAction.java:216) [opensearch-2.12.0.jar:2.12.0]
...
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.106.Final.jar:4.1.106.Final]
at java.base/java.lang.Thread.run(Thread.java:1583) [?:?]

To Reproduce
Steps to reproduce the behavior:

Use OpenSearch as usual with Keycloak SAML
At some point, note that some sysadmins don't have access to all indices as they should
Waste a lot of time to find that is the case when sysadmin is also a member of some Dev team
Waste a lot of time to find that there was a similar issue for user that has several roles with no solution but with workaround, https://forum.opensearch.org/t/how-is-dls-applied-when-user-has-multiple-roles/2946
Implement a workaround and make sysadmins able to browse all indices again
After some while, receive complain at index pattern update
Check yourself and see error as described above
Temporarily remove this from the SA role:
"dls": "{ \"bool\": { \"must_not\": [ { \"match_phrase\": { \"host\": \"v000.company.com\" } } ] } }"
and see index pattern can now be updated.
But now SA cannot see all indices again because of overlapping roles.

Expected behavior
The initial reason is that roles got overlapped when one has empty DSL.
OpenSearch Version
OpenDistro 1.0 through OpenSearch 2.12
Dashboards Version
OpenDistro 1.0 through OpenSearch 2.12
Plugins

Security plugin with Keycloak SAML

Screenshots
Not applicable, see logs.
Host/Environment (please complete the following information):

OS: Ubuntu 23.10
Chrome (doesn't matter acutally)

Additional context
Will be added upon request.

[Triage] @peternied Can you take a look at this issue and ask any questions that would help with a reproduction to determine if this is a bug or config related issue that documentation can alleviate?

@rlevytskyi Thanks for opening this issue - as this behavior can be confusing.  For your sysadmin accounts/clients make sure that no roles are applied that include DLS/FLS rules [1] - including roles that are included by network policies.
We have been consider investing into Views, which could help facilitate better DLS/FLS rules organization [2] [3] that might avoid these scenarios.  Thoughts on this would be greatly appreciated.

Multiple role calculations [1] https://opensearch.org/docs/latest/security/access-control/document-level-security/#dls-and-multiple-roles
[2] https://github.com/opensearch-project/OpenSearch/issues/6181
[3] https://github.com/opensearch-project/security/issues/4069

Closing this out as there isn't a specific bug here.


git-seekret hook not returning non-zero error status

When trying to use the pre-commit hook in git-seekret, it does not return a non-zero error status which prevents it from signaling an error condition during the precommit phase and preventing a commit with potential secrets from being added to a repo.
Related to #22

I put in a pull request to address this issue and have been awaiting feedback or suggestions regarding the pull request.


disabling header name lowercasing

moin, thanks for the module!
is there any way to disable the lowercasing of header names?
bg: facing a foreign endpoint that trips on lowercase header names

In HTTP/2 headers are always lowercased.
For HTTP/1, there is a hyper config setting to title case headers:
let client = reqwest::Client::builder().http1_title_case_headers().build().unwrap();
With this you have parity with Go. If titlecasing doesn't help either, the unfortunately non-compliant application must be fixed.

thanks for the hint
just tried but header names are still lowercase
use reqwest::blocking::Client;

fn main() {
    let client = Client::builder()
        .http1_title_case_headers()
        .build()
        .unwrap();

    let request = client
        .post("https://httpbin.org/post")
        .header("Content-Type", "application/json")
        .build()
        .unwrap();

    println!("{:?}", request);
}

I know this topic is generally considered "closed for discussion", but just to throw in another data point, I'll note that this default cost me quite a bit of debugging time trying to figure out why an embedded third-party HTTP/1.1 server I had to interact with kept closing the connection early with I submitted a POST request. Turns out it was expecting a capitalized Content-Type header. Including this in some kind of FAQ or troubleshooting documentation would be helpful.


Accessing files examples wanted

I could not find a way to access jupyterlite files, which are listed in the file browser normally.
Thanks in advance,

This is not implemented for this kernel yet, but could technically likely be done.


Reading script from stdin should not complain about bad file descriptors

fildesh < example/hello.fildesh prints:
TRACE fd.c(186): Errno 9 in fildesh_compat_fd_move_off_stdio.
TRACE perror: Bad file descriptor
TRACE fildesh.c(2065): Errno 9 in fildesh_builtin_fildesh_main.
TRACE perror: Bad file descriptor
hello

The TRACE messages are on stderr. It seems to work and exits with a successful status. It runs clean under Valgrind too.
I think we just need to avoid attempting to claim stdin's file descriptor when run like this.

The first fix didn't handle the case where stdin is explicitly given as the script file, which we need to do when running the script with args.
It should be fixed on trunk now. Issue #84 will test this new case.


Nested array structs dont pick up custom tags

Consider following example where struct person consists of array of addresses:

package main

import (
	"fmt"

	"github.com/fatih/structs"
)

func main() {
	type address struct {
		Country string `structs:"country"`
	}

	type person struct {
		Name      string    `structs:"name"`
		Addresses []address `structs:"addresses"`
	}

	p := person{Name: "test", Addresses: []address{address{Country: "England"}}}
	fmt.Printf("%+v", structs.Map(p))
}

The output is (custom tag for country is not picked):
map[name:test addresses:[{Country:England}]]
while the expected output is:
map[name:test addresses:[{country:England}]]

Thanks @shardnit
I'll take a look soon at it. My macbook was broken and I didn't had the time to look at it.

I think that the correct output should be
map[name:test addresses:[map[country:England]]]

@shardnit checkout please https://github.com/fatih/structs/pull/60, it solves your problem.


Disable translations for specific query

Here is my case:
I have product which have a categories. When I edit the product I don't want to get translated categories. I want only category.id
How can I achieve that?
Here is what I'm doing now:
$product = Product::select('id', 'sku',...)
->with(['categories' => function ($query) {
                        $query->select(['categories.id']);
                    }])
->where('id', $id)
->first();

But I'm getting categories with their translations. Is it possible for that query only to get categories without translations?

Have you set $with property in the category class? otherwise the translations are only queried if you access a translated attribute.

No, I didn't.
I have  only
public $translatedAttributes = ['name'];
in my Category model

And in which situation you find-out/see that the translations are also loaded? After your query no translation should be available.

In fact every query, even in other models returns translations. And I don't have $with anywhere.

This package doesn't have any join - so the original query can't load translations. So what are you doing/your code that you see the translations? Do you use toArray() on the model?
https://github.com/dimsav/laravel-translatable/blob/5f19c5b9253ea49baa935135ae2ffd37f81bc5d4/src/config/translatable.php#L108-L117

And what's the code you execute where you see the translated fields?
It's impossible to tell you why you see translated fields if you don't show us what you do.

Thats is the code:
public function simpleCategories()
    {
        $categories = Category::select('id')
            ->get();
       return response()->json($categories);
}

And this executes toArray() on your model. ;)
json calls toJson on the model which calls toArray.
You should fix this by adding a pluck('id')
public function simpleCategories()
{
    $categoryIds = Category::select('id')->get()->pluck('id');
    return response()->json($categoryIds);
}

Thanks @Gummibeer , that works great, but how can I get that result in more complex query as in my first post?
$product = Product::select('id', 'sku',...)
->with(['categories' => function ($query) {
                        $query->select(['categories.id']);
                    }])
->where('id', $id)
->first();

return response()->json($product);

You could try to do it by https://laravel.com/docs/5.6/collections#method-only or play around with the other collection methods.
But I would tinker with the toArrayAlwaysLoadsTranslations or attributesToArray method. My idea is to compare available attributes with all fillables or check if eloquent has a property to detect a not complete database record.
I don't have a ready to use solution but would be happy with a PR to add this feature, in best case with a new config.
The 100% best solution for me is a makeTranslationsHidden and makeTranslationsVisible method like https://laravel.com/docs/5.6/eloquent-serialization#hiding-attributes-from-json that changes a property on the model which is used in the attributesToArray method.
But this method has to be called on every model instance - not rly nice for your problem. But for an API I would go for the way to disable translations by default and enable/load them if needed via eloquent eager loading.

Thanks @Gummibeer !

I've added a fix in #484 - can you take a look if it solves your problem?


[microTVM] AOT Demo

This PR makes these changes:

adds AOT demo for microtvm
adds AOT zephyr test to ci_qemu
adds image classification tflite model for aot zephyr test.

cc @areusch @gromero

@areusch tested this on NRF board, however, the model doesn't fit on Nucleo board. So I removed the boards that has not been tested so far in the aot_demo.
PTAL.
Thanks!