pb, setting gtk.DialogNew  parent window

Hi,
i've some issue to set parent for Dialog.
Below , a ready to play example with multiples TESTs ...
package main

import (
	"fmt"
	"log"
	"os"

	"github.com/gotk3/gotk3/gdk"
	"github.com/gotk3/gotk3/glib"
	"github.com/gotk3/gotk3/gtk"
)

const appId = "com.example.app"

func main() {
	// Create Gtk Application, change appID to your application domain name reversed.
	application, err := gtk.ApplicationNew(appId, glib.APPLICATION_FLAGS_NONE)
	// Check to make sure no errors when creating Gtk Application
	if err != nil {
		log.Fatal("Could not create application. ", err)
	}
	application.Connect("activate", func() { onActivate(application) })
	// Run Gtk application
	os.Exit(application.Run(os.Args))
}

// Callback signal from Gtk Application
func onActivate(application *gtk.Application) {

	var TEST1, TEST2, TEST3, TEST4 bool
	var tWindow *gtk.Window
	var window *gdk.Window

	// Create ApplicationWindow
	appWindow, err := gtk.ApplicationWindowNew(application)
	if err != nil {
		log.Fatal("Could not create application window. ", err)
	}
	// Set ApplicationWindow Properties
	appWindow.SetTitle("Test Basic Application.")
	appWindow.SetDefaultSize(400, 400)

	// Set Dialog
	dlg, err := MsgDlg("New dialog window", 200, 100)
	if err != nil {
		log.Fatal("MsgDlgShow error. ", err)
	}

	try1 := func() (window *gdk.Window, err error) { return appWindow.GetParentWindow() }
	try2 := func() (window *gdk.Window, err error) { return appWindow.GetWindow() }
	try3 := func() (window *gtk.Window, err error) { return appWindow.GetTransientFor() }

	// Testing purpose ...
	// TEST1 = true
	// TEST2 = true
	// TEST3 = true
	TEST4 = true

	if TEST1 {
		window, err = try1()
		dlg.SetParentWindow(window)
		// RESULT:	windows and dialog are displayed but,
		// GLib-GObject-CRITICAL **: g_object_is_floating: assertion 'G_IS_OBJECT (object)' failed
		// GLib-GObject-CRITICAL **: g_object_ref: assertion 'G_IS_OBJECT (object)' failed
		// Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
	}

	if TEST2 {
		window, err = try2()
		dlg.SetParentWindow(window)
		// RESULT:
		// cgo returned unexpected nil pointer
	}

	if TEST3 {
		tWindow, err = try3()
		dlg.SetTransientFor(tWindow)
		// RESULT:
		// cgo returned unexpected nil pointer
	}

	if TEST4 { // Parent window set to NIL ... result look like normal ...
		window = nil
		// RESULT:	windows and dialog are displayed but,
		// Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
	}

	if err != nil {
		log.Fatal("Getting parent error. ", err)
	}

	dlg.Show()

	appWindow.Show()
}

// Make dialogBox
func MsgDlg(title string, width, height int) (dialog *gtk.Dialog, err error) {
	// Make dialog
	dialog, err = gtk.DialogNew()
	if err != nil {
		return dialog, nil
	}
	dialog.SetTitle(title)
	dialog.SetDefaultSize(width, height)
	dialog.SetModal(true)
	// Add buttons and signals handlers
	dlgButtonCancel, err := dialog.AddButton("Cancel", gtk.RESPONSE_CANCEL)
	if err != nil {
		return dialog, nil
	}
	dlgButtonCancel.Connect("clicked", func() {
		fmt.Println("Cancel clicked")
		dialog.Destroy()
	})
	dlgButtonOk, err := dialog.AddButton("Ok", gtk.RESPONSE_OK)
	if err != nil {
		return dialog, nil
	}
	dlgButtonOk.Connect("clicked", func() {
		fmt.Println("Ok clicked")
	})

	return dialog, nil
}

What i've missed ?
I've also tried using Glade's DialogBox but it seems GtkButtonBox is not yet implemented ...
Thank for your help.
-Build Args: -tags gtk_3_18:
-Arch infos: LinuxMint 18.3, gtk-version: libgtk-3-0:amd64 3.18.9-1ubuntu3.3
release: xenial 45~16.04.1-Ubuntu SMP Mon Nov 19 13:02:27 UTC 2018
kernel: 4.15.0-43-generic x86_64

You are not supposed to use show(), but Run(), since that actually returns the chosen button afterwards.
Anyhow, I ran your example and everything worked fine.

Thanks for response.
Simplified code:
package main

import (
	"fmt"
	"log"
	"os"

	"github.com/gotk3/gotk3/gdk"
	"github.com/gotk3/gotk3/glib"
	"github.com/gotk3/gotk3/gtk"
)

const appId = "com.example.app"

func main() {
	// Create Gtk Application, change appID to your application domain name reversed.
	application, err := gtk.ApplicationNew(appId, glib.APPLICATION_FLAGS_NONE)
	// Check to make sure no errors when creating Gtk Application
	if err != nil {
		log.Fatal("Could not create application. ", err)
	}
	application.Connect("activate", func() { onActivate(application) })
	// Run Gtk application
	os.Exit(application.Run(os.Args))
}

// Callback signal from Gtk Application
func onActivate(application *gtk.Application) {
	var dialog *gtk.Dialog
	var window *gdk.Window
	appWindow, err := gtk.ApplicationWindowNew(application)
	if err != nil {
		log.Fatal("Could not create application window. ", err)
	}
	appWindow.SetTitle("Test Basic Application.")
	appWindow.SetDefaultSize(400, 400)
	// Set Dialog
	dialog, err = gtk.DialogNew()
	if err != nil {
		log.Fatal("MsgDlgShow error. ", err)
	}
	dialog.SetDefaultSize(200, 100)
	dialog.SetModal(true)
	_, err = dialog.AddButton("Done", gtk.RESPONSE_CANCEL)
	if err != nil {
		log.Fatal("MsgDlgShow error. ", err)
	}
	// Get / Set parent
	window, err = appWindow.GetParentWindow()
	if err != nil {
		log.Fatal("Getting parent error. ", err)
	}
	dialog.SetParentWindow(window)
	appWindow.Show()

	if dialog.Run() == gtk.RESPONSE_CANCEL {
		fmt.Println("The Cancel button was clicked")
		dialog.Destroy()
	}
}

I got:
(gtkTst:27922): GLib-GObject-CRITICAL **: g_object_is_floating: assertion 'G_IS_OBJECT (object)' failed

(gtkTst:27922): GLib-GObject-CRITICAL **: g_object_ref: assertion 'G_IS_OBJECT (object)' failed
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
The Cancel button was clicked

I want:
No warning, no error ... but.
The Cancel button was clicked

Thanks.

I have taken a look at the GtkMessageDialog, which is a more specific implementation of the GtkDialog.
It seems the correct way to do this, would be to do SetTansientFor(window); and then SetModal(true).
In case you want to take a look at it: https://gitlab.gnome.org/GNOME/gtk/blob/master/gtk/gtkmessagedialog.c#L549
Here is a working example:
package main

import (
	"fmt"
	"log"
	"os"

	"github.com/gotk3/gotk3/glib"
	"github.com/gotk3/gotk3/gtk"
)

const appId = "com.example.app"

func main() {
	// Create Gtk Application, change appID to your application domain name reversed.
	application, err := gtk.ApplicationNew(appId, glib.APPLICATION_FLAGS_NONE)
	// Check to make sure no errors when creating Gtk Application
	if err != nil {
		log.Fatal("Could not create application. ", err)
	}
	application.Connect("activate", func() { onActivate(application) })
	// Run Gtk application
	os.Exit(application.Run(os.Args))
}

// Callback signal from Gtk Application
func onActivate(application *gtk.Application) {
	appWindow, windowError := gtk.ApplicationWindowNew(application)
	if windowError != nil {
		log.Fatal("Could not create application window. ", windowError)
	}
	appWindow.SetTitle("Test Basic Application.")
	appWindow.SetDefaultSize(400, 400)
	appWindow.Show()

	// Set Dialog
	dialog, dialogError := gtk.DialogNew()
	if dialogError != nil {
		log.Fatal("DialogNew error. ", dialogError)
	}
	dialog.SetDefaultSize(200, 100)
	dialog.SetTransientFor(appWindow)
	dialog.SetModal(true)

	_, buttonAddError := dialog.AddButton("Done", gtk.RESPONSE_CANCEL)
	if buttonAddError != nil {
		log.Fatal("AddButton error. ", buttonAddError)
	}

	if dialog.Run() == gtk.RESPONSE_CANCEL {
		fmt.Println("The Cancel button was clicked")
		dialog.Destroy()
	}
}

Many thanks !!!, i've spending lot of time to try to find solution, trying lot of combinaisons but i never been think at the order of commands ...
I'll take a look at gtk.MessageDialogNew, thank too for this suggestion, i'v tested this using Glade but as said before, Glade implement it using GtkButtonBox and gotk3 does not have it implemented yet.
I will try to do it manually ...
Thank again, have a nice day.

Nice, more simple, less harder, more better ...
package main

import (
	"fmt"
	"log"
	"os"

	"github.com/gotk3/gotk3/glib"
	"github.com/gotk3/gotk3/gtk"
)

const appId = "com.example.app"

func main() {
	application, err := gtk.ApplicationNew(appId, glib.APPLICATION_FLAGS_NONE)
	if err != nil {
		log.Fatal("Could not create application. ", err)
	}
	application.Connect("activate", func() { onActivate(application) })
	os.Exit(application.Run(os.Args))
}

func onActivate(application *gtk.Application) {
	appWindow, windowError := gtk.ApplicationWindowNew(application)
	if windowError != nil {
		log.Fatal("Could not create application window. ", windowError)
	}
	appWindow.SetTitle("Test Basic Application.")
	appWindow.SetDefaultSize(400, 400)
	appWindow.Show()

	msgDialog := gtk.MessageDialogNew(appWindow,
		gtk.DIALOG_MODAL,
		gtk.MESSAGE_WARNING,
		gtk.BUTTONS_OK_CANCEL,
		fmt.Sprintf("%s\n%s\n%s\n", "line 1", "line 2", "line 3"))
	msgDialog.SetDefaultSize(200, 100)
	switch msgDialog.Run() {
	case gtk.RESPONSE_CANCEL:
		fmt.Println("The Cancel button was clicked")
	case gtk.RESPONSE_OK:
		fmt.Println("The OK button was clicked")
	}
	msgDialog.Destroy()
}

Is there a way to add more button ? just one more
like exiting application:

File changed,
save it ?

Cancel
Yes
No

Np.
Taken from Gnome docs:
Prebuilt sets of buttons for the dialog. If none of these choices are appropriate, simply use GTK_BUTTONS_NONE then call gtk_dialog_add_buttons().

    Please note that GTK_BUTTONS_OK, GTK_BUTTONS_YES_NO and GTK_BUTTONS_OK_CANCEL are discouraged by the GNOME Human Interface Guidelines.


Consider creating run.sh script and wget command

https://blog.josephkahn.io/articles/ansible/

By using: bash wget -qO- https://github.com/JBKahn/provisioning-local/raw/master/run.sh | sudo bash you can have this script download and run and have the machine setup in no time. It handles the requirements, and starts up three of the applications after the provisioning is completed.

Implemented by https://github.com/iancleary/personal-ansible/pull/57

Closing since https://github.com/iancleary/personal-ansible/pull/57 merged into master


Using COLLECT/AGGREGATE/INTO on zero rows returns null.

My Environment

ArangoDB Version:  3.4.7
Storage Engine:  RocksDB
Deployment Mode: Single Server
Deployment Strategy: Manual Start (local)
Configuration:
Infrastructure:
Operating System: MacOS  10.14.5
Total RAM in your machine:
Disks in use:
Used Package:

Component, Query & Data
Affected feature: AGGREGATE

