Kivy on debian-testing under python3 not working

debian-testing, python3.5.2, no pygame, GNOME Shell 3.22.2
following the instructions tried to install from stable repo:
$ sudo apt install python3-kivy
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 python3-kivy : Depends: python3-kivy-bin (= 1.9.1-2~stable0+201608272110~pkg135~ubuntu14.04.1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

$ sudo apt install python-kivy
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 python-kivy : Depends: python-gst0.10 but it is not installable
E: Unable to correct problems, you have held broken packages.

same for daily repo under python3
i've managed to install daily kivy build on python2
then tried to run a kivy app:
> python main.py
[WARNING] [Config      ] Older configuration version detected (14 instead of 16)
[WARNING] [Config      ] Upgrading configuration in progress.
[INFO   ] [Logger      ] Record log in /home/laerus/.kivy/logs/kivy_16-11-20_24.txt
[INFO   ] [Kivy        ] v1.9.2-dev0
[INFO   ] [Python      ] v2.7.12+ (default, Sep  1 2016, 20:27:38)
[GCC 6.2.0 20160927]
[INFO   ] [Factory     ] 193 symbols loaded
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_gif, img_sdl2, img_pil (img_ffpyplayer ignored)
[INFO   ] [Text        ] Provider: sdl2
[INFO   ] Building Custom Calendar.
[INFO   ] Building App
[INFO   ] [OSC         ] using <multiprocessing> for socket
[INFO   ] [Window      ] Provider: sdl2(['window_egl_rpi'] ignored)
[CRITICAL] [Window      ] Unable to find any valuable Window provider.
egl_rpi - ImportError: cannot import name bcm
  File "/usr/lib/python2.7/dist-packages/kivy/core/__init__.py", line 59, in core_select_lib
    fromlist=[modulename], level=0)
  File "/usr/lib/python2.7/dist-packages/kivy/core/window/window_egl_rpi.py", line 12, in <module>
    from kivy.lib.vidcore_lite import bcm, egl

sdl2 - RuntimeError: No available video device
  File "/usr/lib/python2.7/dist-packages/kivy/core/__init__.py", line 67, in core_select_lib
    cls = cls()
  File "/usr/lib/python2.7/dist-packages/kivy/core/window/window_sdl2.py", line 139, in __init__
    super(WindowSDL, self).__init__()
  File "/usr/lib/python2.7/dist-packages/kivy/core/window/__init__.py", line 789, in __init__
    self.create_window()
  File "/usr/lib/python2.7/dist-packages/kivy/core/window/window_sdl2.py", line 262, in create_window
    self.fullscreen, resizable, state)
  File "_window_sdl2.pyx", line 79, in kivy.core.window._window_sdl2._WindowSDL2Storage.setup_window (kivy/core/window/_window_sdl2.c:1809)
  File "_window_sdl2.pyx", line 54, in kivy.core.window._window_sdl2._WindowSDL2Storage.die (kivy/core/window/_window_sdl2.c:1459)

x11 - ImportError: No module named window_x11
  File "/usr/lib/python2.7/dist-packages/kivy/core/__init__.py", line 59, in core_select_lib
    fromlist=[modulename], level=0)

[CRITICAL] [App         ] Unable to get a Window, abort.

notes:
gnome doesn't seem to be under X11 anymore,
i've tried to run kivy on a different machine under weston-wayland and i had the same problem as described here managed to solve it by instaling pygame (doesn't seem to work anymore)
ofc i've installed all sdl2, egl related packages on system
(maybe there is something missing from the docs?)
please help!
edit:
> python
Python 2.7.12+ (default, Sep  1 2016, 20:27:38)
[GCC 6.2.0 20160927] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> from kivy.core.window import Window
[INFO   ] [Logger      ] Record log in /home/laerus/.kivy/logs/kivy_16-11-20_30.txt
[INFO   ] [Kivy        ] v1.9.2-dev0
[INFO   ] [Python      ] v2.7.12+ (default, Sep  1 2016, 20:27:38)
[GCC 6.2.0 20160927]
[INFO   ] [Factory     ] 193 symbols loaded
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_gif, img_sdl2, img_pil (img_ffpyplayer ignored)
[INFO   ] [OSC         ] using <multiprocessing> for socket
[INFO   ] [Window      ] Provider: sdl2(['window_egl_rpi'] ignored)
[CRITICAL] [Window      ] Unable to find any valuable Window provider.
egl_rpi - ImportError: cannot import name bcm
  File "/usr/lib/python2.7/dist-packages/kivy/core/__init__.py", line 59, in core_select_lib
    fromlist=[modulename], level=0)
  File "/usr/lib/python2.7/dist-packages/kivy/core/window/window_egl_rpi.py", line 12, in <module>
    from kivy.lib.vidcore_lite import bcm, egl

sdl2 - RuntimeError: No available video device
  File "/usr/lib/python2.7/dist-packages/kivy/core/__init__.py", line 67, in core_select_lib
    cls = cls()
  File "/usr/lib/python2.7/dist-packages/kivy/core/window/window_sdl2.py", line 139, in __init__
    super(WindowSDL, self).__init__()
  File "/usr/lib/python2.7/dist-packages/kivy/core/window/__init__.py", line 789, in __init__
    self.create_window()
  File "/usr/lib/python2.7/dist-packages/kivy/core/window/window_sdl2.py", line 262, in create_window
    self.fullscreen, resizable, state)
  File "_window_sdl2.pyx", line 79, in kivy.core.window._window_sdl2._WindowSDL2Storage.setup_window (kivy/core/window/_window_sdl2.c:1809)
  File "_window_sdl2.pyx", line 54, in kivy.core.window._window_sdl2._WindowSDL2Storage.die (kivy/core/window/_window_sdl2.c:1459)

x11 - ImportError: No module named window_x11
  File "/usr/lib/python2.7/dist-packages/kivy/core/__init__.py", line 59, in core_select_lib
    fromlist=[modulename], level=0)

running with nvidia drivers, any chance this is the root of the problem?

This seems to be a debian nvidia drivers problem, i returned to nouveau and the last bug doesn't show up. Still though, kivy cannot install under python3.5 on debian-tesitng and that's the only version of python3.

it's not an nvidia problem, after installing some pkg the problem started appearing again, it  has something to do with libx11 related packages or how kivy searches for a window provider. This is an issue on kivy side.

also kivy managed to segfault on Weston.

@laerus I have encountered something like this BCM issue before; but basically it was resolved by a clean re-install. Which means either something is going wrong with the Kivy install or something is going wrong with a different package and Kivy Highlights the issue. If I remember correctly the issue was tied to Nvidia Prime and so I had to make sure that the Nvidia card was active; not the Intel card.
As for Kivy not being install-able due to a dependency on python-gst-0.10; that problem is being fixed right now. I just did a PR to remove pygst aka python-gst; and so only a working version of gStreamer should be needed and the version is likely gStreamer 1.8 +.
So, can you start with a clean install of Debian testing and then install Kivy from the Kivy repository on Github; and install all of the dependencies but leave out python-gst. Also it should be install-able in Python3; although I have not tested.

Also the segfault did you mean Wayland?

Hey @FeralBytes, yes weston is the reference wayland compositor and a package under debian-testing.
thanks for your response, i will try for a clean kivy install under python3, gnome and see how it'll go.

@laerus Any luck?

tried again from the debian testing repo with python3-kivy Version: 1.9.1-1
> python3 main.py
[WARNING] [Config      ] Older configuration version detected (0 instead of 14)
[WARNING] [Config      ] Upgrading configuration in progress.
[INFO   ] [Logger      ] Record log in /home/laerus/.kivy/logs/kivy_17-01-17_0.txt
[INFO   ] [Kivy        ] v1.9.1
[INFO   ] [Python      ] v3.5.3rc1 (default, Jan  3 2017, 04:40:57)
[GCC 6.3.0 20161229]
[INFO   ] [Factory     ] 179 symbols loaded
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_gif, img_sdl2, img_pil (img_ffpyplayer ignored)
[INFO   ] [Text        ] Provider: sdl2
##*** Currently in: /home/laerus/Dropbox/src/organCalendar
[INFO   ] Building Custom Calendar.
[INFO   ] Building App
[INFO   ] [OSC         ] using <multiprocessing> for socket
[INFO   ] [Window      ] Provider: sdl2(['window_egl_rpi'] ignored)
[CRITICAL] [Window      ] Unable to find any valuable Window provider at all!
egl_rpi - ImportError: cannot import name 'bcm'
  File "/usr/lib/python3/dist-packages/kivy/core/__init__.py", line 59, in core_select_lib
    fromlist=[modulename], level=0)
  File "/usr/lib/python3/dist-packages/kivy/core/window/window_egl_rpi.py", line 12, in <module>
    from kivy.lib.vidcore_lite import bcm, egl

sdl2 - TypeError: expected bytes, str found
  File "/usr/lib/python3/dist-packages/kivy/core/__init__.py", line 67, in core_select_lib
    cls = cls()
  File "/usr/lib/python3/dist-packages/kivy/core/window/window_sdl2.py", line 138, in __init__
    super(WindowSDL, self).__init__()
  File "/usr/lib/python3/dist-packages/kivy/core/window/__init__.py", line 722, in __init__
    self.create_window()
  File "/usr/lib/python3/dist-packages/kivy/core/window/window_sdl2.py", line 237, in create_window
    self.fullscreen, resizable, state)
  File "kivy/core/window/_window_sdl2.pyx", line 94, in kivy.core.window._window_sdl2._WindowSDL2Storage.setup_window (kivy/core/window/_window_sdl2.c:1936)

x11 - ImportError: No module named 'kivy.core.window.window_x11'
  File "/usr/lib/python3/dist-packages/kivy/core/__init__.py", line 59, in core_select_lib
    fromlist=[modulename], level=0)

[CRITICAL] [App         ] Unable to get a Window, abort.

First of all the PPA is not meant to be used with Debian, so you are installing Kivy using packages built on Ubuntu on your own risk.
Second, if you are mixing distros try to fetch the Ubuntu release from the PPA, which fits the most to your Debian installation. Eg. you mentioned that there is only Python 3.5, so try to use 'yakkety' here 😉
Regards

the last comment was about installing kivy from the debian-testing repo not the kivy one.

Oops, sorry. In that case check the package itself, who the maintainer is. You can use Synaptic for that.
Our PPA packaging differs a lot to the Debian or Ubuntu packaging.
I guess the maintainer(s), who own the package from debian-testing can help you much better.

If there is still an issue with the packages we maintain, please open a new issue with step by step instructions for reproducing the bug.

should i try installing from the kivy repo on debian-testing or do they only work for ubuntu as previously noted?

You may try installing the ppa on debian, and it could work, but as @thopiekar said, we do not support the use case.

@thopiekar, though we may need to remove this block 😋: https://kivy.org/docs/installation/installation-linux.html#debian-jessie-or-newer.

@laerus, if you haven't set up a working kivy installation yet, try installing these dependencies, mainly the libsdl2 ones, and then pip install kivy. https://kivy.org/docs/installation/installation-linux.html#ubuntu-example
Of course remove any trace of kivy from your system beforehand.

allright, thanks for the info!

@laerus I also would like to know if the install via the PPA does work or not. Thanks.


add connectionPoolCallbackLatency to access log

Commit Message: add connectionPoolCallbackLatency to access log
Additional Description: N/A
Risk Level: low
Testing: ut
Docs Changes: N/A
Release Notes: N/A

issue #31013

cc @KBaichoo

/retest

friendly ping @KBaichoo , also cc @wbpcode as code owner.

/retest

/retest


An unclear error message send by Sendgrid

Hello
I've been corresponding with Sendgrid support for a while and they couldn't figure out how to solve the issue I was asking about so they direct me to this forum
The Request number is 6506441 (if you wish to read all the info in a conversation format)
I'm pasting here the data that seems relevant
When our clients are sending emails (via your service) we send you an object with a list of fields: to,  bcc, from name, from email,  subject, HTML content, headers, customArgs. The emails are being sent but one of our log errors appeared and it seems that something with the data that you received from us caused the problem. On our side, it seems that the data are valid.

We are using SendGrid SDK ("@sendgrid/mail": "7.4.5")

Extra details:
"message": "Bad Request",
"name": "Error",
"stack": "Error: Bad Request\n    at /node_modules/@sendgrid/client/src/classes/client.js:146:29\n    at runMicrotasks ()\n    at processTicksAndRejections (internal/process/task_queues.js:95:5)",
"code": 400
This is the core issue that is causing the Bad Request within the library itself: "Error: Bad Request\n    at /node_modules/@sendgrid/client/src/classes/client.js:146:29\n    at runMicrotasks ()\n    at processTicksAndRejections (internal/process/task_queues.js:95:5)"
Appreciate your help with understanding the errors message that we receive from you
Thanks

@Mik-Drove looking at the zendesk history, I believe the json data that you posted is an output of JSON.stringify(msg)? It would help to look at the raw request body since that's where the issue lies. Here is how you can get that info. Would you be able to provide us that payload?

Hello shwetha-manvinkurke,
I've attached the raw JSON object to the conversation on the SendGrid site.
Please see attached image that shows to which message in the conversation the file was attached.
I'm not attaching it here because I'm not sure that this thread is private.
Please enter the conversation on the SendGrid site and download the raw JSON file from there
Thanks
Mickey

Hi @Mik-Drove
Can you please post a code snippet of how you are using the sendgrid-nodejs helper library to build that JSON payload, as well as how you are obtaining the raw JSON payload output?
Thanks

Hello Elise
I would start by saying that I already sent all the data in the support case on Sendgrid so I can't figure why you won't take it from there and why should I repeat all of it from the start?
Attached here below the code snippet
Regarding the output: we receive an error message which we can't figure why is it being sent
Thanks
 msg = {
    to: emailAddress,
    bcc: bccAddresses,
    from: {
      name: removeSpecialCharacters(fromUserName) || 'Drove',
      email: fromEmail,
    },
    subject,
    html: content,
    headers: {
      'List-Unsubscribe': unsubscribeList,
    },
    customArgs: {
      notification: notificationId,
      activity: activityId,
      newsletter: newsletterId,
      environment: process.env.AWS_ENV || 'local',
    },
  }
  msg = addSandboxConfig(msg)

  if (replyToMail) {
    msg.reply_to = { email: replyToMail.trim() }
  }

  const sent = await sgMail.send(msg)

  log.error(err, msg ? JSON.stringify(msg) : msg, 'Unable to send email notification')

}

Hi @Mik-Drove we want to look at the raw request body and not just your json stringified msg. Could you do something like the following and show us the output?
 const {
  classes: {
    Mail,
  },
} = require('@sendgrid/helpers');

msg = {
    to: emailAddress,
    bcc: bccAddresses,
    from: {
      name: removeSpecialCharacters(fromUserName) || 'Drove',
      email: fromEmail,
    },
    subject,
    html: content,
    headers: {
      'List-Unsubscribe': unsubscribeList,
    },
    customArgs: {
      notification: notificationId,
      activity: activityId,
      newsletter: newsletterId,
      environment: process.env.AWS_ENV || 'local',
    },
  }
  msg = addSandboxConfig(msg)

  if (replyToMail) {
    msg.reply_to = { email: replyToMail.trim() }
  }

  const mail = Mail.create(msg);
  const body = mail.toJSON();
  console.log(JSON.stringify(body));

  const sent = await sgMail.send(msg)

Hello Elise
Attached to this message is the full data from our log, I understand from your message that this is the data you are asking for.
A few notes:
1-I changed some private data (e.g.: email address)
2-we are using sgMail from '@sendgrid/mail' and not '@sendgrid/helpers' and you wrote on your message
3- I've attached all this data already in the chat I had with your customer service team so you can take it from there as well
from logs.TXT
Thanks
Mickey

Hi Mickey,
As mentioned both here and in the related support ticket, the data in the files you included is not the data we need in order to solve this issue. The data you sent has been the output of JSON.stringify(msg). However, we need to see the raw request body that gets compiled by sgMail.send(msg), which can be extracted with the following code:
const {
  classes: {
    Mail,
  },
} = require('@sendgrid/helpers');
const mail = Mail.create(msg);
const body = mail.toJSON();
console.log(JSON.stringify(body));

Please include the output from this code in this GitHub issue thread so we can further help you resolve this issue.

Hello Elise
I've followed the instructions in your last message and added the code lines you sent to our code.
Attached are the logs.
I added the text "raw request body" before printing the JSON.stringify(body) so you can search for this text in order to see where the JSON.stringify(body) starts.
Thanks
Mickey
25.8.21.TXT

Hello Elise
Attached is the same payload for a request that worked successfully
Hope that this data will help to understand what is the cause of this problem
Thanks
Mickey
successful.TXT

Hi Mickey,
I've inspected both requests and I'm not seeing anything that suggests your issue is stemming from your use of the helper library. I've gone ahead and reached out to the Support Engineer who was handling your case through SendGrid support and reopened your support ticket through there. This is not an issue we can help you solve through GitHub, so you will need to continue troubleshooting your issue through SendGrid Support.
I'm going to go ahead and close this GitHub issue.


Why do you return a set of data separately

true：[48,48,48]
yours:[48][48]

Please provide a more detailed issue

the normal return data：[58,48,48,48,48]
but the plugin return me data; [58] [48][48][48][48]
it is divided.My data is returned by multiple times.
Is it a problem of delay？

PLEASE PROVIDE A MORE DETAILED ISSUE (e.g. SOME CODE OF YOURS, android AND usb serial device)

AND SOME POLITENESS WOULD BE THE BARE MINIMUM WHEN ASKING FOR HELP

sorry,my English is very bad.Thank you for your patience.
This is my dode
	var opts = { 		baudRate: 115200 	}; 	$scope.allData = []; 	serial.requestPermission(function success(res){ 		console.log(res); 		serial.open(opts, function success(res){ 			console.log(res); 		}, function error(err){ 			console.log(err); 		}); 	}, function error(err){ 		console.log(err); 	}); 	var view = []; 	serial.registerReadCallback(function success(res) { 				var lin = new Uint8Array(res); 				view = view.concat(Array.from(lin)); 			},function error(error) { 				console.log(error) 	});  	//发送指令 	$scope.sendOrder = function(){ 		serial.writeHex(myOrderString, function success(res){ 			console.log(res); 		}, function error(err){ 			console.log(err); 		}); 	}

Please check the example on the readme


Get raw result without structuring

Versions

Rust:
rustc 1.35.0-nightly
Diesel:
diesel 1.3.0
Database:
PostgreSQL 10
Operating System
Ubuntu

Feature Flags
["postgres", "r2d2", "chrono"]

diesel:

Problem Description
I want to receive data from a database with a flexible response structure. I do not have a specific structure for each response from the database. My requests are formed through a set of stackable conditions and the result of the request can be each query unique, so I can’t fit it into any response structure but I should to that
let data = query.load::<_>(&connection)?;

What are you trying to achieve?
I want to get the raw response data from the database, in which I can generate json, hashmap (key, value) or any other flexible structure, I do not know how many columns contain the answer
What is the expected output?
Array of rows and columns
What is the actual output?
I should set type for query result
Example
let mut query = users::table
            .left_join(profile::table)
            .left_join(posts::table)
            .left_join(notes::table)
            .left_join(bookmarks::table)
            .into_boxed();
if !filter.is_empty() {
    query = query.filter(sql(" ").bind::<Text, _>(filter))
}

if !select.is_empty() {
    query = query.select(sql(" ").bind::<Text, _>(select))
}

if !group.is_empty() {
   query = query.filter(sql("GROUP BY ").bind::<Text, _>(group));
}

let result = query.load(connection)

A few random thoughts:

Something like your example does already compile, but will result in a syntax error. That will never change no matter what we change on diesel itself, because you explicitly bind some raw strings. That means the database interprets those things as strings and not as sql fragment. For example your select clause will boil down to something like select 'your select string' from … which means you select a constant string.
For the filter part that's already there. Take a look on BoxableSelectStatements and BoxableExpressions
For the other parts: I would like to see a concrete proposal how such an API could look like. Would you mind posting a proposal to our discourse instance?

You right there was some syntax error I made synthetic example

moved question to https://discourse.diesel.rs/t/get-raw-result-without-structuring/80


background scaling

Hi,
The backgrounds do not scale the way they used to in the older versions of JWM.
Is there an option (not listed in the config page) to 'stretch' the background?
The old behaviour was all bgs were stretched, but now they shrink to fix based on the width of the picture.  How can I get the old behaviour back again?

Hi,
I was just wondering if this issue has been addressed in recent versions.
I have had a few testers ask about why the background looks out of place.
If it has been fixed in recent versions I will certainly update my packages to use the latest version.
I am increasingly impressed with JWM!  Thank you so much for this!

I just now commited a fix for this, so "stretch" should behave as it used to.  I also added a "scale" background type for anyone who would desire the newer behavior.

You rock!  Thanks I'll pull the tar and repackage this!!


set toolType, width, and color value of PKTool

Hi, I just added a new feature setting toolType, width, and color value of PKTool...!
wonder if I could... contribute this code to this repo...?
you can cherrypick mine because I implemented save/load feature a little different way due to some issues...
anyway ...thanks always!

Then, please stay it at now. 😅
I will recover this feature at later but now because of busy work.


Consider using JavaScript for the backend code as well

Since AMP uses a client library written in JavaScript, it's expected that the vast majority of AMP developers will be familiar with JavaScript. The same can't be said about Go, which we've been using to write the backend code in.
It would be easier for AMP users to understand client-server examples (e.g. amp-form) if the server code was JavaScript as well (i.e. Node) - no need for a context switch.
Installation would also be simpler - just Node, no Go SDK.