AQL query (if applicable):
for doc in [{num: 1, sum: 10}, {num: 1, sum: 20}, {num: 2, sum: 30}, {num: 2, sum: 40}, {num: 3, sum: 50}]
    filter doc.num in [11,21,31]

    collect nums = doc.num
    aggregate sums = sum(doc.sum)
    into group

    return sums

AQL explain (if applicable):

Query String:
 for doc in [{num: 1, sum: 10}, {num: 1, sum: 20}, {num: 2, sum: 30}, {num: 2, sum: 40}, {num: 3,
 sum: 50}]
     filter doc.num in [11,21,31]

     collect nums = doc.num
     aggregate sums = sum(doc.sum)
     into group

     return sums

Execution plan:
 Id   NodeType            Est.   Comment
  1   SingletonNode          1   * ROOT
  2   CalculationNode        1     - LET #4 = [ { "num" : 1, "sum" : 10 }, { "num" : 1, "sum" : 20 }, { "num" : 2, "sum" : 30 }, { "num" : 2, "sum" : 40 }, { "num" : 3, "sum" : 50 } ]   /* json expression */   /* const assignment */
  3   EnumerateListNode      5     - FOR doc IN #4   /* list iteration */
  4   CalculationNode        5       - LET #6 = (doc.`num` in [ 11, 21, 31 ])   /* simple expression */
  5   FilterNode             5       - FILTER #6
  6   CalculationNode        5       - LET #8 = doc.`num`   /* attribute expression */
 10   SortNode               5       - SORT #8 ASC
  7   CalculationNode        5       - LET #10 = doc.`sum`   /* attribute expression */
  8   CollectNode            5       - COLLECT nums = #8 AGGREGATE sums = SUM(#10)   /* sorted */
  9   ReturnNode             5       - RETURN sums

Indexes used:
 none

Optimization rules applied:
 Id   RuleName
  1   move-calculations-up
  2   move-filters-up
  3   move-calculations-up-2
  4   move-filters-up-2
  5   remove-collect-variables
  6   move-calculations-down

Steps to reproduce

Run the above query
Notice the output is [ null ] instead of []

Problem:
When using INTO along with an AGGREGATE query when all docs have been filtered out, the return of the aggregate is null rather than just "nothing".  If you remove the INTO group in the query above, then the AGGREGATE returns "nothing" and the result is []
Expected result:
It should return [] not [ null ].

Hi,
please note that Arangodb 3.4 is EOLed.
ArangoDB 3.7 is available now - hence closing this.


Spike: full text search

Add a text index creation to the Licence table on the BusinessName and TradingName columns to see if we can create these successfully on the ACP environment.
Confirmed working locally.

sigh drone


[CNS] refactor: remove redundant check for TLSSettings.TLSPort

Reason for Change:

small refactor to remove redundant check for TLSSettings.TLSPort in CNS

Issue Fixed:

Requirements:

[x] uses conventional commit messages

[ ] includes documentation
[ ] adds unit tests
[x] relevant PR labels added

Notes:

/azp run Azure Container Networking PR


Need a way to override upstream CI parameters without git conflicts

Need a way for local parameter overrides.
Edit: see #58 ,
To use:

define your parameter overrides by adding them to ci/override.json.
If keys exist in both the original parameter file, and override.json, the values in override.json will win.
Additional keys present in the override file, but not the original parameters will be added to the parameter list.

PR Merged; Closing.

Edge case found when using the global ovverride (~/.taskcat_global_override.json) with a docker container install. Currently working through remediation.

@agamzn suggestion move the  ~/.taskcat_global_override.json the docker mountpoint

See #63 for docker-container adjustments.

Fixed in https://github.com/aws-quickstart/taskcat/commit/4966cc2ae32700730054dcba7c5b12692a03f80e https://github.com/aws-quickstart/taskcat/commit/ac1fa50d89748f41755b72972753603badc3e020


Man, I have a suggestion

The current program only has a single exe program. Can you release the web file of the management page to the directory where the program is located? In this way, users in different countries can manually modify the page and translate it, so as to support multilingual environment

Thanks for the suggestion.
Unfortunatly, I cannot ship the UI apart from the executable.
The path to the UI files is currently hardcoded and there is no plan to change that to keep the setup as minimalistic as possible.
However, I agree that proper multilanguage support should be built into the app.
This would require stringtable/i18n support to be added to the angular project.
Once that's done you are welcome to provide translations by opening a pull request.

When will multilingualism be developed?

Currently I am working on a rewrite of the manager.
I will let you know as soon as I start to work on the UI for that
No ETA tho, unfortunatly.
Are there any translations which are especially important to you?

Please test the compatibility of the application with simplified Chinese or traditional Chinese. It is known that Omega manager cannot recognize modules with simplified Chinese names due to coding problems Please pay attention


Split GUI Taks list panel into 3 separate lists

3 lists to be:

Events
Deadlines
Floating tasks

Working on Issues #31 & #66

Completed in PR #122


chore: Update bf-generate-lib

Description
Updates to the latest bf-generate-lib.
Task Item
#minor

Coverage remained the same at 54.465% when pulling 66ad20695273ee835b1e8457c0f8ddb431dfc45f on hatpick:sorgh/update_bf_generate_lib into 9d01a7ac3c70796aa60a51e7906684f575285125 on microsoft:main.


feature/virtualization

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@876aa3b). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main       #9   +/-   ##
=======================================
  Coverage        ?   86.93%
=======================================
  Files           ?       13
  Lines           ?      176
  Branches        ?       34
=======================================
  Hits            ?      153
  Misses          ?       23
  Partials        ?        0

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 876aa3b...fe5d8af. Read the comment docs.


WriteResponse does not properly type variabels in message