Rewriting the entire back-end in Javascript seems like a lot of work with limited value.
Do you have a rough estimate of the amount of work that would be involved and the time it would take?

We considered this at the beginning for the same reasons, but went with Go as app engine deployment is easier (once you've got the tools installed).
To be honest, I didn't expect that many samples would require custom backend logic - which was wrong. I probably would do it differently if starting over again. Migrating to node shouldn't be too much work (1-2 days max). I am not sure though whether it is really worth the effort...

How feasible would it be to use Node/Express for new backend code going forward, and keep the Go samples?

I don't think we should use a mix of Node and Go. Either we convert
everything and move to Node or keep Go. As far as deployment goes, we could
drop in a Dockerfile, which is language agnostic and cloud independent.
Docker has one-click installers on Mac, Windows and Linux.
On Mon, Oct 10, 2016 at 10:32 AM Dan Dascalescu<EMAIL_ADDRESS>wrote:

How feasible would it be to use Node/Express for new backend code going
forward, and keep the Go samples?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ampproject/amp-by-example/issues/400#issuecomment-252687212,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABEP-GncQsYUMrvakdGujaZ-i6MTQSVWks5qyna9gaJpZM4KRkUe
.

+1 to not mixing PLs and easier deployment
I've been planning to refactor the Go backend in the near future to remove redundancies and to create a proper API for sample authors. If we want to switch to Node, this is the right time.
//cc @kul3r4

Closing this as we don't plan to move to Node anytime soon.


Add role definitions to "grant access" page

Describe the task
Add role definitions to "grant access" page
Acceptance Criteria

[ ]
[ ] second
[ ] third

Additional context
Refer to mockups Alison created @aliramoss can you share the figma link please

This one?
https://www.figma.com/file/4zvMCRE2yDtEp94xwtcpdh/Request-for-user-access?type=design&node-id=35-2212&mode=design&t=uZPwZalwdUKP95QW-4

@aliramoss yes, thank you

made redundant by #1128


Create avatar_chips for better customization

One need to make this component using HTML and Tailwind CSS. I would suggest to use Tailwind Playgrounds to make things faster and quicker.
Here is a reference to the component.

i think with the addition of chips, the ui can be enhanced
After building the component please raise a PR with a screenshot of the component and add the component in path of the file.
If you need to use any icon please use it from Hero Icons
Good luck.

Make this and add this to avatar, maintaining the sequence.


Pond - Automation of assemblyQC table creation in Galaxy

Start with these 4 Orgs for assemblyQC:
Notes:

All Orgs in 1 dataset
File name of dataset should be: assemblyQC-Pond.tsv
Current BCO draft: https://biocomputeobject.org/builder/https/biocomputeobject.org/ARGOS_000022/DRAFT
Current Data dictionary: https://github.com/FDA-ARGOS/data.argosdb/tree/v1.1

organism_name: Salmonella enterica LT2
genome_assembly_id: GCA_001558355.2
taxonomy_id: 28901
biosample: SAMN03996249
sra_run_id: SRR2814419
organism_name: Severe acute respiratory syndrome coronavirus 2 Wuhan-Hu-1
genome_assembly_id: GCA_009858895.3
taxonomy_id: 2697049
biosample: SAMN13922059
sra_run_id: SRR10971381
organism_name: Influenza A virus A/Puerto Rico/8/1934(H1N1)
genome_assembly_id: GCA_000865725.1
taxonomy_id: 211044
biosample: SAMEA51847918
sra_run_id: ERR2096902
organism_name: Human immunodeficiency virus 1
genome_assembly_id: GCA_003102975.1
taxonomy_id: 11676
biosample: NA
sra_run_id: NA

Moving to Feb 2023 Task List

We have utilized a tool called SnpEff to annotate variants as frameshifts, deletions, and others for SARS-CoV-2. I am going to look into the possibility of annotating stop codons... if it does not work out of the box, it should be a minor effort to extend.
Though SnpEff is meant for VCFs, with a slight hack minimap2 can map an entire genome FASTA to a reference FASTA and give a BAM, then ivar variants can be used to produce a VCF that shows where the genomes differ.
I have a proof of concept of this for Sudanese Ebola, but it needs to be further cleaned up as the SARS-CoV-2 example. It actually required annotating a slippage site that is currently missing in the NCBI Genbank file.
I plan to utilize this and reintegrate with previous reassembly and assemblyQC work this month.

Per our monthly meeting on 5/1/2023, Pond and Mazumder teams agree to 'archive' this ticket as it's not relevant anymore. Mazumder team handles the assemblyQC through the HIVE protocol. Stephen can use his time to focus on building out the annotation aspect of the project.


[GCP/Azure] Cleanup integration test

Make better shared functions to eliminate duplicate code

@seankimkdy do you think this could be a "good first issue" or "help wanted"?

I'm actually going to tackle this one fairly soon after the NAT gateway PRs (#441, #442) are merged. We have too many integration tests that take up too much time due to sequential runs, so I will do a clean up.


Long variable names are an issue in animation player

Tested versions
4.3-stable
System information
Windows10
Issue description
Due to the animation player positioning in the interface and general UX construction, anmating parameters that have long names can be challenging.
The names of the parameters aren't always under the control of the user: for example instance shader parameter have the whole instance_shader_parameters/ prefix.

Please consider showing the end of the parameter name rather than the start when needing to wrap the text.
Steps to reproduce

open project
open "node3d scene"
select animation player
observe the amoutn of space taken by instance shader parameters

Minimal reproduction project (MRP)
mrp-instance-anim-param.zip

I can take a look at this


App doesn't start on OnePlus 7

This phone is about 1 year old
I've tried:

uninstall then reinstall the app
restarting the phone
uninstall, restart then reinstall

See screenshots

Have you updated your Google services or have a pending android update?

It means google exposure api can be accessed. Did you install the app from the play store ?

Yes. Pure install from the play store.
On Tue, Oct 6, 2020, 10:33 leroynicolasalexi<EMAIL_ADDRESS>wrote:

It means google exposure api can be accessed. Did you install the app from
the play store ?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/covid-be-app/cwa-app-android/issues/92#issuecomment-704118384,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACUNKVTHTMVW3IAMPQZHVLSJLI6NANCNFSM4SDGJDQQ
.

I managed to solve the problem. The Google Play Store had corrupt data. Clearing the Play Store's cache didn't help. Clearing its app data did, and as far as I can see without any negative side effects.
I found the solution in this article.
Sorry for the inconvenience. This issue can be closed.


Xunit failure in System.Slices after updating everything

This only seems to happen when I run the build.cmd. Running that test individually doesn't cause the problem.
xUnit.net .NET CLI test runner (32-bit .NET Core win10-x86)
  Discovering: System.Slices.Tests
  Discovered:  System.Slices.Tests
  Starting:    System.Slices.Tests
    System.Slices.Tests.CastTests.WhenSourceTypeLargerThaTargetAndOverflowsInt32ThrowsException [FAIL]
      Assert.Throws() Failure
      Expected: typeof(System.ArgumentException)
      Actual:   (No exception was thrown)
      Stack Trace:
        C:\dev\git\corefxlab\tests\System.Slices.Tests\CastTests.cs(88,0): at System.Slices.Tests.CastTests.WhenSourceTypeLargerThaTargetAndOverflowsInt32ThrowsException()
  Finished:    System.Slices.Tests

not repro


Activity column not working

in  lattest version [3.1.1], activity column feature is not working

It will most likely never be fixed

what problem are you having, twitter broken the way for take data?

Well, updated tweetdeck didn't even had "activity tab", I thought they gonna implement in future, but time passed, they killed old tweetdeck, made new tweetdeck pay only, and even for money you still don't have activity tab... it's pathetic.
I assume they removed mechanism that acquired that data from their API or something?


Add constants for map key configuration options

Guzzle uses a lot of arrays for configuration, even just a basic client construction with a base URL requires the use of a map-style array with a base_url key.
Unfortunately, using basic strings like this is more prone to runtime errors than using a proper parameter or at least using a constant defining the configurable array key, as PHP doesn't have named parameter support. As using a named-parameter approach seems to be part of the design of this library and changing that would be a massive BC break, I suggest simply defining constants for the many array keys so that implementations could more easily use the library without having to worry about simple spelling mistakes at runtime or having to test otherwise simple constructors (yes 100% code coverage is ideal, but not always realistic).
An example:
namespace GuzzleHttp;

class Client implements ClientInterface
{

    /**
     * The configuration key for the base URL configuration
     *
     * @type string
     */
    const CONFIG_KEY_BASE_URL = 'base_url';
}

I'd be happy to add something like this to v6 (which is in a branch and developing slowly as PSR-7 unfolds). I'm not sure if I'd want the constants under the GuzzleHttp namespace (e.g., GuzzleHttp\CFG_TIMEOUT or under a class in the namespace (e.g., GuzzleHttp\RequestOptions::TIMEOUT). The former is nice because it's shorted, the latter could be imported though (i.e., use GuzzleHttp\RequestOptions as RO), but that use import is a bit cumbersome IMO... Any thoughts?

Awesome. :)
Hmm, importing ("using"/aliasing) a name-spaced constant isn't easily available until PHP 5.6, so I'd probably make them class constants, personally. Class constants also allow for a bit easier way to group and document them.

How about "Configuration Object"?
$client = new Client(
    (new ClientConfig())
        ->setBaseUrl('...')
        ->setSomethingElse('...')
);

If you want, you can implement the method toArray() (if Guzzle will not support this approach)

I'm not a big fan of the config object idea mainly because the client constructor (and request options applied to a request) should allow any arbitrary key value pairs. For example, in Guzzle 6, you can create middlewares that know how to handle specific key value pairs. Strictly validating these key value pairs to only allow specific values would be too limiting, and using a builder pattern would be more overhead and complication than I'd like.
I'm not usually a big fan of class constants to demarcate key value pair options, but I'm willing to add those in this case if it will help people.

Added to Guzzle 6 in https://github.com/guzzle/guzzle/commit/af9a195d9bf20c8f1df1b865a8ef8161776b5ed9


[CupertinoTabBar] added activeFontSize & inactiveFontSize

Related https://github.com/flutter/flutter/issues/69052
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is test-exempt.
[x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

@jmagman
I looked deeper into native behavior and read Tab Bars Guidelines. Guidelines don't mention you can change the size of the label or animate between different tab bar items with different label sizes. (that's what Material Navigation Bar is for).

It is not possible to customize selected/unselected tab bar labels size and animate them in native IOS without a custom implementation.
There is no option in Xcode to customize tab bar item label size.
Swift UI doesn't have any parameter to modify tab bar label size.
Only you can customize label size is little hacky  and this hack has no effect on the selected or disabled tab bar label.  This also doesn't tab bar height to accommodate a bigger label size (unlike Material Navigation Bar).

I only came to realize after you suggested how it is handling since native Cupertino guidelines don't allow this and it doesn't change its height or animated. I feel this is violating iOS design guidelines. If somebody wants to control selected label size and unselected which animation, they can simply use the Material widget for this.
With this, I feel safe to close this PR and proposal


how to make TensorRT Optimization?

20.03 docker onxx
fellow by trt
get

and get "Floating point exception (core dumped)" for "ONNX with TensorRT Optimization",

try to convert onnx float16 first:
node type not compatible

Can you provide the model repository and all instructions we need to reproduce the failure.

Can you provide the model repository and all instructions we need to reproduce the failure.

actually,i do not know the right way. just append config.pbtext?

steps:

from huggingface /transformers , pytorch load checkpoint and  eval, qps 300+
convert  to onnx float32,
set dynamic  and works, but qps=200
try more optimize. append ONNX with TensorRT Optimization to config.pbtext
get error "Floating point exception (core dumped)"
# command: trtserver --model-repository=/workspace/model_repository --trace-level=MAX
I0429 03:08:36.390297 69 onnx_backend.cc:203] Creating instance multibert_0_gpu0 on GPU 0 (7.0) using model.onnx
Floating point exception (core dumped)

It's hard to tell if there is performance issue since you are comparing the performance across framework. It would be better if you have the performance of using Triton with the Pytorch model, or the performance of running the converted ONNX model natively to allow a more relevant comparison.
And it seems like the exception happens when loading the model, you should also try to run the ONNX model with ONNX Runtime directly to see whether TensorRT optimization succeeds and what the performance is, since Triton supports ONNX model via ONNX Runtime and thus capped by what ONNX Runtime can provide.

@laohur If you give us the config.pbtxt and the onnx model itself that should be enough. An easy way to do this is to just zip or tar up the model repository containing this model and attach it.

Closing. Please reopen after providing the requested model repository.


Do not add password arg to user state if does not exist in pillar data

The user describe runner will generate a sls file like so:
user-ch3ll:
  user.present:
  - name: ch3ll
  - uid: 1000
  - gid: 1000
  - allow_uid_change: true
  - allow_gid_change: true
  - home: /home/ch3ll
  - shell: /usr/bin/zsh
  - groups:
    - ch3ll
    - lp
    - network
    - power
    - sys
    - wheel
  - password: '{{ salt["pillar.get"]("users:ch3ll","*") }}'
  - date: 18590
  - mindays: 0
  - maxdays: 99999
  - inactdays: -1
  - expire: -1
  - createhome: true
  - fullname: Megan Wilhite

If users:ch3ll is not set in pillar, it will still try changing the password, which would be unexpected for a user who does not know that is a requirement for the user state. We should make this optional and only set the password argument if users:ch3ll is in pillar data. Most likely we will want to handle this with jinja.

Closed by https://github.com/saltstack/salt-describe/issues/42


Adding instrumentation to publish to Maven Central

Rework of the Maven Publishing code:

Switch to using the legacy "maven" plugin instead of the new "maven-publish" due to issues with signing artifacts
Add support for signing the artifacts
Use group com.linkedin.gobblin instead of gobblin as per Sonatype requirements
Add POM metadata as per Sonatype requirements
Rename gobblin-utility.tar.gz and gobblin-compaction.tar.gz to gobblin-utility.tgz and gobblin-compaction.tgz since the Gradle signing plugin does not work correctly if a file has two extensions
Add a helper script maven-sonatype.sh with instructions on how to publish the artifacts

@liyinan926 @ibuenros Can you review?

PR updated.

LGTM.

LGTM


Doesn't detect usage of part of package in e.g. Less code

I have a font-awesome dependency.
By its nature, it's not require()'d or imported, it's used in a piece of Less code:
 @import '~font-awesome/less/font-awesome.less';

In my src/common/styles/app.less file.
This seems out of scope for the base product.
Maybe a plugin system to implement other types of rules?

I would love for this to be supported as well.

I would love to have this too


std::sys::os::error_string returns the wrong error messages

Hello,
During our tests, we encountered a strange error message from the enclave. We were expecting an error message containing "Destination address required" (the error message for errno 89 on Linux/Ubuntu) but got "Identifier removed (os error: 89)" instead.
After digging a little in the implementation, we found the following snippet in sgx_tstd/src/io/error.rs :
impl fmt::Display for Error {
    fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result {
        match self.repr {
            Repr::Os(code) => {
                let detail = sys::os::error_string(code);
                write!(fmt, "{} (os error: {})", detail, code)
            }
            Repr::Custom(ref c) => c.error.fmt(fmt),
            Repr::Simple(kind) => write!(fmt, "{}", kind.as_str()),
            Repr::SgxStatus(status) => {
                let detail = status.__description();
                write!(fmt, "{} (sgx error: {})", detail, status)
            }
        }
    }
}

It turns out that the Os error display uses the error_string function which in turn calls strerror_r (declared as an external function in sgx_libc). strerror_r is part of the tlibc library from the Intel Linux SGX SDK and is responsible for this bug because it uses a hardcoded list of error messages defined there: https://github.com/intel/linux-sgx/blob/56faf11a455b06fedd6adc3e60b71f6faf05dc0f/sdk/tlibc/gen/errlist.c
The list comes from OpenBSD but not all OS have the same error code - error message mapping. In our case, we ran our enclave on an Ubuntu system but got the error message for errno 89 as if we were on OpenBSD!
We can think of several ways to fix this issue.
A first approach would be to open an issue in the Intel Linux SGX SDK(https://github.com/intel/linux-sgx) repository so that the strerror_r function from Intel SGX SDK returns the appropriate error messages for all OS.
Another (more practical ?) solution would be to address the issue directly in the teaclave sgx sdk. We could implement strerror_r in teaclave using an OCALL to the strerror_r of the host OS. If performance matters, one might also want to cache the error message, or even better prefetch them at enclave initialization.
What do you think is the best approach to take?
Best regards,
Huu Tan Mai, Corentin Lauverjat @ Mithril Security

I think the first approach is better.


query always returns 0 results for clause "where boolean key = false"

Hi,
Querying a boolean type key always returns empty dataset for "false" value.
On line 374 of JsonQueriable.php, maybe it could help to replace "$value ? ... : false" by "isset($value) ? ... : false".
Thanks for the great job,
J.

Please share your dataset and code

Here is a basic dataset (no root element) :
[{"name":"foo","isArchived":true},[{"name":"bar","isArchived":false}]
When i do :
->where('isArchived', '=', true);
... all is ok
When i do :
->where('isArchived', '=', false);
... always 0 results
When $value is "false" ; test on line 374 returns always false.
When i change this test on line 374 to isset($value) , i have the awaited results.

In development the issue does not occur.

@lecleach this problem was solved. you can query this way.
$jsonq->from('.')->where('isArchived', '==', false)->get();

or
$jsonq->from('.')->whereBool('isArchived', false)->get();

Please update JsonQ with v5.2.1

Thanks a lot !


Fetch correct query pool

It should fetch the last query pool, and was off by one. That worked on
my machine (windows), but did cause panics.

Merged into master, tested on ubuntu.  It works now.


[Documentation] Add some clarification about picking triangles from b…

…oth sides.
Related forum issue: https://forum.babylonjs.com/t/ray-intersection-from-the-invisible-culled-side/41545/7?u=carolhmj

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Snapshot stored with reference name:
refs/pull/13963/merge
Test environment:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/13963/merge/index.html
To test a playground add it to the URL, for example:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/13963/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/13963/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/13963/merge
https://gui.babylonjs.com/?snapshot=refs/pull/13963/merge
https://nme.babylonjs.com/?snapshot=refs/pull/13963/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/13963/merge#BCU1XR#0

Visualization tests for webgl2 have failed. If some tests failed because the snapshots do not match, the report can be found at
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/13963/merge/testResults/webgl2/index.html
If tests were successful afterwards, this report might not be available anymore.

Visualization tests for webgl1 have failed. If some tests failed because the snapshots do not match, the report can be found at
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/13963/merge/testResults/webgl1/index.html
If tests were successful afterwards, this report might not be available anymore.

Visualization tests for webgl2 have failed. If some tests failed because the snapshots do not match, the report can be found at
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/13963/merge/testResults/webgl2/index.html
If tests were successful afterwards, this report might not be available anymore.

Visualization tests for webgl1 have failed. If some tests failed because the snapshots do not match, the report can be found at
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/13963/merge/testResults/webgl1/index.html
If tests were successful afterwards, this report might not be available anymore.

Visualization tests for webgl2 have failed. If some tests failed because the snapshots do not match, the report can be found at
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/13963/merge/testResults/webgl2/index.html
If tests were successful afterwards, this report might not be available anymore.

vis tests fail because of this:
GLB load from ArrayBuffer
Evaluation failed: a.substr is not a function

Are you updated from master? is this the recently-added test?

vis tests fail because of this:
GLB load from ArrayBuffer
Evaluation failed: a.substr is not a function

Are you updated from master? is this the recently-added test?

synced it with master now!


[Bug]: CreateResponseUsage is missing support for Prompt Caching

Description
\OpenAI\Responses\Chat\CreateResponseUsage doesn't honor the Prompt Caching return which causes confusion that ChatGPT isn't 'activating' Prompt Caching (perhaps due to a unsupportive model).
{"prompt_tokens":1669,"completion_tokens":526,"total_tokens":2195,"prompt_tokens_details":{"cached_tokens":1152},"completion_tokens_details":{"reasoning_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0}}

Steps To Reproduce
Simply produce a request to chat/completions (chat()->create([])).
OpenAI PHP Client Version
v0.10.2
PHP Version
8.3.10
Notes
No response

Implemented in https://github.com/openai-php/client/pull/494


New configuration on config.toml not being respected [BUG]

Rancher Server Setup

Rancher version: v2.9-head
Installation option (Docker install/Helm Chart):

If Helm Chart, Kubernetes Cluster and version (RKE1, RKE2, k3s, EKS, etc): Docker

Information about the Cluster

Kubernetes version:
Cluster Type (Local/Downstream):

If downstream, what type of cluster? (Custom/Imported or specify provider for Hosted/Infrastructure Provider): Synology

Describe the bug
I am trying to run rancher on a synology nas, which docker by default doesn't support overlayfs as the snapshotter. I am mounting a different config.toml file to the container and setting snapshotter to use native, but it is not respecting the new configuration, and keeps failing due to trying to use overlayfs.
To Reproduce

Create a config.toml file in a local folder with the following content:

[plugins.opt]
  path = "/var/lib/rancher/k3s/agent/containerd"

[plugins.cri]
  stream_server_address = "<IP_ADDRESS>"
  stream_server_port = "10010"
  enable_selinux = false
  sandbox_image = "docker.io/rancher/pause:3.1"

[plugins.cri.containerd.runtimes.runc]
  runtime_type = "io.containerd.runc.v2"

[plugins.cri.containerd]
  snapshotter = "native"

Run the container, mapping the new config.toml file to inside the container:

docker run -d --name=rancher -p 8064:80 -p 5443:443 -e CATTLE_BOOTSTRAP_PASSWORD=123456 -v /volume1/docker/rancher/config.toml:/var/lib/rancher/k3s/agent/etc/containerd/config.toml -v /volume1/docker/rancher:/var/lib/rancher --privileged --restart always rancher/rancher:v2.9-head

Check the k3s.log for identifying why the nodes are not being created:

Result
time="2024-04-28T18:28:59Z" level=info msg="Waiting to retrieve agent configuration; server is not ready: \"overlayfs\" snapshotter cannot be enabled for \"/var/lib/rancher/k3s/agent/containerd\", try using \"fuse-overlayfs\" or \"native\": failed to mount overlay: no such device"
time="2024-04-28T18:28:59Z" level=info msg="Waiting for control-plane node local-node startup: nodes \"local-node\" not found"

Expected Result
k3s would not be trying to use overlayfs
Additional context
rancher image runs rancher, which then runs k3s server, while k3s server has a direct parameter to add the snapshotter configuration, rancher binary doesn't expose that, so the option to use config.toml seems to be the most viable one, but it is not working.

I am trying to edit this file: /var/lib/rancher/k3s/agent/etc/containerd/config.toml but on each of the nodes to be able to run Spegel correctly.
Does anyone know how I can automate this task? I have tried hetzner's clout-init (my cloud provider) but it is replaced by a file during the configuration and registration of k8s.
I have also tried with the tmpl file indicated in the containerd documentation:
https://docs.k3s.io/advanced#configuring-containerd


No older data used in 1991 assessment

Looking at 1991 assessment just uploaded along with others to "references" folder in Google Drive: https://drive.google.com/drive/folders/1hsvj43F6YAklU4pOsKI1ZKCy5J4HLm0j
Shows no indication of data prior to 1977, but maybe that's when the model started.
I'm stepping away from desktop now, might be slightly late for meeting.

Data Sources
The data elements used in the synthesis model are as follows: 1) a time
series of catch at age from the u.S. and Canadian fisheries for Pacific
whiting (1977~90), 2) yields in biomass from the U.S. and Canadian fisheries
for the same years, 3) age composition in the U.S. and Canadian zones from
NMFS triennial groundfish assessment surveys (1977, 1980, 1983, 1986, 1989),
and 4) survey biomass estimates for the u.s. and Canadian zones for the same
years. The survey biomass estimates for the Canadian zone were adjusted
because of inadequate survey coverage as described in Dorn et al. (1990).