WriteResponse currently can contain variables with the incorrect type representation. For example if you have a variable num of type UDINT.
{
  "type": "write",
  "data": {
    "num": 52,
}
{
  "type": "writeresponse",
  "data": {
    "num": 52,
}

as it should but...
{
  "type": "write",
  "data": {
    "num": "52",
}
{
  "type": "writeresponse",
  "data": {
    "num": "52",
}

This is incorrect, the write response as the server should always respond with the the value and the correct type. I would expect:
{
  "type": "write",
  "data": {
    "num": "52",
}
{
  "type": "writeresponse",
  "data": {
    "num": 52,
}

@Joshpolansky


When use OkHttpClient,Java Mission Control Thread Blocking Count NUM column display a big Num?

What kind of issue is this?
When use OkHttpClient,Java Mission Control Thread Blocking Count NUM column display a big Num?
OkHttp ConnectionPool thread blocking num is very big,even more than Finalizer?

Most likely you are not reusing a single OkHttp instance?
n.b. Please ask this sort of question on stackoverflow in future, and use the issue tracker for reproducible issues (logs or a failing test).

@yschimke Thank you!Yeah.aam. My code like this:
globalOkHttpClient.newBuilder().connectTimeout(10,TimeUnit.SECONDS).build()
to new a Instance,that still can't avoid slove this problem,must keep in mind,Only a OkHttp instance? Because business logic have vary HTTP rest invoke,timeout paramter must set in different OkHttpClient instance.So,how to do that?

Can you post your question on stackoverflow and I'll answer there.

Ok,i posted the question.https://stackoverflow.com/questions/36009889/okhttp-connection-timeout

@yschimke Hi,please answer it.I'm waiting for you.


Remove jupyter.setDirty call

From what I understand, this is not useful

We may want to re-add it when adding the image mime type representation of figures.

Merging as per in-person discussion.


@PatchMapping and @DeleteMapping insert unwanted slash when using url and specific value

Replicate problem:
Pom relevant deps:
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>2022.0.4</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>
        <dependency>
            <groupId>io.github.openfeign</groupId>
            <artifactId>feign-hc5</artifactId> <!-- Required to use PATCH over default HttpURLConnection -->
        </dependency>

Config in application-local.properties
feign.url=https://subdomain.address.com/endpoint

Client:
@FeignClient(name = "test-client", url = "${feign.url}")
public interface TestClient {
    @PatchMapping(value = "('{id}')")
    void patchTest(@PathVariable String id, @RequestBody TestDto dto);

    @DeleteMapping(value = "('{id}')")
    void deleteTest(@PathVariable String id);
}

Expected behaviour is a call from client.patchTest(id, dto) results in a call to:
https://subdomain.address.com/endpoint('id')
Measured behaviour however is a call to:
https://subdomain.address.com/endpoint/('id')
introducing an additional slash and creating a bad request for both the PATCH and the DELETE, GET and POST do not exhibit this.
Desired behaviour is no magic slash.

Hello @MarcelTon , I've just tried it and I see the same behaviour for GET also. If you were able to replicate a different behaviour for GET, please provide your sample. Furthermore, this is not a Spring Cloud OpenFeign specific behaviour. The uriTemplate is being added by the feign.RequestTemplate#uri(java.lang.String, boolean) method in OF. I see you've created an issue there and they've requested you to move it here, but I'm not sure why; Furthermor, it seems to be done by design there, as OF expects to get complete path segments from the user, i.e., if you do sth like this with OF (without the Spring Cloud OF dependency in your project even):
@RequestLine("GET ('test')")
String getTest();

you will still end up with GET https://subdomain.address.com/endpoint/('test') being called.

If you would like us to look at this issue, please provide the requested information. If the information is not provided within the next 7 days this issue will be closed.

Closing due to lack of requested feedback. If you would like us to look at this issue, please provide the requested information and we will re-open the issue.


Minor code style improvements

2 commits:

Improved code style after the PR https://github.com/fastlane/fastlane/pull/4429/
Use of local fastlane installation for device_grid tests, instead of the one from the bundle (this caused issues with circle before)

Ready to be merged after review 👍

👍  :ship: it

Thanks @mfurtak 👍


Raygun iOS not catching crashes

Hi Mindscape team
I have found that iOS app do not log exception in Raygun
I set up a modified project from your SampleApp. I did put the key into the API Key but nothing get logged into my Raygun bucket
net8_raygun_sample.zip

issues in iOS

If exception is asynchronous inside of a Task in iOS, it will throw EnsureUIThread exception

(Not in this sample project) If there is any objective-c and MAUI View Handler/Renderer exception, it will not log into raygun

Note: Android is fine

I noticed this a well when using threads other than the main/UI thread.
var thread = new Thread(() =>
{
    throw new InvalidOperationException("From a new thread.");
});
thread.Start();

This should be fixed in our 1.4.2-pre-1 release for Raygun4Maui https://www.nuget.org/packages/Raygun4Maui/1.4.2-pre-1


update

Problem solved
Short description of the bug fixed or feature added

PR-Codex overview
This PR focuses on improving error handling in the useAutoConnect hook by ensuring the connection status is set to "disconnected" when an error occurs during the wallet auto-connection process.
Detailed summary

Added setConnectionStatus("disconnected"); inside the catch block to handle errors.
Removed redundant setConnectionStatus("disconnected"); from the else block.

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

#5742  👈 (View in Graphite)
main

How to use the Graphite Merge Queue
Add either label to this PR to merge it via the merge queue:

merge-queue - adds this PR to the back of the merge queue
hotfix - for urgent hot fixes, skip the queue and merge this PR next

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has enabled the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

This stack of pull requests is managed by Graphite. Learn more about stacking.


[tests] Follow up work for Workload tests PR

[x] Installing the workloads for test takes <1min compared to the build workloads step which takes over 4mins. Not worth merging these two steps. On windows CI the workload is built, and installed separate from the existing "Build the workloads step". Consider de-duplicating the work. Also, see https://github.com/dotnet/aspire/pull/4168#discussion_r1604130437
[ ] Add dogfood.ps1
[x] More tests, enhance checks (https://github.com/dotnet/aspire/pull/4240)
[ ] If a new nuget is found in artifacts then remove the corresponding entry from the local nuget-cache
[ ] Make test class names extraction more robust so it isn't dependent on tests having a fixed prefix
[ ] Consider renaming TestUsingWorkloads and streamlining the use of this, and InstallWorkloadUsingArtifacts
[x] Consolidate the RequiresDocker story across the various test projects (see https://github.com/dotnet/aspire/pull/4168#discussion_r1606930361) - https://github.com/dotnet/aspire/pull/4260
cc @joperezr @eerhardt

@radical is this still relevant now that we don't have a workload any longer?


Wrong tab underline animation

The animation of the tab isn't fluid. Please fix it :)
Thanks

I'm not exactly sure our implementation is outright incorrect. The spec itself says the animation may vary by platform. I suggest we ask the MD team if the animation we have is acceptable or not before rewriting the animation for it.

I think that this one looks a little bit glitchy!
The best one would be this one: https://www.google.com/design/spec/patterns/navigational-transitions.html#navigational-transitions-sibling-to-sibling
Thanks for evaluating my suggestion :)

I'll ask the MD team about this next week. Thanks for consulting the spec, both and sorry about the ambiguity.

any updates on this?

We’ll actually have to change the implementation of the current tabs thing because the bar is supposed to move from one tab to the next. Using the border (as we are doing now) is therefore not an option. Not an easy change, but at least it’s not a BC.

Tabs will be reimplemented in #4481. Not feasible to fix until then.


Deployment Groups

Need to include the definition of deployment groups

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 7f8c8539-89a7-a426-868b-96e961c39e29
Version Independent ID: de260a68-aab7-7c6b-6727-90c92c65b225
Content: Azure Pipelines New User Guide - Key concepts - Azure Pipelines
Content Source: docs/pipelines/get-started/key-pipelines-concepts.md
Product: devops
Technology: devops-cicd
GitHub Login: @thomps23
Microsoft Alias: jillfra

And also for the related item Deployment Pools


Phone + PIN options

Under the Phone call settings section, there are a number of voice prompts telling users to enter their PIN, however, there does not seem to be an option to configure Phone + PIN usage using Azure MFA. I know with Azure MFA Server you can configure this, but, am I missing something?
I have a number of customers that can't move to a cloud based MFA until this option is available.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 84b26750-880c-8f14-1628-436293de915e
Version Independent ID: 518b727f-79e8-b5c2-bcb3-ff4de3444c6f
Content: Configure Azure Multi-Factor Authentication - Azure Active Directory
Content Source: articles/active-directory/authentication/howto-mfa-mfasettings.md
Service: active-directory
Sub-service: authentication
GitHub Login: @MicrosoftGuyJFlo
Microsoft Alias: joflore

@chjone  Thank you for your query. We will check and update on it.

@chjone  As of today with the Call to Phone option, the user would have receive a call that they have to pick and press the # key to complete the MFA challenge. Else, they can setup for a verification code that would be sent as a text message. Ref: Additional security verification page
There is no option to setup a PIN that the user would put to verify the challenge.
We will be closing this thread now, please re-open if you need further help.


Avoid endless loop in recursive schema retriveal

Loading LIDO schemas (#48) results in an endless loop. Maybe at least limit the maximum depth of recursion?

http://schemas.opengis.net/gml/3.1.1/base/gml.xsd and http://schemas.opengis.net/gml/3.1.1/base/topology.xsd reference each other, resulting in an endless loop.


Remove missing files from MANIFEST.in

AFAICT, these files don't exist under sdks/python and are not in the Python release .zip files (such as apache-beam-2.13.0.zip from https://pypi.org/project/apache-beam/#files).
Should get rid of these warnings from setup.py:
warning: no files found matching 'README.md'
warning: no files found matching 'NOTICE'
warning: no files found matching 'LICENSE'

The NOTICE and LICENSE files were added in https://issues.apache.org/jira/browse/BEAM-1746 but at some point removed? Perhaps in the maven to gradle migration.
The README.md file existed and was removed at some point.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Choose reviewer(s) and mention them in a comment (R: @username).
[x] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

 Maybe we can just copy them here since they do not really change much.

There's no simple solution.
Copying doesn't sit right with me.
Including ../../NOTICE in Manifest.in doesn't work right.
Having gradle "sdist" task copy the files along with the rest of the sources works, but we don't use gradle to build the source release (and sdist build a tar.gz while we release a .zip format).


H6163 Brightness issue (39%)

Hey again - my H6163 model has the same issue with being 'stuck' at the 39% brightness (and delays/failures when setting colors). Thought I'd pass that info along - thanks!

just released v2.0.3 to fix this.
thanks for letting me know.
obviously i can't own every model of govee devices so I have to rely on people telling me on a per-device basis!

So fast! Thanks. I'll have to wait until it trickles down the HOOBS repo too update, but I'll report back when I can update.


GUACAMOLE-101: add additional search filter function for extentions/guacamole-auth-ldap module

update extentions/guacamole-auth-ldap module.
Provide a way to do additional filter of ldap authentication.  the "ldap-additional-search-filter" can be added to guacamole.properties. it is default to empty string.  it's also flexible enough to accept any ldap search filter parameters.
For example,  to ensure user login is also part of user group "exampleGroup"
following filter indicate user have to be memeberof exampleGroup:
ldap-additional-search-filter: (memberOf=cn=exampleGroup,ou=groups,dc=example,dc=net)

Hey Annie, thanks for the contribution! There's a few things that would need to be done before we can accept any change, however.
First, any pull requests need an associated JIRA issue in the Apache JIRA. Have a look at our contribution guidelines for more information.
In addition, there seem to be some formatting issues in this code. We like to have all of our code follow the same coding style - I have pointed out a few places in the code where these issues exist, but in general just doing things the same way as seen in other parts of the code is a good bet.

Hi guys
thanks for the constructive suggestions. I believe I have update the baseline to match what you guys suggested, please let me know if there are any other action are required.
thanks
Annie

Hey Annie, it looks like there are still some indentation issues - I still see a lot of tab-indented lines, lines that don't line up quite right, and lines that are indented overmuch. Can you make sure that all lines are indented by exactly 4 spaces per indentation level?

@annieweng, you might have to alter the settings in your IDE to get things to actually be indented in the same way as the rest of the code. I also recommend just looking at the diff within this PR, compared against the existing code. Look at the location of braces, the distance of each level of indent, etc. compared to what is already present. I'm pretty sure you'll agree that the style of the new code is starkly different.
The rule of thumb is to match the style of the code surrounding you. If you're having trouble determining that style, we do have a rough writeup of the style we try to follow:
http://guacamole.incubator.apache.org/guac-style/
This may not be your style, or even our style as individuals, but that's beside the point. Google's style guide sums this up pretty well (emphasis added):

BE CONSISTENT.
If you’re editing code, take a few minutes to look at the code around you and determine its style. If they use spaces around all their arithmetic operators, you should too. If their comments have little boxes of hash marks around them, make your comments have little boxes of hash marks around them too.
The point of having style guidelines is to have a common vocabulary of coding so people can concentrate on what you’re saying rather than on how you’re saying it.  If code you add to a file looks drastically different from the existing code around it, it throws readers out of their rhythm when they go to read it. Avoid this.

@mike-jumper I have update my editor to use 4 space and avoid tab, hopefully I got all the indentation and format inconsistency correctly this time.
thanks again for taking time review the code.

Ping.
@mike-jumper: Latest on this was Annie had updated formatting.  Anything else (aside from handling conflicts)?
@annieweng: Unfortunately this has lapsed long enough that the updates made to those files during this time require some conflict resolution.  Can you do this and update this PR?

Will do. I will try to do the update by the end of week.
thanks
Annie
On Jun 13, 2017, at 10:36 AM, necouchman <notifications<EMAIL_ADDRESS>wrote:
Ping.
@mike-jumperhttps://github.com/mike-jumper: Latest on this was Annie had updated formatting. Anything else (aside from handling conflicts)?
@anniewenghttps://github.com/annieweng: Unfortunately this has lapsed long enough that the updates made to those files during this time require some conflict resolution. Can you do this and update this PR?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/apache/incubator-guacamole-client/pull/68#issuecomment-308137198, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AH-yNuieFMxTn_LAXMB6KNTqrNDJCValks5sDp5zgaJpZM4J0STJ.

looks like someone already merged the change, although the format is slightly different.  I will go ahead close the pull request. @necouchman @mike-jumper


module "scroll-down" handler is being called multiple times

Checklist

[x] I have read the appropriate section in the contributing
guidelines
[x] I believe this issue is a problem with polybar itself and not a misconfiguration on my part.
[x] I have searched for other open and closed issues that
may have already reported this problem.
[x] I have checked the known issues page for this problem.

Describe the bug
I have a module that specifies a handler for scroll-down. This used to only fire once when the mouse wheel was scrolled. However, now it fires multiple times.
Expected behavior:
The scroll-down handler should only be called once, like before. If the new behaviour is required, it should be configurable, with the default being the old behaviour.
Actual behavior:
My scroll-down script is called a bunch of times.
Was it working before?

Did you also experience this bug in an earlier version of polybar (yes/no/don't know)?
No, I didn't

If no, what was the last version where this worked correctly?
I'm pretty sure it was working before 3.5.2. I have tried 3.5.4, but it's still not as it used to be.

To Reproduce

[bar/top]
modules-left = test

[module/test]
type = custom/script
interval = 1800
label = %output%
exec = ~/.config/polybar/scripts/test.sh
scroll-down = ~/.config/polybar/scripts/test.sh

~/.config/polybar/scripts/test.sh:
#!/bin/sh

echo "CALLED" >> /tmp/test.log

echo "XXX";

Scroll on the XXX with the mouse wheel.
Polybar Log

notice: Parsing config file: /home/muhmud/.config/polybar/config
warn: No monitor specified, using "DisplayPort-2"
warn: No fonts specified, using fallback font "fixed"
notice: Loaded font "fixed" (name=DejaVu Sans, offset=0, file=/usr/share/fonts/TTF/DejaVuSans.ttf)

Screenshots

Environment:

WM: i3
Distro: Manjaro
Output of polybar -vvv:

polybar 3.5.4

Features: +alsa +curl +i3 +mpd +network(libnl) +pulseaudio +xkeyboard

X extensions: +randr (+monitors) +composite +xkb +xrm +xcursor

Build type: Release
Compiler: /bin/c++
Compiler flags: -D_FORTIFY_SOURCE=2 -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -Wall -Wextra -Wpedantic -O3 -DNDEBUG
Linker flags: -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now

Additional context

I'm unable to reproduce this on both master and 3.5.4 and I don't see any changes in behavior when I try it in 3.5.1 or 3.4.3.
Can you run the config you posted with info logging (-l info), scroll on it once and post the output of that as well as the contents of the test.log file.

I'm unable to reproduce this on both master and 3.5.4 and I don't see any changes in behavior when I try it in 3.5.1 or 3.4.3.
Can you run the config you posted with info logging (-l info), scroll on it once and post the output of that as well as the contents of the test.log file.

Thanks for looking at this. As requested, here's the logging output:
notice: Parsing config file: /home/muhmud/.config/polybar/config
warn: No monitor specified, using "DisplayPort-2"
* Loaded monitor DisplayPort-2 (3840x2160+0+0)
* Bar geometry: 3840x24+0+0; Borders: 0,0,0,0
* Starting application
* Starting module/test
* Entering event loop (thread-id=1)
* module/test: Invoking shell command: "~/.config/polybar/scripts/test.sh"
* Eventqueue worker (thread-id=2)
* Configured DPI = 96x96
warn: No fonts specified, using fallback font "fixed"
notice: Loaded font "fixed" (name=DejaVu Sans, offset=0, file=/usr/share/fonts/TTF/DejaVuSans.ttf)
* Bar window: 0x0e00001
* Disabling tray manager (reason: missing `tray-position`)
* module/test: Rebuilding cache
* Redrawing bar window
* Forwarding command to shell... (input: ~/.config/polybar/scripts/test.sh)
* Executing shell command: ~/.config/polybar/scripts/test.sh
* Redrawing bar window
* Forwarding command to shell... (input: ~/.config/polybar/scripts/test.sh)
* Executing shell command: ~/.config/polybar/scripts/test.sh
* Redrawing bar window
* Forwarding command to shell... (input: ~/.config/polybar/scripts/test.sh)
* Executing shell command: ~/.config/polybar/scripts/test.sh
* Redrawing bar window
* Forwarding command to shell... (input: ~/.config/polybar/scripts/test.sh)
* Executing shell command: ~/.config/polybar/scripts/test.sh
* Redrawing bar window
* Forwarding command to shell... (input: ~/.config/polybar/scripts/test.sh)
* Executing shell command: ~/.config/polybar/scripts/test.sh
* Redrawing bar window
notice: Termination signal received, shutting down...
* module/test: Stopping
* Deconstruction of module/test took 0 ms.
* Waiting for spawned processes to end
* Reached end of application...

Here's the test.log file:
CALLED
CALLED
CALLED
CALLED
CALLED
CALLED

It seems like it's calling the script for every segment that the mouse scroll wheel moves.

Thanks for looking at this. As requested, here's the logging output:
notice: Parsing config file: /home/muhmud/.config/polybar/config
warn: No monitor specified, using "DisplayPort-2"
* Loaded monitor DisplayPort-2 (3840x2160+0+0)
* Bar geometry: 3840x24+0+0; Borders: 0,0,0,0
* Starting application
* Starting module/test
* Entering event loop (thread-id=1)
* module/test: Invoking shell command: "~/.config/polybar/scripts/test.sh"
* Eventqueue worker (thread-id=2)
* Configured DPI = 96x96
warn: No fonts specified, using fallback font "fixed"
notice: Loaded font "fixed" (name=DejaVu Sans, offset=0, file=/usr/share/fonts/TTF/DejaVuSans.ttf)
* Bar window: 0x0e00001
* Disabling tray manager (reason: missing `tray-position`)
* module/test: Rebuilding cache
* Redrawing bar window
* Forwarding command to shell... (input: ~/.config/polybar/scripts/test.sh)
* Executing shell command: ~/.config/polybar/scripts/test.sh
* Redrawing bar window
* Forwarding command to shell... (input: ~/.config/polybar/scripts/test.sh)
* Executing shell command: ~/.config/polybar/scripts/test.sh
* Redrawing bar window
* Forwarding command to shell... (input: ~/.config/polybar/scripts/test.sh)
* Executing shell command: ~/.config/polybar/scripts/test.sh
* Redrawing bar window
* Forwarding command to shell... (input: ~/.config/polybar/scripts/test.sh)
* Executing shell command: ~/.config/polybar/scripts/test.sh
* Redrawing bar window
* Forwarding command to shell... (input: ~/.config/polybar/scripts/test.sh)
* Executing shell command: ~/.config/polybar/scripts/test.sh
* Redrawing bar window
notice: Termination signal received, shutting down...
* module/test: Stopping
* Deconstruction of module/test took 0 ms.
* Waiting for spawned processes to end
* Reached end of application...

Here's the test.log file:
CALLED
CALLED
CALLED
CALLED
CALLED
CALLED

It seems like it's calling the script for every segment that the mouse scroll wheel moves.

Does your scroll wheel have individual scroll steps or is it more like a smooth scroll?
Because it looks like polybar is actually receiving multiple scroll events. To confirm that, can you run the same thing again with trace logging, this should tell us exactly what kind of input event the polybar window receives.

Does your scroll wheel have individual scroll steps or is it more like a smooth scroll?
Because it looks like polybar is actually receiving multiple scroll events. To confirm that, can you run the same thing again with trace logging, this should tell us exactly what kind of input event the polybar window receives.

It's individual scroll steps rather than smooth scroll.
I'll try with the trace logging; it's bizarre that this used to work fine.

It's individual scroll steps rather than smooth scroll.
I'll try with the trace logging; it's bizarre that this used to work fine.

This is output from trace logging:
* module/test: Rebuilding cache
- bar: Force update
* Redrawing bar window
- renderer: flush(1 geom=33x24+0+0, falloff=0)
- bar: Received expose event
- bar: Received button press: 5 at pos(26, 2)
- Found matching input area
- controller: Processing inputdata: ~/.config/polybar/scripts/test.sh
* Forwarding command to shell... (input: ~/.config/polybar/scripts/test.sh)
* Executing shell command: ~/.config/polybar/scripts/test.sh
- bar: Force update
* Redrawing bar window
- renderer: flush(1 geom=33x24+0+0, falloff=0)
- bar: Received button press: 5 at pos(26, 2)
- Found matching input area
- controller: Processing inputdata: ~/.config/polybar/scripts/test.sh
* Forwarding command to shell... (input: ~/.config/polybar/scripts/test.sh)
* Executing shell command: ~/.config/polybar/scripts/test.sh
- bar: Force update
* Redrawing bar window
- renderer: flush(1 geom=33x24+0+0, falloff=0)
- bar: Received button press: 5 at pos(26, 2)
- Found matching input area
- controller: Processing inputdata: ~/.config/polybar/scripts/test.sh
* Forwarding command to shell... (input: ~/.config/polybar/scripts/test.sh)
* Executing shell command: ~/.config/polybar/scripts/test.sh
- bar: Force update
* Redrawing bar window
- renderer: flush(1 geom=33x24+0+0, falloff=0)

I needed a fix so I used flock in front of my script and that's working for me.

This is output from trace logging:
* module/test: Rebuilding cache
- bar: Force update
* Redrawing bar window
- renderer: flush(1 geom=33x24+0+0, falloff=0)
- bar: Received expose event
- bar: Received button press: 5 at pos(26, 2)
- Found matching input area
- controller: Processing inputdata: ~/.config/polybar/scripts/test.sh
* Forwarding command to shell... (input: ~/.config/polybar/scripts/test.sh)
* Executing shell command: ~/.config/polybar/scripts/test.sh
- bar: Force update
* Redrawing bar window
- renderer: flush(1 geom=33x24+0+0, falloff=0)
- bar: Received button press: 5 at pos(26, 2)
- Found matching input area
- controller: Processing inputdata: ~/.config/polybar/scripts/test.sh
* Forwarding command to shell... (input: ~/.config/polybar/scripts/test.sh)
* Executing shell command: ~/.config/polybar/scripts/test.sh
- bar: Force update
* Redrawing bar window
- renderer: flush(1 geom=33x24+0+0, falloff=0)
- bar: Received button press: 5 at pos(26, 2)
- Found matching input area
- controller: Processing inputdata: ~/.config/polybar/scripts/test.sh
* Forwarding command to shell... (input: ~/.config/polybar/scripts/test.sh)
* Executing shell command: ~/.config/polybar/scripts/test.sh
- bar: Force update
* Redrawing bar window
- renderer: flush(1 geom=33x24+0+0, falloff=0)

I needed a fix so I used flock in front of my script and that's working for me.

Hmm, so polybar is receiving multiple "button presses" (this includes scrolling). My guess is that for some reason your mouse produces multiple scroll events on a single scroll.
To confirm, can you run xev -event mouse | grep -A 3 "^Button", and do a single scroll on the window that pops up. This should produce a single ButtonPress and ButtonRelease event for button 5 (scroll down) or button 4 (scroll up). Does this produce more than that for you?
Before 3.5, polybar swallowed mouse event commands if they were close together, but that was removed because it interfered with other internal events. This would explain why this is only happening now and not before.

I needed a fix so I used flock in front of my script and that's working for me.

I didn't know about flock, but that looks really cool.

Yep, you're right, I see multiple events coming through when I scroll the mouse wheel.
Thanks for looking into this & clearing up the mystery as to why this used to work!


Support Scala 2.12/Spark 3.x in build

Scala 2.12/Spark 3.x is now supported upstream in ADAM with separate artifacts, as of release version 0.32.0.  What might be the plan for Scala 2.12/Spark 3.x in Mango?

Thanks for addressing this @heuermh. I will look into it.

Closed with https://github.com/bigdatagenomics/mango/pull/562


Discuss deployment plan

Discuss production deployment plan.
Do we want CI/CD to automatically deploy to prod?  Or do we want to schedule manual deploys during change windows?

Automatic deployments to prod would be my preference. cc @acoard-aot


:pencil2: - Typos fixed!

Small typos fixed!
Thanks for the provider :wink:

@techBeck03 can you check the PR ? :smile:

Sorry for the delay. Thanks for contributing!!


Fix browser module handling

Codecov Report

Merging #274 (0d8a6fb) into master (7e49f27) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##            master      #274   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           40        40
  Lines          475       475
  Branches        68        68
=========================================
  Hits           475       475

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 7e49f27...0d8a6fb. Read the comment docs.


Running tests

I'm having trouble running the tests.  I've got it to the point where I can run pytest on it, but it fails.  I have a working OpenVAS instance and the host I'm trying to run the tests on can talk to it successfully with omp. I wonder if you have any advice on getting this to run successfully please?
This is what I get when I run it with python3 -m pytest from a fresh clone of your repo.
results.txt
Thanks!
Anna

Sorry, I've sorted this out now.

It was a combination of that and packages. I've been keeping track of what I've done.  Now I'm working on writing tests for all the functions that I've written...

Awesome! That’s great news I’m sorry I don’t have the time this project
deserves at the moment so I glad someone is adding more functionality and
tests!
On Tue, May 15, 2018 at 4:53 PM Anna Langley<EMAIL_ADDRESS>wrote:

It was a combination of that and packages. I've been keeping track of what
I've done. Now I'm working on writing tests for all the functions that I've
written...
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/mpicard/pyvas/issues/17#issuecomment-389218155, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AHHYRklIoaHSuZ1c2KgB-4kszdMIhIY1ks5tyvnlgaJpZM4T7saK
.

Thanks Martin!
A bit of background about what I’m doing, for your information.  We have a system that was built around Nessus using it’s REST API, which automates setting up scans and policies, and then presents the results over the web to the people responsible for the machines that have been scanned.  Nessus is both changing its licensing model, and removing the API, so it will soon be untenable (pun intended) to carry on in this manner.  In the short term, I’m working on replacing Nessus with OpenVAS, which involves rewriting the components of our system to interface with OpenVAS, which demands more functionality than pyvas currently offers, so I’m working on that too.
One thing that Nessus does is refer to things by name rather than ids.  So rather than put a lot of awkward logic into my scripts, I’m trying to do it only once by creating _by_name functions in pyvas, that mimic this.
Thank you for developing pyvas and sharing it with the world, it’s making my life a lot easier than it would have been otherwise!
Anna

On 15 May 2018, at 20:31, Martin Picard<EMAIL_ADDRESS>wrote:
Awesome! That’s great news I’m sorry I don’t have the time this project
deserves at the moment so I glad someone is adding more functionality and
tests!
On Tue, May 15, 2018 at 4:53 PM Anna Langley<EMAIL_ADDRESS>wrote:

It was a combination of that and packages. I've been keeping track of what
I've done. Now I'm working on writing tests for all the functions that I've
written...
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/mpicard/pyvas/issues/17#issuecomment-389218155, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AHHYRklIoaHSuZ1c2KgB-4kszdMIhIY1ks5tyvnlgaJpZM4T7saK
.

—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub https://github.com/mpicard/pyvas/issues/17#issuecomment-389286112, or mute the thread https://github.com/notifications/unsubscribe-auth/AkrpugfjZ80I3JL8Bl0k_rmYyGnU0d0nks5tyy0jgaJpZM4T7saK.

Very cool! I was doing something similar with a REST based service that needed to talk to openvas but found nothing that worked so I created this and I’m glad it’s of help to you! Your privnote expired but you can email me at<EMAIL_ADDRESS>or I’ll leave this Issue open for discussion. Unfortunately I moved on to other things so I don’t have the time but I’m so happy to hear that there is enough core functionality to easily let other contributors add more command support and higher level APIs.


Regression in filtered aggregate for double columns

Affected Version
Druid 29.0.1
Description
SELECT
  (TIME_FLOOR("__time", 'P1D', NULL, 'Asia/Calcutta')) AS "__time",
  SUM(CASE WHEN "countryIsoCode" IN ('US') THEN added  ELSE 0 END) AS "CASE_LONG",
  SUM(CASE WHEN "countryIsoCode" IN ('US') THEN CAST(added as double)  ELSE 0.0 END) AS "CASE_DOUBLE"
FROM "wikipedia"
WHERE ("__time" >= '2024-10-23T09:00:00.000Z' AND "__time" < '2024-10-30T11:00:00.000Z')
GROUP BY 1
ORDER BY "__time"
LIMIT 10001

If we check the query plan for above query, CASE_LONG aggregate gets converted to a filtered aggregator where as CASE_DOUBLE gets translated to a virtual column with case_searched expression which impacts the performance. Performance wise there is a big difference for real use case if there are multiple dimension values to check. Filtered aggregator is much faster than virtual column based aggregate with case_searched expression.

is this really a regression? did it worked in earlier versions - if yes in which version?

A way to fix this in the logical optimizer way could be to recognizing the fact that CAST can be pulled out from CASE and then the same for SUM ...but I feel like the above could only be a rare hit.
on the other hand it seems like AggregateCaseToFilterRule only consideres integer types ; right now I don't see any reason why that can't apply to double typed expressions

I believe in 31 case_long will also retain the case_searched due to a logic issue #17378

I mean yeah it may not be called a regression but may be called an optimization issue. I think both cases should be converted to a filtered agg and yes as you pointed out in Druid 31 even the long case is not getting optimized, so it may be considered a regression in 31. I figured its a calcite rule issue thanks for confirming.
Can https://github.com/apache/druid/pull/17378 be modified to support optimizing for double type as well ?


Consider adding libselinux as a dependency in OBS packages

For distributions that support selinux like Fedora and Centos, we should consider adding libselinux as a build dependency, since the runtime depends on this for supporting selinux.

cc @jodh-intel @jcvenegas @GabyCT

+1. Now that https://github.com/kata-containers/runtime/pull/2624 has landed, we can build with make FEATURE_SELINUX=yes and depend on libselinux, but we'll need conditional logic in the RPM templates so we do not do this for SUSE systems (which use apparmor by default).

@jodh-intel I am going to close this, as it was decided not to continue with OBS packaging going forward.


[Feature]: Add OpenTelemetry distributed tracing

🚀 The feature, motivation and pitch
This proposal suggests adding distributed tracing with OepnTelemetry, which will enable operators to export traces in a standard protocol and seamlessly connect them with visualization tools such as Jaeger,  Zipkin and Instana
As an initial implementation, I suggest emitting a trace for each request, including the following data:

Model name
Request ID
Sampling params
Latency
Number of input tokens
Number of generated tokens

This approach will greatly enhance the observability and troubleshooting capabilities of vLLM.
I am willing to work on this and contribute it to the community.
I welcome any feedback or suggestions.
Alternatives
No response
Additional context
No response

Hi @ronensc , if you want to contribute, maybe here is a good repo https://github.com/traceloop/openllmetry/tree/main/packages , we already have bunch of LLM providers support here.
FYI @nirga

@samuelcolvin for logfire!

Hi I am using Opentelemetry traces to crack down slowness in vllm call. Only this llm_request one span comes out with some attributes.

It only covers 10% of the time spent after a request to vllm's v1/completion endpoint. No nested span calls.
Presumably the start of vllm_request span comes from seq_group.metrics.arrival_time, why it is seconds later than request to v1/compelete?


RF: Create T1-MNI normalization workflow

Uses poldracklab/niworkflows#236.

It'd be nice to move all anatomical workflows to niworkflows (#881). Would you like to move this workflow there?


Colab out of CPU memory crash "^C" using 7b FP16-sharded LLM

Getting out of CPU ram using colab  12.7 GB (free)
^C
CPU RAM SPIKE after model Was loaded and
!autotrain llm
--train \ executed
** Runtime using: T4 GPU selected
OUT OF CPU MEMORY - NO other log or ERROR just stops
Was working last week Ok .. * seems loading in cpu And Not loading in GPU
re-create -->
https://colab.research.google.com/drive/13KrQUCMR47AOzOnAQbI9HxHkBFZyrwy4?usp=sharing

#@markdown #### Project Config
#@markdown Note: if you are using a restricted/private model, you need to enter your Hugging Face token in the next step.
project_name = 'autotrain_llm' # @param {type:"string"}
model_name = 'AyyYOO/Luna-AI-Llama2-Uncensored-FP16-sharded' # @param {type:"string"}
#@markdown ---
#@markdown #### Push to Hub?
#@markdown Use these only if you want to push your trained model to a private repo in your Hugging Face Account
#@markdown If you dont use these, the model will be saved in Google Colab and you are required to download it manually.
#@markdown Please enter your Hugging Face write token. The trained model will be saved to your Hugging Face account.
#@markdown You can find your token here: https://huggingface.co/settings/tokens
push_to_hub = False # @param ["False", "True"] {type:"raw"}
hf_token = "hf_XXX" #@param {type:"string"}
repo_id = "username/repo_name" #@param {type:"string"}
#@markdown ---
#@markdown #### Hyperparameters
learning_rate = 2e-4 # @param {type:"number"}
num_epochs = 6 #@param {type:"number"}
batch_size = 2 # @param {type:"slider", min:1, max:32, step:1}
block_size = 1046 # @param {type:"number"}
trainer = "sft" # @param ["default", "sft"] {type:"raw"}
warmup_ratio = 0.1 # @param {type:"number"}
weight_decay = 0.01 # @param {type:"number"}
gradient_accumulation = 4 # @param {type:"number"}
use_fp16 = True # @param ["False", "True"] {type:"raw"}
use_peft = True # @param ["False", "True"] {type:"raw"}
use_int4 = True # @param ["False", "True"] {type:"raw"}
lora_r = 32 #@param {type:"number"}
lora_alpha = 64 #@param {type:"number"}
lora_dropout = 0.05 #@param {type:"number"}
!autotrain llm
--train
--model ${MODEL_NAME}
--project-name ${PROJECT_NAME}
--data-path /content/LLM/MyDrive/LLM/data/
--text-column text
--lr ${LEARNING_RATE}
--batch-size ${BATCH_SIZE}
--epochs ${NUM_EPOCHS}
--block-size ${BLOCK_SIZE}
--warmup-ratio ${WARMUP_RATIO}
--lora-r ${LORA_R}
--lora-alpha ${LORA_ALPHA}
--lora-dropout ${LORA_DROPOUT}
--weight-decay ${WEIGHT_DECAY}
#--merge-adapter
--gradient-accumulation ${GRADIENT_ACCUMULATION}
$( [[ "$USE_FP16" == "True" ]] && echo "--fp16" )
$( [[ "$USE_PEFT" == "True" ]] && echo "--use-peft" )
$( [[ "$USE_INT4" == "True" ]] && echo "--use-int4" )
$( [[ "$PUSH_TO_HUB" == "True" ]] && echo "--push-to-hub --token ${HF_TOKEN} --repo-id ${REPO_ID}" )
OUTPUT>> ...
Downloading (…)l-00027-of-00027.bin: 100% 352M/352M [02:29<00:00, 2.36MB/s]
Downloading shards: 100% 27/27 [40:59<00:00, 91.09s/it]
^C
CPU RAM SPIKE
OUT OF CPU MEMORY - NO other log or ERROR just stops

I was also facing the same problem autotrain command was not properly called.


📝[Docs]:  add index.js

What Docs changes are you proposing?
I propose adding documentation for the index.js file to describe its role in the project, the modules it exports, and how it helps streamline imports across the project.
Why do the Docs need this improvement? What is the motivation for this change? How will this change benefit the community?
The index.js file serves as a central module that re-exports components and utilities from various files. Proper documentation will clarify its role in organizing exports, make it easier for users to understand how to import and use different functionalities, and simplify the process of maintaining and scaling the project
Describe the solution you'd like
index.js serves as a central hub for re-exporting various modules from different files within the project.
Describe alternatives you've considered
An alternative approach could be to include this documentation directly in the index.js file as comments.
Additional context
examples:
// Importing the default component
import RiskAssessment from './path/to/index';
// Importing functions from data_preprocessing
import { cleanData, transformData } from './path/to/index';

create a issue of entire module, not individual files


[UI] Migrate CustomAvatar and ErrorBoundary components to MUI 5

Note for reviewers:
This PR migrates the CustomAvatar and ErrorBoundary components to MUI 5, addressing the need to update the UI components in line with the MUI version upgrade.
Changes Included:

Migrated the CustomAvatar component from MUI 4 to MUI 5:

Updated imports from @material-ui/core to @mui/material.
Replaced legacy styling methods with the new styled API.

Migrated the ErrorBoundary component from MUI 4 to MUI 5:

Updated Button imports from @material-ui/core to @mui/material.
Kept the same error handling and fallback structure while ensuring compatibility with MUI 5.

Reviewers, please verify that the MUI 5 migration has been implemented correctly, and that the components behave as expected.

[x] Yes, I signed my commits.

Thank you for contributing to this @Vaibhav701161, will review this and notify you!

@Vaibhav701161
Thank you for your contributions! Let's discuss this during the Meshery Development call today at 9:00 AM CT. Adding it as an agenda item to the meeting minutes || meeting link.

Thanks again @Vaibhav701161!
Once you incorporate the sistent components, tokens and styling changes, I believe we should be good.
You can also refer to this doc to understand how to use Sistent


fix: move webpack to a peer dependency and allow webpack 2

Using this plugin with webpack 2 currently installs 2 versions of webpack.
Resolves #38.

Coverage remained the same at 95.238% when pulling 2361a2e867752bb42a573d2c56643dbca85cfe4f on mattlewis92:patch-1 into e6cf0819882121cee9933e68d74736df67db7f3e on vieron:master.

Coverage remained the same at 95.238% when pulling 2361a2e867752bb42a573d2c56643dbca85cfe4f on mattlewis92:patch-1 into e6cf0819882121cee9933e68d74736df67db7f3e on vieron:master.

Coverage remained the same at 95.238% when pulling a4d9ff8c70ed79e2bd4f240144a9149761e1523d on mattlewis92:patch-1 into e6cf0819882121cee9933e68d74736df67db7f3e on vieron:master.

Coverage remained the same at 95.238% when pulling a4d9ff8c70ed79e2bd4f240144a9149761e1523d on mattlewis92:patch-1 into e6cf0819882121cee9933e68d74736df67db7f3e on vieron:master.

Coverage remained the same at 95.238% when pulling 8789da9b75f7108f2cde041ca962fd7f8a66b74b on mattlewis92:patch-1 into e6cf0819882121cee9933e68d74736df67db7f3e on vieron:master.

@JaKXz I've added a simple npm script to test against both v1 and v2 of webpack, LMK what you think.

Yup that's correct, this is how all the webpack plugins have their peer dependency set under the webpack org

On 18 Dec 2016, at 16:36, Jason Kurian<EMAIL_ADDRESS>wrote:
@JaKXz commented on this pull request.
In package.json:

@@ -23,14 +23,14 @@
},
"homepage": "https://github.com/vieron/stylelint-webpack-plugin#readme",
"peerDependencies": {

"stylelint": "^7.0.1"

"stylelint": "^7.0.1",
"webpack": "^2 || ^2.2.0-rc.0 || ^2.1.0-beta.0 || ^1.13.2"
I see, because the rc and beta versions do not fall under semver technically so they aren't resolved by ^2.0.0? Fair enough.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Coverage remained the same at 95.238% when pulling a13d6ca6a5538edd6ae161d49ff89df633eeae78 on mattlewis92:patch-1 into 6b74bb6e40a91d8d8a382868d3fc2c78322a4b42 on vieron:master.

Coverage remained the same at 95.238% when pulling a13d6ca6a5538edd6ae161d49ff89df633eeae78 on mattlewis92:patch-1 into 6b74bb6e40a91d8d8a382868d3fc2c78322a4b42 on vieron:master.

@JaKXz I just spotted there was a merge conflict with master which I've now resolved, would you like me to make any more changes before this can be merged? 😃

@mattlewis92 thanks for fixing that!
I'm still not sure about the way to test the different versions of webpack though. Maybe this should be a bigger discussion with @sokra and other plugin maintainers who want to maintain backwards compatibility?

Given that webpack 2 is now in RC and there are no more breaking changes planned (and previously none that have affected this plugin) - I wouldn't worry too much about it. AFAIK the plugin / loader API will always be pretty stable to avoid breaking the webpack ecosystem - the majority of breaking changes are in the EU's webpack config itself. Maybe @TheLarkInn can give some more insight into this though?

@mattlewis92 thank you for your patience on this!
I had a look at the long thread that is https://github.com/npm/npm/issues/5499 and found: https://github.com/scott113341/npm-install-version
I think a programmatic solution with npm-install-version is the way to go - at first glance it looks like a sustainable way to test against both versions of webpack until webpack 1 support is dropped, which of course isn't happening any time soon.
I really appreciate your work on this - let me know if you want to give that a shot or I can take it on if you're spent. :)

Coverage increased (+0.2%) to 95.455% when pulling a9d6b2b816e3aa4231f32f292ca12734910d5251 on mattlewis92:patch-1 into 6b74bb6e40a91d8d8a382868d3fc2c78322a4b42 on vieron:master.

Coverage increased (+0.2%) to 95.455% when pulling a9d6b2b816e3aa4231f32f292ca12734910d5251 on mattlewis92:patch-1 into 6b74bb6e40a91d8d8a382868d3fc2c78322a4b42 on vieron:master.

@JaKXz I've done a basic implementation using npm-install-version - let me know if that's OK for you

Coverage increased (+0.2%) to 95.455% when pulling cadc39aa949fb5f938e4d6389c15cac011969701 on mattlewis92:patch-1 into 6b74bb6e40a91d8d8a382868d3fc2c78322a4b42 on vieron:master.

Coverage increased (+0.2%) to 95.455% when pulling cadc39aa949fb5f938e4d6389c15cac011969701 on mattlewis92:patch-1 into 6b74bb6e40a91d8d8a382868d3fc2c78322a4b42 on vieron:master.

Coverage increased (+0.2%) to 95.455% when pulling cadc39aa949fb5f938e4d6389c15cac011969701 on mattlewis92:patch-1 into 6b74bb6e40a91d8d8a382868d3fc2c78322a4b42 on vieron:master.

+<EMAIL_ADDRESS>published! thanks again!

Awesome, thanks! 😃


Provide editing history (Undo, redo changes)

When editing notes, it is only possible to revert ALL changes (to the saved state).
It should be possible to undo/redo changes, like undo deleting the line etc.

This TextViewUndoRedo sounds very promising:
https://gist.github.com/zeleven/0cfa738c1e8b65b23ff7df1fc30c9f7e


customized testing

Right now tests are compiled in and executed only if test is specified on command line. Testing mechanism is in zig/std/special/test_runner.zig and its use is probably hardcoded.
This arrangement is not the only possible one. For example, one may prefer to always compile tests in (in debug mode) and to run tests from recently modified files automatically, whenever the executable runs.
I propose:

Expand builtin.__zig_test_fn_slice structure. Add source file name and line for every test. Add how "old" every test is (e.g. how many minutes passed since the source file was last modified).

Add "currently running test file/line/name" members into the same structure. These values would be set/unset by the test runner. assert then could inspect them and show more detailed error message.  This is above stack tracing feature: stack trace is rather clumsy to parse.

Document how can one replace the default test runner.  (Modifying stdlib is IMHO valid choice.)

This is related to https://github.com/zig-lang/zig/issues/531#issuecomment-339957853. If one can discover at runtime whether tests were enabled or not, he may then invoke/not try to invoke the most recent ones.

Yet more ambitious testing mechanism may ensure that tests do not exceed certain time limit. (If they do there's grave performance regression.) It may look like:
test "test with default timeout, say 20 milliseconds"
{
  ...
}

test(100) "test which is expected take no more than 100 milliseconds"
{
  ...
}

If a test exceeds the timeout test runner may execute it few more times, to eliminate influence of imprecise time measuring (could be ~15 milliseconds on Windows) and influence of OS activities.

Since Zig allows mixed code with C it may be also desirable to allow to register/call tests written in C.
GCC/clang allows to use __attribute__(constructor) to implement testing mechanism e.g. as:
#ifdef TESTS
TEST()
{
  assert(2 + 2 == 4);
}
#endif

(where the TEST() is macro trickery.)
If the suggestion here ( https://github.com/zig-lang/zig/issues/531#issuecomment-339957853 ) is implemented the Zig compilation mode flags (debug/release/tests/...) may be also "exported" to C as preprocessor definitions.


phantomjs crash dump

Hi,
I use phantomjs through selenium, and have very often a phantomjs crash, after about 15-30 minutes (never on the same test).
Here's the crash dump : https://www.dropbox.com/s/687bhg6tr6sfgy6/27ec3fd2-a04b-d97f-604cd384-565a9021.dmp
Can you tell me what is the problem ?
Hope it can help you enhance phantomjs.

Please upgrade to PhantomJS 2. 1.9.x is no longer supported, and known to have many crasher bugs that are fixed in 2 version.


How do I use my own back/next/finish buttons?

Simply setting the "active" state of the parent component does not change the appearance of the steppers. How can I implement this?

thanks for comment, i will update the logic the package for support this pull request

Is there any update on this one?

Is there any update on this one?

It looks like this issue is fixed: https://github.com/danilrafiqi/react-native-stepper-ui/pull/8

This issue is fixed by #8 but this update are not on npm.
Is it possible to push a new package on npm please ? (see https://www.npmjs.com/package/react-native-stepper-ui)

Still not fix. i have customed the next and back buttons, the step content has changed (pass), but the stepper has not changed. And only stay at the step 1, although the "active" props has changed. Can you help me fix this bug? Thanks


not to be bounded to window by default

Hi all,
In my scenario where one of my client has different version of Underscore and my library is using different version of underscore.
We ended up overriding our window._
Is there a way to source underscore and not to be bounded to window. Instead bind to the reference provided.
Kind regards,
Phani.

There are several ways you can address this:

You can build your application using a build tool such as browserify or esperanto, which will respect the version ranges you set
you can load the multiple versions of underscore via a script tag and call _.noConflict()

Assuming you load 3 underscore versions
// The last loaded underscore version
var _3 = _.noConflict();
// The second loaded version
var _2 = _.noConflict();
// The first one
var _1 = _;

Thank you.


Docupdate

Coverage remained the same at 100.0% when pulling d0d3a9262b56141f8548f9be9aa3463dd0189659 on docupdate into 8f40b4f907173152e447c2179346dd970f9dc23b on develop.

Codecov Report

Merging #2 into develop will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           develop     #2   +/-   ##
======================================
  Coverage      100%   100%
======================================
  Files            2      2
  Lines           24     24
  Branches         1      1
======================================
  Hits            24     24

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 8f40b4f...d0d3a92. Read the comment docs.

Coverage remained the same at 100.0% when pulling 18a89bcee92b0cc73281588b7bed72b0578b6119 on docupdate into 8f40b4f907173152e447c2179346dd970f9dc23b on develop.

Coverage remained the same at 100.0% when pulling d2500433a969f1e7e62f6dbb9e824276eb72bf29 on docupdate into 353dba98acf460c6d9482bd31398a85f8dc320eb on develop.


Function pointers show an unnecessary diff

https://go.dev/play/p/zyQHGQo293f
package main

import (
	"fmt"
	"github.com/google/go-cmp/cmp"
)

func main() {
	x := func() {}
	y := x

	fmt.Println("Hello, 世界", cmp.Diff(x, y))
}

I would expect there to be no diff - but the output is
Hello, 世界   (func())(
- 	⟪0x50f0e0⟫,
+ 	⟪0x50f0e0⟫,
  )

This might be a go-ism since reflect.DeepEqual(x, y) is false
I'm guessing functions aren't comparable


improve the README

#562  👈
master

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @rphmeier and the rest of your teammates on  Graphite

Merge activity

Nov 12, 1:02 AM EST: A user started a stack merge that includes this pull request via Graphite.


MerkleExecute stage halts with no error when syncing from snapshot

Describe the bug
My reth docker container halts with no error or warnings when syncing from a snapshot on stage 8/12 MerkleExecute.
I've noticed that it always takes roughly the same amount of time (~10 minutes from getting the first peer) for the container to crash.  Have let it re-run multiple times, only to see the same result.
Originally encountered the bug on ghcr.io/paradigmxyz/reth:v0.2.0-beta.2, after updating to ghcr.io/paradigmxyz/reth:v0.2.0-beta.3 it remains.
I'm running in proxmox on an x86 centos LXC.  Sufficient compute & storage resources (32 threadripper cores, 10GB memory, 3TB NVME).  The consensus node (lighthouse) seems fine and isn't reporting any errors aside from a few Head is Optimistic warnings.
Steps to reproduce

Download and extract the snapshot from https://snapshots.merkle.io/
Start reth (docker compose file below) with the snapshot's db and static_files directories.
Wait ~10 minutes for reth to crash, examine the /home/ubuntu/logs/reth/mainnet/reth.log file.

version: "2.2"

name: reth-lighthouse
services:
  reth:
    # https://github.com/paradigmxyz/reth/blob/main/etc/docker-compose.yml
    image: ghcr.io/paradigmxyz/reth:v0.2.0-beta.3
    container_name: reth
    volumes:
      - /home/ubuntu/datadir/reth:/mainnet_data
      - /home/ubuntu/logs/reth:/logs
      - /home/ubuntu/secrets/jwt.hex:/jwt.hex
    ports:
      - 9001:9001
      - 30303:30303
      - 30303:30303/udp
      - 8545:8545
    command: >
      node
      --metrics <IP_ADDRESS>:9001
      --authrpc.jwtsecret jwt.hex
      --authrpc.addr <IP_ADDRESS>
      --authrpc.port 8551
      --datadir /mainnet_data
      --http --http.addr <IP_ADDRESS> --http.port 8545
      --http.api "eth,web3,net,txpool,debug,trace,rpc"
      --log.file.directory /logs
    restart: unless-stopped

  lighthouse:
    # https://github.com/paradigmxyz/reth/blob/main/etc/lighthouse.yml
    image: sigp/lighthouse:latest
    container_name: lighthouse
    depends_on:
      - reth
    volumes:
      - /home/ubuntu/secrets/jwt.hex:/jwt.hex
      - /home/ubuntu/datadir/lighthouse:/datadir
    ports:
      - 9000:9000/tcp
      - 9000:9000/udp
    command: >
      lighthouse
      bn
      --network mainnet
      --execution-endpoint http://reth:8551
      --execution-jwt jwt.hex
      --checkpoint-sync-url https://mainnet.checkpoint.sigp.io
      --datadir /datadir
      --disable-deposit-contract-sync
    restart: unless-stopped

reth.log
Node logs
Full log file attached in reproduction

2024-03-21T17:30:03.571463Z  INFO reth::cli: Status connected_peers=10 freelist=1340472 stage=MerkleExecute checkpoint=19462840 target=19479486 stage_progress=100.00%
2024-03-21T17:30:13.103004Z DEBUG consensus::engine::hooks: Next hook is not ready hook="StaticFile"
2024-03-21T17:30:13.103030Z  INFO reth_node_core::events::node: Forkchoice updated head_block_hash=0x9d75d9b9331b62b98648fdfa956dd7d2c5480adaeecc4fd7e00ea80551a9e6fd safe_block_hash=0xf9cc781e056884034707aa48e8e0c874c5070107e3439fd471bb364a894b7559 finalized_block_hash=0xe5016e38f47fea61df0f1b1561e7bea60bdca0a9455760425522e8895446d014 status=Syncing
2024-03-21T17:30:21.257158Z DEBUG net::session: failed to receive message err=disconnected remote_peer_id=0xbac1fc94cb5f829c11cb2f4bc426138b02364229dfd4ec833c5dcb9165d6cce6896f07f93753ed9938830d5ad33d2d96a34c39df428e35936150a4a1262a6acc
2024-03-21T17:30:24.574578Z DEBUG consensus::engine::hooks: Next hook is not ready hook="StaticFile"
2024-03-21T17:30:24.574613Z  INFO reth_node_core::events::node: Forkchoice updated head_block_hash=0x7f0a1adad3410f8d6066a85b246033d7fc406e59245869d1de4220c7d33ed8f5 safe_block_hash=0xf9cc781e056884034707aa48e8e0c874c5070107e3439fd471bb364a894b7559 finalized_block_hash=0xe5016e38f47fea61df0f1b1561e7bea60bdca0a9455760425522e8895446d014 status=Syncing
2024-03-21T17:30:27.391288Z DEBUG net::session: failed to receive message err=disconnected remote_peer_id=0xa878bff8361ceada99b843e683a91c4bfe3a95893981e668be865d8a942201e8050a96535ae3a0a1051dec371267b7f5fc3f05ce747731a0e7a2dccdfc7344ed
2024-03-21T17:30:28.571309Z  INFO reth::cli: Status connected_peers=10 freelist=1340472 stage=MerkleExecute checkpoint=19462840 target=19479486 stage_progress=100.00%
2024-03-21T17:30:31.683067Z DEBUG net::session: failed to receive message err=disconnected remote_peer_id=0xbe090d1abf8c6da2e1bd62ccae26ef07595646c641c3707e5fe21a197ef9dd204b315c1334257262fa805ceb923249c037e35479ae87a1da0eac1503ceff9296
2024-03-21T17:30:37.117969Z DEBUG consensus::engine::hooks: Next hook is not ready hook="StaticFile"
2024-03-21T17:30:37.117998Z  INFO reth_node_core::events::node: Forkchoice updated head_block_hash=0x29fc92d10dc82b86fb5fbea8ef8ce381d19aed92d8644c7c4c1e09aade070b07 safe_block_hash=0xf9cc781e056884034707aa48e8e0c874c5070107e3439fd471bb364a894b7559 finalized_block_hash=0xe5016e38f47fea61df0f1b1561e7bea60bdca0a9455760425522e8895446d014 status=Syncing
2024-03-21T17:30:38.874402Z DEBUG net::session: failed to receive message err=disconnected remote_peer_id=0xfd5907b646accb4b09fbdb816c40e27d64d0f1555117b1b280a9114c3cae30b44bddd68f251ee213c9d82c494ff3161ce86447904b5c92d2bf98b81d8b94c4fc
2024-03-21T17:30:39.360469Z DEBUG net::session: failed to receive message err=disconnected remote_peer_id=0x1cf7db662897dcd2af946fdd47e5b6d8273846e6a6bef4f1f3ec1f2b38c77c6a2382fb9409e43681c15cc043298d9476f2faa14c1adb805c15559e616ff4c361
2024-03-21T17:30:40.667453Z DEBUG net::session: failed to receive message err=disconnected remote_peer_id=0xfbd5210864847129dd2417dfa8e128f22925c17cd4280c156ec69d30d0df2b5c7add03f474f81e0782b2695b1577cdd1425ea479e9e8c7d5eeb03629da6b5b8f
2024-03-21T17:30:43.488305Z DEBUG net::session: failed to receive message err=disconnected remote_peer_id=0xe3176bc8ce8e78d0d3c329b51523b176153728258724bba6377231f78e6f085d5486b2bf4b15e51ce6fd5f1beb5abbaa631124f3bb05cd37a274296961f5ca23
2024-03-21T17:30:49.179546Z DEBUG consensus::engine::hooks: Next hook is not ready hook="StaticFile"
2024-03-21T17:30:49.179563Z  INFO reth_node_core::events::node: Forkchoice updated head_block_hash=0x3971ae06865755cd389784ea7c83f2b082dabf906f3fac826051cf29d377284a safe_block_hash=0xf9cc781e056884034707aa48e8e0c874c5070107e3439fd471bb364a894b7559 finalized_block_hash=0xe5016e38f47fea61df0f1b1561e7bea60bdca0a9455760425522e8895446d014 status=Syncing
2024-03-21T17:30:50.569238Z DEBUG igd_next::aio::tokio: sending broadcast request to: <IP_ADDRESS>:1900 on interface: Ok(<IP_ADDRESS>:43522)
2024-03-21T17:30:53.571809Z  INFO reth::cli: Status connected_peers=9 freelist=1340472 stage=MerkleExecute checkpoint=19462840 target=19479486 stage_progress=100.00%
2024-03-21T17:31:00.570503Z DEBUG net::nat: Failed to resolve external IP via UPnP: failed to find gateway err=IO error: search timed out
2024-03-21T17:31:00.682181Z DEBUG consensus::engine::hooks: Next hook is not ready hook="StaticFile"
2024-03-21T17:31:00.682204Z  INFO reth_node_core::events::node: Forkchoice updated head_block_hash=0x87f12fad8ad07bb4ea5ae4638e146d42efd71aaaf3e01972201cd9bfdc2b330f safe_block_hash=0xf9cc781e056884034707aa48e8e0c874c5070107e3439fd471bb364a894b7559 finalized_block_hash=0xe5016e38f47fea61df0f1b1561e7bea60bdca0a9455760425522e8895446d014 status=Syncing

Platform(s)
Linux (x86)
What version/commit are you on?
reth Version: 0.2.0-beta.3
Commit SHA: 56d688b
Build Timestamp: 2024-03-18T13:08:51.400134562Z
Build Features: jemalloc
Build Profile: maxperf
(ghcr.io/paradigmxyz/reth:v0.2.0-beta.3)
What database version are you on?
Current database version: 2
Local database is uninitialized
(ghcr.io/paradigmxyz/reth:v0.2.0-beta.3)
What type of node are you running?
Archive (default)
What prune config do you use, if any?
N/A
If you've built Reth from source, provide the full command you used
No response
Code of Conduct

[X] I agree to follow the Code of Conduct

It looks like the container runs out of memory. Do you have our Grafana dashboard installed? If not, can you please do it and then show the "Jemalloc Memory" chart?

I think you're right — looks like Proxmox reports the container nearly running out of memory.
Allocated another 10 GB to the LXC, I'll report back if that helps.  Will setup Grafana in the meantime in case it doesn't for more diagnostics.

Looks like it was a memory issue - thanks!
The Reth docker container peaked at 9.36GB memory during the MerkleExecute stage.  It's probably worthwhile to update the reth booklet to denote this minimum requirement, since currently it specifies 8GB+ for full and archival nodes.  Is this incorrect, or was I doing something incorrectly that increased the memory cost?

I'm not running containers, have 32GB of RAM shared between reth v0.2.0-beta.5 and Lighthouse v5.1.3 and I am running into a similar issue where, after starting from merkle.io snapshot, the node just keeps looping pipeline executions, without crashing or visible errors. I have described my issue in more detail here https://github.com/paradigmxyz/reth/discussions/7472#discussioncomment-9063762.
Another node with the same specs was brought up from genesis and didn't show this behavior. So, what's different with the snapshot? And why is it only triggered after the first pipeline complete run (computing the snapshot)?

I'm not running containers, have 32GB of RAM shared between reth v0.2.0-beta.5 and Lighthouse v5.1.3 and I am running into a similar issue where, after starting from merkle.io snapshot, the node just keeps looping pipeline executions, without crashing or visible errors. I have described my issue in more detail here #7472 (comment). Another node with the same specs was brought up from genesis and didn't show this behavior. So, what's different with the snapshot? And why is it only triggered after the first pipeline complete run (computing the snapshot)?

I think these are two separate issues - the pipeline looping is likely an unfortunate side effect of our sync code when combined with EBS. This issue (#7282) is related to OOMs, which we fixed here:
https://github.com/paradigmxyz/reth/pull/7364
we provided a config change recommendation in release notes for those who upgraded from earlier versions, since this was ultimately a configuration issue:
https://github.com/paradigmxyz/reth/releases/tag/v0.2.0-beta.5
@pires do you mind converting the discussion thread into a github issue? I'd like to close this issue since it's solved IMO. We usually use issues to keep track of bugs, and try to use discussion threads for general questions.

I don't mind at all. I just commented here because the issue is still open. I will reply in the discussion and convert it to an issue. Thank you!

You're right — I should probably have closed the issue.  Thanks for the reminder!


Add Scheduler to Principals

Resolves https://github.com/kevinslin/cdk-constants/issues/30

@kevinslin Any chance to get that merged please ;) ?

merged! thanks for the contribution


Does the -l option make sense after initial invocations?

After the initial build directory is created, the /conf/bblayers.conf controls the layers used in the environment.  After the initial invocation, does it make sense to filter the -l option?

This really seems like a corner case.  If the user wants to specify a new layer directory, the script should still keep running correctly, so close this in favor of, "the user knows best".


[Backport 1.x] Bugfix: Allow opensearch.bat file and opensearch-env.bat files to run when install path includes a space.

Description
Backport #4362 1.x
Issues Resolved
#4362
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[x] Commits are signed per the DCO using --signoff
[x] Commit changes are listed out in CHANGELOG.md file (See: Changelog)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@peterzhuamazon we need https://github.com/opensearch-project/OpenSearch/pull/4382 to get in :(


get_errors() complaining when doing an error estimate

Hi,
I do the fit and then I want to get errors on my free parameters but when I run get_errors function it crashes with this message:
CannotComputeErrors                       Traceback (most recent call last)
 in ()
8 jl2.fit()
9
---> 10 jl2.get_errors()
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/threeML-0.3.2-py2.7.egg/threeML/classicMLE/joint_likelihood.pyc in get_errors(self, quiet)
314         assert self._current_minimum is not None, "You have to run the .fit method before calling errors."
315
--> 316         errors = self._minimizer.get_errors()
317
318         # Set the parameters back to the best fit value
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/threeML-0.3.2-py2.7.egg/threeML/minimizer/minuit_minimizer.pyc in get_errors(self)
350
351         if not self._migrad_has_converged():
--> 352             raise CannotComputeErrors("MIGRAD results not valid, cannot compute errors. Did you run the fit first ?")
353
354         try:
CannotComputeErrors: MIGRAD results not valid, cannot compute errors. Did you run the fit first ?

Hi,
this usually happens when there are one or more unconstrained parameters in the fit.
Can you post the entire output from your call to jl2.fit()?

Here it is:
Best fit values:
Name	Best fit value	Unit
0	trigger.spectrum.main.composite.phoindex_3	1.185 +/- 0.011
1	trigger.spectrum.main.composite.norm_3	0.946 +/- 0.006	keV / (cm2 s)
2	trigger.spectrum.main.composite.kt_4	1.10 +/- 0.08	keV
3	trigger.spectrum.main.composite.norm_4	0.0091 +/- 0.0018	keV / (cm2 s)
NOTE: errors on parameters are approximate. Use get_errors().
Correlation matrix:
1.00	0.05	0.88	0.91
0.05	1.00	0.16	-0.30
0.88	0.16	1.00	0.84
0.91	-0.30	0.84	1.00
Values of -log(likelihood) at the minimum:
-log(likelihood)
total	7075.536127
xrt	7075.536127
I also fitted this spectrum with Bayesian fitting and it gave the same result as ML but in ML it cannot compute errors.

ok, so there doesn't seem to be anything wrong with the fit.
Can you attach the data files, so I can reproduce the problem and look into it?

Here they are.
Archive.zip

@Vlasticak : I cannot reproduce your problem. This is what I did:
from threeML import *
og = OGIPLike("test", "dio1.pha", "dio1_bkg.pha", "swxwt0to2s6_20110101v015.rmf","dio1.arf")
sp = Powerlaw() + Blackbody()
trigger = PointSource("trigger", 0.0, 0.0, sp)
model = Model(trigger)
data = DataList(og)
jl = JointLikelihood(model, data)
jl.fit()

with these results:
Best fit values:

 #                    Name                   Best fit value        Unit
--- --------------------------------------- ---------------- ----------------
  0     trigger.spectrum.main.composite.K_1  0.422 +/- 0.006  1 / (cm2 keV s)
  1 trigger.spectrum.main.composite.index_1 -0.718 +/- 0.009
  2     trigger.spectrum.main.composite.K_2    1.04 +/- 0.04 1 / (cm2 keV3 s)
  3    trigger.spectrum.main.composite.kT_2  0.655 +/- 0.007              keV

NOTE: errors on parameters are approximate. Use get_errors().

Correlation matrix:

 1.00 -0.86 -0.71  0.39
-0.86  1.00  0.83 -0.67
-0.71  0.83  1.00 -0.90
 0.39 -0.67 -0.90  1.00

Values of -log(likelihood) at the minimum:

       -log(likelihood)
total       6962.883343
test        6962.883343

Then I tried to compute the errors, and it worked:
jl.get_errors()

                                      Name                      Value  \
0      trigger.spectrum.main.composite.K_1        0.422 -0.006 +0.006
1  trigger.spectrum.main.composite.index_1       -0.718 -0.009 +0.009
2      trigger.spectrum.main.composite.K_2           1.04 -0.04 +0.04
3     trigger.spectrum.main.composite.kT_2  0.65469 -0.00015 +0.00015

I see from the log you posted earlier that your parameters are called differently, like trigger.spectrum.main.composite.phoindex_3 instead of mine  trigger.spectrum.main.composite.K_1. Did you have more than one source in your model?

You are not using the same model as I am. It is XSPEC model and the models are: phabszphabspow and phabszphabs(pow+zbb). I am traveling until Tuesday and don't have laptop with me and don't remember all parameters od phabs and zphabs I just remember that redshirt is 0.677.

@Vlasticak When you have time can you give me the details of your model so I can reproduce the problem?
Thanks!

Hi,
sorry for not addressing this sooner.
`xspec_abund('angr')
spectral_model =  XS_phabs()* XS_zphabs() * XS_powerlaw()
spectral_model.nh_1=0.0148
spectral_model.nh_1.fix = True
spectral_model.nh_2=0.194134
spectral_model.nh_2.fix = True
spectral_model.redshift_2 = 0.677
spectral_model.redshift_2.fix =True
spectral_model2 =  XS_phabs()* XS_zphabs()*(XS_powerlaw()+XS_bbody())
spectral_model2.nh_1=0.0148
spectral_model2.nh_1.fix = True
spectral_model2.nh_2=0.194134
spectral_model2.nh_2.fix = True
spectral_model2.redshift_2 = 0.677
spectral_model2.redshift_2.fix =True
`

I still cannot reproduce your error, but I am guessing a lot of things (the channels you use, the minimizer, and so on).
Can you please post a script that does everything you do (from importing threeML to the error), so that I can do exactly as you do from start to finish?
Thanks,

%matplotlib notebook
import os
os.environ["MKL_NUM_THREADS"] = '1'
os.environ["NUMEXPR_NUM_THREADS"] = '1'
from threeML import *
xrt = OGIPLike('xrt',pha_file='dio1.pha')
xspec_abund('angr')
spectral_model =  XS_phabs()* XS_zphabs() * XS_powerlaw()
spectral_model.nh_1=0.0148
spectral_model.nh_1.fix = True
spectral_model.nh_2=0.194134
spectral_model.nh_2.fix = True
spectral_model.redshift_2 = 0.677
spectral_model.redshift_2.fix =True
spectral_model2 =  XS_phabs()* XS_zphabs()*(XS_powerlaw()+XS_bbody())
spectral_model2.nh_1=0.0148
spectral_model2.nh_1.fix = True
spectral_model2.nh_2=0.194134
spectral_model2.nh_2.fix = True
spectral_model2.redshift_2 = 0.677
spectral_model2.redshift_2.fix =True
ptsrc = PointSource('trigger',1,1,
spectral_shape=spectral_model)
model = Model(ptsrc)
data = DataList(xrt)
jl = JointLikelihood(model, data, verbose=False)
jl.fit()
data = DataList(xrt)
ptsrc2 = PointSource('trigger',1,1,spectral_shape=spectral_model2)
model2 = Model(ptsrc2)
jl2 = JointLikelihood(model2, data, verbose=False)
jl2.fit()
jl2.get_errors()


How to convert model trained with QuantNoise to quantized model runnable on CPU only?

What is your question?
I successfully trained a translation model with scalar quantization and I am wondering how to convert the fake INT8 weights to regular INT8 weights?
When trying to use the model on CPU (without CUDA) I am getting CUDA errors.
Any insight is greatly welcome.
Code
Generation
#!/bin/bash
checkpoint=$1
fairseq-generate binarized --gen-subset test \
  --source-lang src --target-lang tgt  --cpu \
  --path $checkpoint --beam 1 --nbest 1

this results in this exception
 File "/home/memsource/miniconda3/envs/robo/lib/python3.7/site-packages/fairseq/tasks/fairseq_task.py", line 434, in inference_step
    models, sample, prefix_tokens=prefix_tokens, constraints=constraints
  File "/home/memsource/miniconda3/envs/robo/lib/python3.7/site-packages/torch/autograd/grad_mode.py", line 28, in decorate_context
    return func(*args, **kwargs)
  File "/home/memsource/miniconda3/envs/robo/lib/python3.7/site-packages/fairseq/sequence_generator.py", line 177, in generate
    return self._generate(sample, **kwargs)
  File "/home/memsource/miniconda3/envs/robo/lib/python3.7/site-packages/fairseq/sequence_generator.py", line 237, in _generate
    encoder_outs = self.model.forward_encoder(net_input)
  File "/home/memsource/miniconda3/envs/robo/lib/python3.7/site-packages/fairseq/sequence_generator.py", line 806, in forward_encoder
    return [model.encoder.forward_torchscript(net_input) for model in self.models]
  File "/home/memsource/miniconda3/envs/robo/lib/python3.7/site-packages/fairseq/sequence_generator.py", line 806, in <listcomp>
    return [model.encoder.forward_torchscript(net_input) for model in self.models]
  File "/home/memsource/miniconda3/envs/robo/lib/python3.7/site-packages/fairseq/models/fairseq_encoder.py", line 55, in forward_torchscript
    return self.forward_non_torchscript(net_input)
  File "/home/memsource/miniconda3/envs/robo/lib/python3.7/site-packages/fairseq/models/fairseq_encoder.py", line 62, in forward_non_torchscript
    return self.forward(**encoder_input)
  File "/home/memsource/miniconda3/envs/robo/lib/python3.7/site-packages/fairseq/models/transformer.py", line 413, in forward
    x, encoder_embedding = self.forward_embedding(src_tokens, token_embeddings)
  File "/home/memsource/miniconda3/envs/robo/lib/python3.7/site-packages/fairseq/models/transformer.py", line 372, in forward_embedding
    token_embedding = self.embed_tokens(src_tokens)
  File "/home/memsource/miniconda3/envs/robo/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1120, in _call_impl
    result = forward_call(*input, **kwargs)
  File "/home/memsource/miniconda3/envs/robo/lib/python3.7/site-packages/fairseq/modules/quantization/scalar/modules/qemb.py", line 106, in forward
    zero_point=self.zero_point,
  File "/home/memsource/miniconda3/envs/robo/lib/python3.7/site-packages/fairseq/modules/quantization/scalar/ops.py", line 11, in emulate_int
    return q(w, scale=scale, zero_point=zero_point)
  File "/home/memsource/miniconda3/envs/robo/lib/python3.7/site-packages/fairseq/modules/quantization/scalar/ops.py", line 25, in emulate_int8_histogram
    scale = scale.cuda().type_as(w)
  File "/home/memsource/miniconda3/envs/robo/lib/python3.7/site-packages/torch/cuda/__init__.py", line 208, in _lazy_init
    raise AssertionError("Torch not compiled with CUDA enabled")
AssertionError: Torch not compiled with CUDA enabled

What have you tried?
I then tried to
1)
Forcing the model into inference and saving it:
@dataclass
class NoiseConfig:
    quant_noise_scalar = 1.0

 checkpoint = torch.load(args.checkpoint, map_location=torch.device('cpu'))

model = quantization_utils.quantize_model_scalar(model, NoiseConfig())
model.eval()
# is there a simpler way?
checkpoint["model"] = model.state_dict()
torch.save(checkpoint, args.out)

this reduces the model size on disk, but there was no change.
2)
Quantizing the model with torch directly
    model_int8 = torch.quantization.quantize_dynamic(
    model.eval(),  # the original model
    {torch.nn.Linear},  # a set of layers to dynamically quantize
    dtype=torch.qint8)

Running inference then yielded unexpected items in state dict:
Traceback (most recent call last):
  File "/home/memsource/miniconda3/envs/robo/bin/fairseq-generate", line 8, in <module>
    sys.exit(cli_main())
  File "/home/memsource/miniconda3/envs/robo/lib/python3.7/site-packages/fairseq_cli/generate.py", line 379, in cli_main
    main(args)
  File "/home/memsource/miniconda3/envs/robo/lib/python3.7/site-packages/fairseq_cli/generate.py", line 41, in main
    return _main(args, sys.stdout)
  File "/home/memsource/miniconda3/envs/robo/lib/python3.7/site-packages/fairseq_cli/generate.py", line 94, in _main
    num_shards=args.checkpoint_shard_count,
  File "/home/memsource/miniconda3/envs/robo/lib/python3.7/site-packages/fairseq/checkpoint_utils.py", line 256, in load_model_ensemble
    num_shards,
  File "/home/memsource/miniconda3/envs/robo/lib/python3.7/site-packages/fairseq/checkpoint_utils.py", line 287, in load_model_ensemble_and_task
    model.load_state_dict(state["model"], strict=strict, args=args)
  File "/home/memsource/miniconda3/envs/robo/lib/python3.7/site-packages/fairseq/models/fairseq_model.py", line 99, in load_state_dict
    return super().load_state_dict(new_state_dict, strict)
  File "/home/memsource/miniconda3/envs/robo/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1483, in load_state_dict
    self.__class__.__name__, "\n\t".join(error_msgs)))
RuntimeError: Error(s) in loading state_dict for TransformerModel:
	Unexpected key(s) in state_dict: "decoder.output_projection.scale", "decoder.output_projection.zero_point", "decoder.output_projection._packed_params.dtype", "decoder.output_projection._packed_params._packed_params".

Torch FX quantization
    qconfig_dict = {"": torch.quantization.default_dynamic_qconfig}
    # prepare
    model_prepared = quantize_fx.prepare_fx(model, qconfig_dict)
    # no calibration needed when we only have dynamici/weight_only quantization
    # quantize
    model_quantized = quantize_fx.convert_fx(model_prepared)

Raised exception
  File "/home/memsource/miniconda3/envs/robo/lib/python3.7/site-packages/torch/fx/_symbolic_trace.py", line 381, in path_of_module
    raise NameError('module is not installed as a submodule')

What's your environment?

fairseq 0.10.2
PyTorch 1.10.0
OS Ubuntu 20.04
How you installed fairseq pip
Python version: 3.7
CUDA/cuDNN N/A:
transformer_wmt_en_de_big

Antistale comment...

Hi @stolam I have also tried iPQ, but got the same problem that the quantized model cannot run only on CPU.
I also tried torch dynamic_quantization, but encounter a lot of bugs in torch/nn/functional.py.
I am wondering if you have got a good quantization method that can run in CPU?