I don't think we need this to remain open for now.  This will pertain to investigating SRG request about equilibrium fecundity via wt-at-age.... closing


Update how-to-configure-key-rotation.md

Minor spelling fix.

@cadwal : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@cadwal
thank you for fixing this typo.


react/no-array-index-key wrongly triggered when using immutablejs map

import { fromJS } from 'immutable';

function foo() {
    return fromJS({ a: 'A' })
      .map((value, key) => <div key={key} />)
    ;
}

This code will throw Do not use Array index in keys (react/no-array-index-key), but my key is not an array , it's will be a in this example.

There's no way for the rule to know if .map is being called on an array or not; you'd have to disable the rule overall, or override it for this one case.


Historical Forecast Implementation

Issue Number: 390
Summary
One sentence summary of PR
Changes

List of comprehensive changes

Checklist

[ ] Local Tests Passing?
[ ] CICD and Pipeline Tests Passing?
[ ] Added any new Tests?
[ ] Documentation Updates Made?
[ ] Are there any API Changes? If yes, please describe below.
[ ] This is not a breaking change. If it is, please describe it below.

Are there API Changes?
If yes, what are the expected API Changes? Please link to an API-Comparison workflow with the API Diff.
Is this a breaking change?
If yes, what workflow does this break?
Anything else?
Other comments, collaborators, etc.
This PR Closes Issue #

Codecov Report

Merging #110 (f8a3ed4) into dev (05ded1d) will increase coverage by 0.50%.
The diff coverage is 92.22%.

@@            Coverage Diff             @@
##              dev     #110      +/-   ##
==========================================
+ Coverage   83.67%   84.17%   +0.50%
==========================================
  Files          50       50
  Lines        1507     1561      +54
  Branches      164      169       +5
==========================================
+ Hits         1261     1314      +53
+ Misses        190      189       -1
- Partials       56       58       +2

Impacted Files
Coverage Δ

...CarbonAware.DataSources.Json/src/JsonDataSource.cs
77.58% <ø> (ø)

.../CarbonAware.WebApi/src/Models/EmissionsDataDTO.cs
81.25% <ø> (ø)

...bonAware.WebApi/src/Models/EmissionsForecastDTO.cs
100.00% <ø> (ø)

...gregators/src/CarbonAware/CarbonAwareAggregator.cs
84.78% <83.87%> (-2.72%)
:arrow_down:

...are.DataSources.WattTime/src/WattTimeDataSource.cs
87.93% <93.75%> (+0.93%)
:arrow_up:

...onAware.Tools.WattTimeClient/src/WattTimeClient.cs
88.50% <100.00%> (ø)

...re.WebApi/src/Controllers/CarbonAwareController.cs
97.72% <100.00%> (+5.83%)
:arrow_up:

...are.WebApi/src/Models/EmissionsForecastBatchDTO.cs
100.00% <100.00%> (+100.00%)
:arrow_up:


CLOUD-57128 Completely remove old flow implementation, phase 2

@schfeca75 plz check

Refer to this link for build results (access rights to CI server needed):
http://ci.sequenceiq.com//job/cloudbreak-pull-request/2691/

Refer to this link for build results (access rights to CI server needed):
http://ci.sequenceiq.com//job/mock-integration-test/182/


[SMALLFIX] Add Zookeeper failure test

This test ensures that the Alluxio primary stops serving when it loses access to Zookeeper.
Other changes:

The master thrift shutdown timeout is made configurable so that the external cluster can shut down quickly. This reduces the test time from ~ 1.1 minutes to 0.4 minutes
Curator's wrapper around Zookeeper's test cluster doesn't expose the restart method. This PR adds a RestartableTestingServer class which extends Curator's test cluster to expose restart functionality needed for the integration test.
This PR adds an AlluxioOperationThread class that may be shared by future integration tests.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17335/Build result: FAILURE[...truncated 3473 lines...][JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/common/pom.xml to org.alluxio/alluxio-core-common/1.7.0-SNAPSHOT/alluxio-core-common-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/common/target/alluxio-core-common-1.7.0-SNAPSHOT.jar to org.alluxio/alluxio-core-common/1.7.0-SNAPSHOT/alluxio-core-common-1.7.0-SNAPSHOT.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/common/target/alluxio-core-common-1.7.0-SNAPSHOT-sources.jar to org.alluxio/alluxio-core-common/1.7.0-SNAPSHOT/alluxio-core-common-1.7.0-SNAPSHOT-sources.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/common/target/alluxio-core-common-1.7.0-SNAPSHOT-tests.jar to org.alluxio/alluxio-core-common/1.7.0-SNAPSHOT/alluxio-core-common-1.7.0-SNAPSHOT-tests.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/server/worker/pom.xml to org.alluxio/alluxio-core-server-worker/1.7.0-SNAPSHOT/alluxio-core-server-worker-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/server/worker/target/alluxio-core-server-worker-1.7.0-SNAPSHOT.jar to org.alluxio/alluxio-core-server-worker/1.7.0-SNAPSHOT/alluxio-core-server-worker-1.7.0-SNAPSHOT.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/server/worker/target/alluxio-core-server-worker-1.7.0-SNAPSHOT-sources.jar to org.alluxio/alluxio-core-server-worker/1.7.0-SNAPSHOT/alluxio-core-server-worker-1.7.0-SNAPSHOT-sources.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/logserver/pom.xml to org.alluxio/alluxio-logserver/1.7.0-SNAPSHOT/alluxio-logserver-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/logserver/target/alluxio-logserver-1.7.0-SNAPSHOT.jar to org.alluxio/alluxio-logserver/1.7.0-SNAPSHOT/alluxio-logserver-1.7.0-SNAPSHOT.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/logserver/target/alluxio-logserver-1.7.0-SNAPSHOT-sources.jar to org.alluxio/alluxio-logserver/1.7.0-SNAPSHOT/alluxio-logserver-1.7.0-SNAPSHOT-sources.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/client/pom.xml to org.alluxio/alluxio-core-client/1.7.0-SNAPSHOT/alluxio-core-client-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/examples/pom.xml to org.alluxio/alluxio-examples/1.7.0-SNAPSHOT/alluxio-examples-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/examples/target/alluxio-examples-1.7.0-SNAPSHOT.jar to org.alluxio/alluxio-examples/1.7.0-SNAPSHOT/alluxio-examples-1.7.0-SNAPSHOT.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/examples/target/alluxio-examples-1.7.0-SNAPSHOT-sources.jar to org.alluxio/alluxio-examples/1.7.0-SNAPSHOT/alluxio-examples-1.7.0-SNAPSHOT-sources.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/pom.xml to org.alluxio/alluxio-core/1.7.0-SNAPSHOT/alluxio-core-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/server/proxy/pom.xml to org.alluxio/alluxio-core-server-proxy/1.7.0-SNAPSHOT/alluxio-core-server-proxy-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/server/proxy/target/alluxio-core-server-proxy-1.7.0-SNAPSHOT.jar to org.alluxio/alluxio-core-server-proxy/1.7.0-SNAPSHOT/alluxio-core-server-proxy-1.7.0-SNAPSHOT.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/server/proxy/target/alluxio-core-server-proxy-1.7.0-SNAPSHOT-sources.jar to org.alluxio/alluxio-core-server-proxy/1.7.0-SNAPSHOT/alluxio-core-server-proxy-1.7.0-SNAPSHOT-sources.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/shell/pom.xml to org.alluxio/alluxio-shell/1.7.0-SNAPSHOT/alluxio-shell-1.7.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/shell/target/alluxio-shell-1.7.0-SNAPSHOT.jar to org.alluxio/alluxio-shell/1.7.0-SNAPSHOT/alluxio-shell-1.7.0-SNAPSHOT.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/shell/target/alluxio-shell-1.7.0-SNAPSHOT-sources.jar to org.alluxio/alluxio-shell/1.7.0-SNAPSHOT/alluxio-shell-1.7.0-SNAPSHOT-sources.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/tests/pom.xml to org.alluxio/alluxio-tests/1.7.0-SNAPSHOT/alluxio-tests-1.7.0-SNAPSHOT.pomchannel stoppedArchiving artifacts
Test FAILed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17339/
Test PASSed.

Merged build finished. Test PASSed.


How to get the auth token?

Hello there. We have found out how to sync a wallet using the auth token, email, and password of a user with a small Python script that can be found here. The problem is many users do not know their auth token, only their email and password, so they must go into inspect element in a browser and find it manually through the calls the browser makes. Is there any way to get the auth token through the Odysee API? Thanks.

The auth_token is created at line auth_token = newStuff["data"]["auth_token"] in the script. No need to enter it manually

We have a way to show the auth token on odysee.com help page, but it does require a special tag. users can reach out to<EMAIL_ADDRESS>for now to get it. In the future tokens will be going away and replaced with authorization JWT objects, so we'll be doing more with third party support, etc.


Action creators flow types

bug report
What is the current behavior?
The action creators are currently exported with a type corresponding to the action they create.
lib/index.js.flow:
declare export var arrayInsert: ArrayInsertAction
declare export var arrayMove: ArrayMoveAction
declare export var arrayPop: ArrayPopAction
declare export var arrayPush: ArrayPushAction
declare export var arrayRemove: ArrayRemoveAction
declare export var arrayRemoveAll: ArrayRemoveAllAction
declare export var arrayShift: ArrayShiftAction
declare export var arraySplice: ArraySpliceAction
declare export var arraySwap: ArraySwapAction
declare export var arrayUnshift: ArrayUnshiftAction
declare export var autofill: AutofillAction
declare export var blur: BlurAction
declare export var change: ChangeAction
declare export var clearSubmitErrors: ClearSubmitErrorsAction
declare export var destroy: DestroyAction
declare export var focus: FocusAction
declare export var initialize: InitializeAction
declare export var registerField: RegisterFieldAction
declare export var reset: ResetAction
declare export var setSubmitFailed: SetSubmitFailedAction
declare export var setSubmitSucceeded: SetSubmitSucceededAction
declare export var startAsyncValidation: StartAsyncValidationAction
declare export var startSubmit: StartSubmitAction
declare export var stopAsyncValidation: StopAsyncValidationAction
declare export var stopSubmit: StopSubmitAction
declare export var submit: SubmitAction
declare export var touch: TouchAction
declare export var unregisterField: UnregisterFieldAction
declare export var untouch: UntouchAction

This causes type validation errors when using the creators.
E.g.
import { startSubmit } from 'redux-form'
...
yield put(startSubmit(formId))
...

Error: src/modules/forms/sagas/form-handler.js:8
  8:   yield put(startSubmit(formId))
                 ^^^^^^^^^^^^^^^^^^^ function call. Function cannot be called on any member of intersection type
  8:   yield put(startSubmit(formId))
                 ^^^^^^^^^^^ intersection
  Member 1:
                                       v
  179: export type StartSubmitAction = {
  180:   type: string,
  181:   meta: { form: string }
  182: } & Action
       ^ object type. See: node_modules/redux-form/lib/actions.types.js.flow:179
  Error:
    8:   yield put(startSubmit(formId))
                   ^^^^^^^^^^^^^^^^^^^ function call. Callable signature not found in
                                       v
  179: export type StartSubmitAction = {
  180:   type: string,
  181:   meta: { form: string }
  182: } & Action
       ^ object type. See: node_modules/redux-form/lib/actions.types.js.flow:179
  Member 2:
  182: } & Action
           ^^^^^^ Action. See: node_modules/redux-form/lib/actions.types.js.flow:182
  Error:
    8:   yield put(startSubmit(formId))
                   ^^^^^^^^^^^^^^^^^^^ function call. Callable signature not found in
  182: } & Action
           ^^^^^^ object type. See: node_modules/redux-form/lib/actions.types.js.flow:182

What is the expected behavior?
The type of an action creator is a function RETURNING an action, not the type of the action itself. Therefore, this can be fixed by updating the types declarations:
declare export var arrayInsert: ArrayInsert
declare export var arrayMove: ArrayMove
declare export var arrayPop: ArrayPop
declare export var arrayPush: ArrayPush
declare export var arrayRemove: ArrayRemove
declare export var arrayRemoveAll: ArrayRemoveAll
declare export var arrayShift: ArrayShift
declare export var arraySplice: ArraySplice
declare export var arraySwap: ArraySwap
declare export var arrayUnshift: ArrayUnshift
declare export var autofill: Autofill
declare export var blur: Blur
declare export var change: Change
declare export var clearSubmitErrors: ClearSubmitErrors
declare export var destroy: Destroy
declare export var focus: Focus
declare export var initialize: Initialize
declare export var registerField: RegisterField
declare export var reset: Reset
declare export var setSubmitFailed: SetSubmitFailed
declare export var setSubmitSucceeded: SetSubmitSucceeded
declare export var startAsyncValidation: StartAsyncValidation
declare export var startSubmit: StartSubmit
declare export var stopAsyncValidation: StopAsyncValidation
declare export var stopSubmit: StopSubmit
declare export var submit: Submit
declare export var touch: Touch
declare export var unregisterField: UnregisterField
declare export var untouch: Untouch

Result:
import { startSubmit } from 'redux-form'
...
yield put(startSubmit(formId))
...

$ flow
No errors!
Done in 0.28s.

What's your environment?
<EMAIL_ADDRESS><EMAIL_ADDRESS>Windows 10 x64

There is still some errors for the change action creator:
app/shared/pages/contactPage/phoneNumbers.react.js:70
 70:             this.props.dispatch(change(FORM_NAME, "contact.secondaryPhone", null));
                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function call
 70:             this.props.dispatch(change(FORM_NAME, "contact.secondaryPhone", null));
                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ undefined (too few arguments, expected default/rest parameters). This type is incompatible with
116:     touch: boolean,
                ^^^^^^^ boolean. See: node_modules/redux-form/lib/actions.types.js.flow:116

The documentation of the method http://redux-form.com/7.0.3/docs/api/ActionCreators.md/ is
change(form:String, field:String, value:any)
Saves the value to the field.

but there are two extra parameters: touch and persistentSubmitErrors
var change = function change(form, field, value, touch, persistentSubmitErrors) {

and if we don't pass them it throw this error.

Published as v7.0.4.


RequestTimeout is 503 with ThrottlingStrategy

This is a follow-on from #5572. I have found that adding a ThrottlingService decorator is causing the 408 to be replaced by a 503.
You can see this happening in my updated sample. In particular this line is what is resulting in a 503.
.decorator(ThrottlingService.newDecorator(ThrottlingStrategy.rateLimiting(10.0), new CustomThrottlingRejectHandler()))

Interestingly, adding an arbitrary Decorator doesn't have this same result. For example, adding the following line (without the ThrottlingService) still has the desired 408.
.decorator("/test", SimpleDecorator.newDecorator())

One other observation I have is that there is a correspondence between getting exception logging and the 503.
When I have the ThrottlingStrategy and get the 503, I see these logs:
[armeria-common-worker-kqueue-3-2] WARN com.linecorp.armeria.server.DefaultUnhandledExceptionsReporter - Observed 1 exception(s) that didn't reach a LoggingService in the last 10000ms(10000000000ns). Please consider adding a LoggingService as the outermost decorator to get detailed error logs. One of the thrown exceptions:
com.linecorp.armeria.server.RequestTimeoutException
	at com.linecorp.armeria.server.RequestTimeoutException.get(RequestTimeoutException.java:36)
	at com.linecorp.armeria.internal.common.DefaultCancellationScheduler.invokeTask(DefaultCancellationScheduler.java:512)
	at com.linecorp.armeria.internal.common.DefaultCancellationScheduler.lambda$start$2(DefaultCancellationScheduler.java:148)

When I don't have the ThrottlingStrategy I do not see those logs.

Ideally we would not be using a custom error handler to resolve this.

That is correct. 👍

It seems that the default error handler is not being used when the throttling strategy is enabled.

I'm not 100% sure but it seems like it's being used.
We haven't implemented returning 408 yet when the client doesn't set the request fully.
https://github.com/line/armeria/blob/94151152f27df5c8ad61d7d3b840fc47ca2c0161/core/src/main/java/com/linecorp/armeria/server/DefaultServerErrorHandler.java#L88-L90
So I think the server returns 503 if you don't apply your custom error handler.
Let me ping you when #5579 is done so that you don't have to apply your own error handler. 😉

@minwoox , I want to follow up to see when you think #5579 will be completed. This will help us resolve some issues on our end.

@dlvenable Hi! It has already been addressed and included in 1.29.0. 😉
https://github.com/line/armeria/pull/5680

@minwoox , Thank you for working this. I have verified that this fix works with my sample for reproducing the bug.


'400 Bad Request: The CSRF session token is missing.' when trying to import assets via API

When trying to import assets (from 'load-examples') via Superset API, the POST results in The CSRF session token is missing. The CSRF session token should be valid as the same token is able to export assets successfully.
How to reproduce the bug

start dev env docker-compose up from latest master or TAG=2.1.0 docker-compose -f non-dev.yaml up
superset load-examples
export zip from /api/v1/assets/export/
delete all assets
import assets:

curl --request POST \
  --url http://<IP_ADDRESS>:8088/api/v1/assets/import/ \
  --header 'Authorization: Bearer bearer' \
  --header 'Content-Type: multipart/form-data' \
  --header 'X-CSRFToken: token' \
  --cookie session=session \
  --form<EMAIL_ADDRESS>\
  --form 'passwords={"databases/examples.yaml": "superset"}'

Expected results
POST returns 200 with successfully imported assets
Actual results
Error: Number of redirects hit maximum amount
<!doctype html>

<title>Redirecting...</title>

Redirecting...

You should be redirected automatically to the target URL: /login/. If not, click the link.

and from container log
2023-05-23 12:34:20,840:INFO:flask_wtf.csrf:The CSRF session token is missing.
2023-05-23 12:34:20,840:WARNING:superset.views.base:Refresh CSRF token error
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/flask_wtf/csrf.py", line 261, in protect
    validate_csrf(self._get_csrf_token())
  File "/usr/local/lib/python3.9/site-packages/flask_wtf/csrf.py", line 103, in validate_csrf
    raise ValidationError("The CSRF session token is missing.")
wtforms.validators.ValidationError: The CSRF session token is missing.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1821, in full_dispatch_request
    rv = self.preprocess_request()
  File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 2313, in preprocess_request
    rv = self.ensure_sync(before_func)()
  File "/usr/local/lib/python3.9/site-packages/flask_wtf/csrf.py", line 229, in csrf_protect
    self.protect()
  File "/usr/local/lib/python3.9/site-packages/flask_wtf/csrf.py", line 264, in protect
    self._error_response(e.args[0])
  File "/usr/local/lib/python3.9/site-packages/flask_wtf/csrf.py", line 307, in _error_response
    raise CSRFError(reason)
flask_wtf.csrf.CSRFError: 400 Bad Request: The CSRF session token is missing.
2023-05-23 12:34:20,841:INFO:werkzeug:<IP_ADDRESS> - - [23/May/2023 12:34:20] "POST /api/v1/assets/import/ HTTP/1.1" 302 -
2023-05-23 12:34:20,846:INFO:flask_wtf.csrf:The CSRF session token is missing.
2023-05-23 12:34:20,846:WARNING:superset.views.base:Refresh CSRF token error
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/flask_wtf/csrf.py", line 261, in protect
    validate_csrf(self._get_csrf_token())
  File "/usr/local/lib/python3.9/site-packages/flask_wtf/csrf.py", line 103, in validate_csrf
    raise ValidationError("The CSRF session token is missing.")
wtforms.validators.ValidationError: The CSRF session token is missing.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1821, in full_dispatch_request
    rv = self.preprocess_request()
  File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 2313, in preprocess_request
    rv = self.ensure_sync(before_func)()
  File "/usr/local/lib/python3.9/site-packages/flask_wtf/csrf.py", line 229, in csrf_protect
    self.protect()
  File "/usr/local/lib/python3.9/site-packages/flask_wtf/csrf.py", line 264, in protect
    self._error_response(e.args[0])
  File "/usr/local/lib/python3.9/site-packages/flask_wtf/csrf.py", line 307, in _error_response
    raise CSRFError(reason)
flask_wtf.csrf.CSRFError: 400 Bad Request: The CSRF session token is missing.
2023-05-23 12:34:20,847:INFO:werkzeug:<IP_ADDRESS> - - [23/May/2023 12:34:20] "POST /login/ HTTP/1.1" 302 -
2023-05-23 12:34:20,851:INFO:flask_wtf.csrf:The CSRF session token is missing.
2023-05-23 12:34:20,852:WARNING:superset.views.base:Refresh CSRF token error
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/flask_wtf/csrf.py", line 261, in protect
    validate_csrf(self._get_csrf_token())
  File "/usr/local/lib/python3.9/site-packages/flask_wtf/csrf.py", line 103, in validate_csrf
    raise ValidationError("The CSRF session token is missing.")
wtforms.validators.ValidationError: The CSRF session token is missing.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1821, in full_dispatch_request
    rv = self.preprocess_request()
  File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 2313, in preprocess_request
    rv = self.ensure_sync(before_func)()
  File "/usr/local/lib/python3.9/site-packages/flask_wtf/csrf.py", line 229, in csrf_protect
    self.protect()
  File "/usr/local/lib/python3.9/site-packages/flask_wtf/csrf.py", line 264, in protect
    self._error_response(e.args[0])
  File "/usr/local/lib/python3.9/site-packages/flask_wtf/csrf.py", line 307, in _error_response
    raise CSRFError(reason)
flask_wtf.csrf.CSRFError: 400 Bad Request: The CSRF session token is missing.

Environment

browser type and version: curl 8.0.1
superset version: tested for 2.1.0 and https://github.com/apache/superset/tree/bc0079f2fb4d09b6c3b711ef950fcb6a907c7e96
python version: 3.9
any feature flags active: default

Checklist
Make sure to follow these steps before submitting your issue - thank you!

[x] I have checked the superset logs for python stacktraces and included it here as text if there are any.
[x] I have reproduced the issue with at least the latest released version of superset.
[x] I have checked the issue tracker for the same issue and I haven't found one similar.

@sebastianliebscher how did you get the session cookie?

Hi @sebastianliebscher, can you please elaborate on how you solved it?
Thanks!


clarity upgrade

Promises better encoding/decoding compatibility in general.
Our e2e tests still intermittently fail with this though; so not a direct fix for a known issue:
[2021-06-16T21:20:44Z ERROR relayer::valset_relaying] Valset cost estimate for Nonce 4 failed with Err(EthereumRestError(JsonRpcError { code: 3, message: "execution reverted: Validator signature does not match.", data: "Some(String(\"0x08c379a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002356616c696461746f72207369676e617475726520646f6573206e6f74206d617463682e0000000000000000000000000000000000000000000000000000000000\"))" }))

Keeping this in Draft while I run tests. Will decide if it's helpful to capture unit tests for this tomorrow.


Fix bash scripts format

The sh tool provides a consistent format for bash scripts. There is a make target which helps to executed: make fmt. This PR is the result of that execution.
\cc @johnbelamaric

/approve
/lgtm


App: honor sit component details

We should honor speed and animation control values for vehicles we are controlling. This was previously implemented but is not yet present in the new vehicles implementation.
https://github.com/webaverse/hovercraft/blob/8eb370b923c103d65308408c52e44ab4918f3f0b/.metaversefile#L13
"components": [
    {
      "key": "sit",
      "value": {
        "subtype": "saddle",
        "sitOffset": [0, 0.6, 0],
        "walkAnimation": ["wing_2_low|Take 001|BaseLayer", "wing_2_low001|Take 001|BaseLayer", "Object001|Take 001|BaseLayer", "Object002|Take 001|BaseLayer", "Object003|Take 001|BaseLayer", "Object004|Take 001|BaseLayer"],
        "walkAnimationHoldTime": 1,
        "walkAnimationSpeedFactor": 0.1,
        "speed": 0.02,
        "damping": 0.99
      }
    },

walkAnimation refers to an animation in the GLB for the vehicle, not our avatar.

We don't necessarily need to use all of the use parameters. Depending on the implementation, we can drop things like walkAnimationSpeedFactor.


[SUBMARINE-1358]fix the potential timeout issue while building jupyter image

What is this PR for?
The github action hit the timeout exception while building the image of jupyter and jupyter-gpu time to time  since the previous days. After couple testing, I found it indeed takes infinite time to install CVXPY with conda. Per the discussion on weekly meeting, I change the way to install CVXPY from conda to pip, and it also bring s some side-effect here like the some dependent package is too old and cause "use_2to3 is invalid" error, so some of the package had also been upgraded as well in this PR.
What type of PR is it?
Improvement
Todos

[ ] - Task

What is the Jira issue?
https://issues.apache.org/jira/browse/SUBMARINE-1358?
How should this be tested?
I build and deploy the image in my local environment and looks like everything is worked.
Screenshots (if appropriate)
Questions:

Do the license files need updating?No
Are there breaking changes for older versions?No
Does this need new documentation? No

@FatalLin
Hi~ I would like to know if this fix is already available for building images locally, please?

@FatalLin Hi~ I would like to know if this fix is already available for building images locally, please?

Yes, just like I mentioned in description, both the jupyter and jupyter-gpu could be built in my local environment.

@FatalLin I think this should be fine, but I just have a question: Can we add a version range limit on the changes like @pingsutw mentioned last time? This would avoid the problem of new versions causing build failures again in the future.

do you mean fix the version of all dependency?

@FatalLin I think this should be fine, but I just have a question: Can we add a version range limit on the changes like @pingsutw mentioned last time? This would avoid the problem of new versions causing build failures again in the future.

do you mean fix the version of all dependency?

I mean the lines you changed with pip install.

Contributor

@FatalLin I think this should be fine, but I just have a question: Can we add a version range limit on the changes like @pingsutw mentioned last time? This would avoid the problem of new versions causing build failures again in the future.

do you mean fix the version of all dependency?

I mean the lines you changed with pip install.

I think we could fix the version at 1.2.2 - which would be the same with the current command, Im not favor in using a range of version on single dependency is because somehow it may bring unexpected changes from their own dependency, just like it require the version of nodeJs is higher than 14.0 this time.

Is it possible to determine the range/max of versions of cvxpy and pyqlib or nodejs supported by conda 4.11 in the official jupyter project? Or is it possible that using the conda command will automatically install the best version for the current environment?
If we don't specify the version range, every install command will get the latest version and at some point in the future if there is a conflict between the new versions it will again break the build, which is what I'm worried about.

I don't case, if your purpose is trying to avoid potential conflict, why dont we just fix all the version here?

Contributor

@FatalLin I think this should be fine, but I just have a question: Can we add a version range limit on the changes like @pingsutw mentioned last time? This would avoid the problem of new versions causing build failures again in the future.

do you mean fix the version of all dependency?

I mean the lines you changed with pip install.

I think we could fix the version at 1.2.2 - which would be the same with the current command, Im not favor in using a range of version on single dependency is because somehow it may bring unexpected changes from their own dependency, just like it require the version of nodeJs is higher than 14.0 this time.

Is it possible to determine the range/max of versions of cvxpy and pyqlib or nodejs supported by conda 4.11 in the official jupyter project? Or is it possible that using the conda command will automatically install the best version for the current environment?
If we don't specify the version range, every install command will get the latest version and at some point in the future if there is a conflict between the new versions it will again break the build, which is what I'm worried about.

I don't get it, if your purpose is trying to avoid potential conflict, why dont we just fix all the version here?

I'm not a heavy user of conda, but I think conda should install the version of the resource that matches the dependencies according to its own environment (4.11).
So I think we should just make sure that the cvxpy and pyqlib version which you changed using the pip install command matches or try using the conda install command to verify it.

Contributor

@FatalLin I think this should be fine, but I just have a question: Can we add a version range limit on the changes like @pingsutw mentioned last time? This would avoid the problem of new versions causing build failures again in the future.

do you mean fix the version of all dependency?

I mean the lines you changed with pip install.

I think we could fix the version at 1.2.2 - which would be the same with the current command, Im not favor in using a range of version on single dependency is because somehow it may bring unexpected changes from their own dependency, just like it require the version of nodeJs is higher than 14.0 this time.

Is it possible to determine the range/max of versions of cvxpy and pyqlib or nodejs supported by conda 4.11 in the official jupyter project? Or is it possible that using the conda command will automatically install the best version for the current environment?
If we don't specify the version range, every install command will get the latest version and at some point in the future if there is a conflict between the new versions it will again break the build, which is what I'm worried about.

I don't get it, if your purpose is trying to avoid potential conflict, why dont we just fix all the version here?

I'm not a heavy user of conda, but I think conda should install the version of the resource that matches the dependencies according to its own environment (4.11). So I think we should just make sure that the cvxpy and pyqlib version which you changed using the pip install command matches or try using the conda install command to verify it.

As my understanding, the version of the package we install via conda is more associated with the package itself(branch/tag/fix version...etc) and less with the conda's version. Since both the cvxpy and pyqlib is not required by the jupyter, and vise versa, I didn't find any official document to indicate the compatible version between these packages( it would be great appreciated if you point them out). If we want avoid the potential conflict in the future, based on my personal experience, the proper way is fixing all the package in a single version, no matter they are installed by conda or pip.

Here is the original issue link about qlib: https://issues.apache.org/jira/browse/SUBMARINE-725
We can discuss how to determine the version of qlib and the other related dependencies at the next meeting.

@pingsutw could you please some suggestion on the version of these packages we installed? Is that still fulfill your origin thought if we fix all the version on which the current stable is? Or its better to keep them to install the version stable branch.


Not working on Windows

Description:
Not working on Windows, CARBON_HOME environment variable is not set correctly.
Suggested Labels:
SP, Severity/Major, Type/Bug
Affected Product Version:
Alpha2
OS, DB, other environment details and versions:
Windows

Even after setting the JAVA_HOME environment variable, the pack is not starting up due to H2 path issues:
[2017-11-24 03:20:45,546] ERROR org.wso2.carbon.kernel.internal.startupresolver.StartupComponentManager} - Runtime Exception occurred while calling onAllRequiredCapabilitiesAvailable of component carbon-datasource-service com.zaxxer.hikari.pool.PoolInitializationException: Exception during pool initialization: IO Exception: "java.io.IOException: Bad pathname"; "E:wso2sp-4.0.0-Alpha3-SNAPSHOTbin../wso2/worker/database/WSO2_CARBON_DB.mv.db" [90031-196]

Tracked in https://github.com/wso2/carbon-kernel/issues/1615 also.


Add a button to copy code

Button needs to activate only when there is content in the main editor

Also, do you know of a reactive way (one in which a rerender will trigger) to obtain the current content of the editor? I haven't been able to find a way to perform actions when the editor goes from being empty to not and vice versa from within the Sidebar component. The content can be retrieved from the editorConfig object passed as a prop into the sidebar, but since the contents are returned from it's getValue method the sidebar doesn't know to rerender when that value changes as it can't watch that function.

@JGriffCS There are two operations that I see could be beneficial for someone using the mouse.

Copy
Clear

Currently we do not have the controlled Monaco editor, so showing them only when there is content in the edtiro is unfortunately no an option. But we do have to plan for it.
I was thinking on the lines of a floating action buton. Something like React Tiny Fab could work the trick.
Do comment if you can think of something that might not work because of this or if you have something better in mind.

Thanks for the additional info! The React Tiny Fab library looks pretty straight forward and looks like it would mesh well with the editor. To confirm, your thought is to place an "actions bar" floating at the bottom of the editor that would, for now, contain a button to copy the entire contents to the editor and another button to clear the entire contents from the editor? Something like this?:

We don't need a bar per se. We just need a button, that would show the copy and clear buttons on hover.
Something like the React FAB demo:

Ahhhh, sorry, I totally misunderstood what React Fab was doing and instead was looking at the tools associated with the code example on the page itself haha 🤦♂ I see what React Fab is doing now. I think that should be pretty straight forward.
Do you have any preferences on styling? I could leverage the Action components from the example and use the copy and close svgs for the copy/clear actions, or, if you'd prefer a different style, look into creating custom button actions.

@JGriffCS  Don't have any preferences as of now, feel free to go ahead


Forward movement does not work on Main level

Forward movement does not operate on the main level, while all other forms of movement do. This is unique to the main level pawn, and not an issue on the movement level.
Possible leads:

Collisoin issues
forces forward not processed
Input axis somehow clamped at 0 and not going above

Fix up #26


Error from out of date pod repo

We're getting an error due to the pods repo being outdated:
  In snapshot (Podfile.lock):
    Analytics (= 4.0.1)
  In Podfile:
    RNAnalytics (from `../node_modules/@segment/analytics-react-native`) was resolved to 1.2.1, which depends on
      Analytics (= 3.9.0)
You have either:
 * out-of-date source repos which you can update with `pod repo update` or with `pod install --repo-update`.
 * changed the constraints of dependency `Analytics` inside your development pod `RNAnalytics`.
   You should run `pod update Analytics` to apply changes you've made.

It looks like the relevant pod was updated on 18/06/2020. My understanding from an old ticket on this repo is that the pods repo gets automatically updated each weekend on the build machines. If so, I'm not sure why this is happening - is this a bug?
Either way, is there a way to force this step to update to run pod repo update as part of the build?

Hi @michaelrccurtis,
You can add a Script step right before the CocoaPods step and add pod repo update and it will run it before the CocoaPods step starts.

Thanks @non-binary! Just to check - is the repo updated automatically still on build devices regularly?

@michaelrccurtis I believe it is updated when we do deployments to the VM infrastructure.


Parse Elixir sub-dependencies

The work for this needs to be done in https://github.com/dependabot/dependabot-core/blob/master/hex/helpers/lib/parse_deps.exs

Closing as a duplicate of https://github.com/dependabot/dependabot-core/issues/1747. I realize that one is newer, but it also has more info than this one.


Update user link in engagement user management tab

-update link path in engagement user management tab
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the met-public license (Apache 2.0).

Codecov Report

Merging #1808 (da15563) into main (212c22b) will decrease coverage by 0.19%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #1808      +/-   ##
==========================================
- Coverage   70.94%   70.75%   -0.19%
==========================================
  Files         386      389       +3
  Lines       11676    11785     +109
  Branches      882      893      +11
==========================================
+ Hits         8283     8338      +55
- Misses       3244     3294      +50
- Partials      149      153       +4

Flag
Coverage Δ

metweb
63.21% <ø> (-0.23%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...ment/form/EngagementFormTabs/TeamMemberListing.tsx
100.00% <ø> (ø)

... and 10 files with indirect coverage changes


#i "nuget:some invalid path" poisons the resolve

#i "nuget:some invalid path" poisons the resolve
Originaly the script had #i "c:\temp1", once the script had been fixed subsequent submits still fail.

This seems to be true for nuget references too #r.
I typo'd a nugget package and had to close and reopen VS Code to get it to load correctly.

@dburriss, if you get stuck you can also restart the kernel, so you don't have to close VS Code. From the command pallet, select .NET Interactive: Restart the current notebook's kernel.


Issues with s.u.p.e.r deployment through jamf.

Hey there, I have a weird issue with super where it works flawless on some of our devices and is not unable to update others. The error messages I'm getting are "No available recommended (non-system) update(s) or they may be deferred via configuration profile." "Error: Installation of macOS update/upgrade timed out after 300 seconds, trying again in 3600 seconds.". and a few others. I'm happy to send logs from user devices and screenshots of my Jamf Configuration profiles and policies. Thank you.

The macOS update process is messy but these aren't issues directly caused by super. Both of these messages are super reacting to the macOS softwareupdate mechanism. In the first case, the system isn't finding any updates, in the second case the system update is stalling. For both of these, generally, the only thing you or super can do is to try again later. You can provide logs, but it's likely that if you simply restart these systems and try again, you will get different results.

I agree with you that macOS updates are an uphill battle, thank you for making the process easier for us admins. Cheers for the advice!


Bump python to 3.11.1

Before submitting the PR, please go through the sections below and fill in what you can. If there are any items that are irrelevant for the current PR, remove the row. If a relevant option is missing, please add it as an item and add a PR comment informing that the new option should be included into this template.

All relevant items should be ticked before the PR is merged

Description

[x] Summary of the changes and the related issue: There's a python vulnerability and we're therefore bumping it to 3.11.1
Fixes an issue in GitHub / Jira:

[x] Yes: DDS-1412

Type of change

[x] Security Alert fix

Checklist:
General

[x] Changelog: New row added. Not needed when PR includes only tests.

Repository / Releases

[ ] Rebase / update of branch done

Checks

[x] CodeQL passes
[x] Formatting: Black & Prettier checks pass
Tests

[ ] The tests pass

Seems like the CVE https://www.opencve.io/cve/CVE-2022-45061 applies to the web mostly in our case. However, bumping to Python 3.11 breaks the web. I don't want to bump only CLI so until there's a fix for the break, we will keep the current versions.

wrapt is what gives the issues. Needs new version. We're not using the broken part.

Closing for now.


Video stitching fails for some videos in final step

In some cases video will fails to encode, ffmpeg will claim that the framerate is not right. This happens after all the frames are already stitched.

Added scanning of streams to find sane FPS or assume 29.97 if that also fails.


replace sumo_binary with render

render is the most common phrase in similar software architectures when specifying whether to use the gui. @eugenevinitsky any thoughts on this? I have something sort of setup, but am hesitant to create a PR if the new change will lead to confusion

So it'd be render = False or True? Makes a lot of sense to me.

awesome, will create a PR then

Done, thanks!


AS a moderator using the lobby command I should be able to list all lobby channels that have been setup for the server

Story Points: 3

AS a moderator using the lobby command I should be able to list all lobby channels that have been setup for the server
SO THAT I am able to see if a lobby channel has already been setup
Acceptance Criteria
AS a server moderator
GIVEN I want to know what lobby channels have already been setup
WHEN I use /listlobby
THEN I should see all the channels in the server which are setup
Subtasks

[x] Create command
[x] Fix lobbies not showing up
[x] Fix channel link not working
[ ] #224

I believe the reason they're not showing up is to do with the forEach not being asynchronous

Testing has failed - The format of the embed has the following issues:

The channel embed uses "Game Name" rather than what seems to be the channel link
The time set should be in format "YYYY-MM-DD HH:mm"


feature request: --format

Just to put it on the radar, would be nice to have an equivalent to mpc --format with relevant options.
nice script :)

I'm not familiar with this option, can you give me an example?

Currently away from comp, here's the snippet from the man page:
-f,--format

Configure the format of song display for status and the playlist. The metadata delimiters are "%name%", "%artist%", "%album%", "%title%", "%track%", "%time%", and "%file%". The [] operator is used to group output such that if no metadata delimiters are found or matched between '[' and ']', then none of the characters between '[' and ']' are output. '&' and '|' are logical operators for and and or. '#' is used to escape characters. Some useful examples for format are: "%file%" and "[[%artist% - ]%title%]|[%file%]". This command also takes the following defined escape sequences:
\\ - backslash
\a - alert
\b - backspace
\t - tab
\n - newline
\v - vertical tab
\f - form-feed
\r - carriage return

eg mpc --format "%file%"would give just the filename.
upon rethinking there might not be a lot of options/use for this here -- mainly I just wanted a way to get title only without mpvc | head -n 1.

No I  some kind of formatting is needed. The question is how. Thankfully using printf we can have support for escape sequences, but not sure how to implement [] and the logical operators. Probably going to have to adapt the getopts method too as that only returns the next argument... Also how to implement the formatting arguments themshelves such as %artist%. More thought is needed before I try implementing this.

f41fe821c9e7c593d83b45d5af48695a9d676d94 implements this. Next please!

thanks!


DeepSpeed support for Full Finetuning - FSDP performance is not as good as Deepspeed

🚀 The feature, motivation and pitch
I trained the current code with FSDP to full fine-tune Llama2, it is very quick, but it turns out the performance is even worse than LoRA fine-tuned models using deepspeed ; and llama2-13B is even worse than 7B, which is very strange. Sadly, my code ability is not enough to support me to do that.
More infomation
With hyper-parameter search on batch-size and train epoch, also with other lr-scheduler, the FSDP's eval loss is worse than what is Deepspeed fine-tuned; also on the test-datasets, the performance differs to 5 points on llama2-7B, and larger on llama2-13B. And I don't know the reason.
The deepspeed code I use is based on huggingface-example-run_no-trainer,
the code is ok to run for 7B, but not work for llama2-13B, and its very slow.
I found a similar issue which discuss performance FSDP performance bad than Deepspeed as below, it seems it's caused by the model load, please take a look:
https://github.com/huggingface/trl/issues/1224

@waterluck Not sure if it helps, but probably check this .

@Smu-Tan Thanks for sharing the info! It does make sense.

@waterluck Your result is same as mine. When using full fine-tune, FSDP is as quick as DeepSpeed. But when using PEFT, such as lora or qlora, FSDP is slower than DeepSpeed.