dtls timer timeouts when multiple Finished messages are sent

When a client runs slowly, it is possible for the server to resend multiple flights of "Server Hello done" message. This leads the client to resend "Change Cipher Spec" and "Finished" messages multiple times as well (with each resend starting a dtls timer), resulting in the corresponding flights of messages to come back from the server. However, on the client, the handshake is done after parsing the first "Finished" message, and only the dtls timer corresponding to the first flight of "Finished" message sent is stopped. The dtls timers for the other outstanding flights of "Finished" messages sent are not stopped, and the remaining flights of received responses are left in the buffer.
The dtls timers will eventually expire after 60 secs, leading to "Error occured: M2MInterface::NetworkError" being seen in the context of the mbed-client-linux-example.

ARM Internal Ref: IOTSSL-643

mbed TLS has no concept of "multiple timers" running. While I trust your report that you're getting timeouts when you shouldn't, I think that either (a) your interpretation that this comes from have multiple timers running at a given time, and only one of them being canceled, is wrong, or (b) the timer callbacks are not implemented correctly. If (b) is the case, then this is a bug in the application using mbed TLS, not in mbed TLS itself.

I've just edited our DTLS tutorial to make the following point explicit:

Note: you need to make sure that calling set_delay() while a timer is already running cancels it (more precisely, that no event will be generated when the final delay expires). In particular, after a call like set_delay(0, 0), no timer should be running any more. Said otherwise, there should be at most one running timer at any given time.

Thanks for looking into this. It is possible that my interpretation is inaccurate, given I am new to this. I tried to dig into the mbed code, but maybe I shouldn't have. =P Nevertheless, as you said, I am seeing timeouts in the context of the mbed-client-linux-example whenever the server resends message flight 4 in Fig.1 from http://tools.ietf.org/html/rfc4347 due to the client running slow.  The error "Error occured: M2MInterface::NetworkError" is displayed when M2MConnectionSecurityPimpl::timer_expired() is invoked after the DTLS handshake is complete, when the timer eventually expires.

Thanks for taking an interest in the project @vanti. I'm closing this issue as I see it as more of a question than a defect, and @mpg has clarified the documentation. If for any reason you're unsatisfied, please feel  free to respond and we'll look into this again.

@mpg's post still does not explain why I am getting timeouts from the DTLS timer after the handshake is complete in mbed-client-linux-example, when the handshake is performed as described. The issue needs to be looked at. Do you want me to re-file this with the 'mbed-client-linux-example' project, given you feel this is a problem with the application itself?


Matrix dimensions must agree error when running prob2lines/main.m in show mode.

I am getting

Matrix dimensions must agree.
Error in main (line 52)
probMaps(:,:,mod(j,3)+1) = probMaps(:,:,mod(j,3)+1) + probMap;

error if setting

show = true;  % set to true to visualize

flag. Without this flag everything works without errors.

size(probMaps)
208   976     3

Maybe you can print the shape of probMap and probMaps to debug when setting show to be true.


Dbit reader - improved barcode checking behavior

Hi all!
Here we fix the behavior of the barcode checking. Now the barcodes sets, A and B, are not required to have the same sequence.
We also added the entry for the DBiT reader in the README.md
Thanks for your time and support.

Codecov Report
Attention: Patch coverage is 0% with 7 lines in your changes are missing coverage. Please review.

Project coverage is 35.73%. Comparing base (944dec6) to head (e85669a).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #113      +/-   ##
==========================================
- Coverage   35.76%   35.73%   -0.03%
==========================================
  Files          16       16
  Lines        1194     1195       +1
==========================================
  Hits          427      427
- Misses        767      768       +1

Files
Coverage Δ

src/spatialdata_io/readers/dbit.py
21.42% <0.00%> (-0.20%)
:arrow_down:

Looks great to me, thanks for the update!


bug: Doesn't support Cairo 2.8 (A lot of warnings)

Bug Report
Alexandria version:
82088715b454d8cf197b9c54c31525ca0cb57a05
Current behavior:
There are plenty of warnings while building the project with the most recent Scarb.
Expected behavior:
No warning should be present
Steps to reproduce:
Just upgrade Scarb, SNFoundry, and Universal Sierra to the most recent versions and try to build a project which is using Alexandria.
Related screendhots:

Some more context:

Getting something similar on my end, an upgrade to Cairo 2.8.0 would be more than welcome 🙏


The system can't find the specify File

I implement LegacyWrapper but i have a problem when execute it and try to find the dll file:

but dll exist when compile projects

Hello @enrykez79,
is the application's home directory maybe set to another location?


Add String.split example

to show that it always returns at least one list item even if the string is empty

Maybe String.split could even return a non-empty list if that's the case.


Correctly described query() method for Phinx 0.4.3

Returns a PDOStatement, not an array.

Oops. Didn't notice the doc was and RST rather than an MD. Have not encountered an RST before.

fixed in a7510f32957b016eb9221cf4f50c2529952a138e


#Home is not defined

Hello,
Sorry to trouble you with something that might be trivial...
I am running Node Red on a Windows 11 Home edition.
I have installed with some difficulty the plugin (the script didn't work for me so I had to create the directories and do the install by hand).
It now looks like the plugin is installed but when I run it i get the message:
$HOME is not defined.
Am I missing a setting somewhere?
Thanks in advance for your help.

Sorry to trouble you with something that might be trivial...

No problem. Each issue reported is very valuable to us - as it helps to improve this tool.

I am running Node Red on a Windows 11 Home edition.
[...]
Am I missing a setting somewhere?

Not really. You're just the first one (that I am aware of) who tries to run this on a Windows platform. As each platform demands some specific steps for setup, those for Windows need some tuning - as it looks like.
You could do me a great favour if you invest a bit of time & a bit more of patience - and act as test bed for this Windows specific setup. I would signal you when changes are implemented that promise some progress & you try to run this on your system - until it's done. The first step e.g. could be available at the end of this week...

Dear Ralph,
That would be my pleasure!
My goal is to use a Moddable two and Nore-Red to control some of the
machines we produce so having your plugin work would be a god sent for me.
Looking forward to the update.
All the best,
Stephane.
Il giorno lun 21 nov 2022 alle ore 21:05 ralphwetzel <
@.***> ha scritto:

Sorry to trouble you with something that might be trivial...
No problem. Each issue reported is very valuable to us - as it helps to
improve this tool.
I am running Node Red on a Windows 11 Home edition.
[...]
Am I missing a setting somewhere?
Not really. You're just the first one (that I am aware of) who tries to
run this on a Windows platform. As each platform demands some specific
steps for setup, those for Windows need some tuning - as it looks like.
You could do me a great favour if you invest a bit of time & a bit more of
patience - and act as test bed for this Windows specific setup. I would
signal you when changes are implemented that promise some progress & you
try to run this on your system - until it's done. The first step e.g. could
be available at the end of this week...
—
Reply to this email directly, view it on GitHub
https://github.com/ralphwetzel/node-red-mcu-plugin/issues/5#issuecomment-1322581240,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AT4LGL52C5W4NCXQV7HXTSDWJPIZRANCNFSM6AAAAAASG5KC2M
.
You are receiving this because you authored the thread.Message ID:
@.***>

That would be my pleasure!

Thank you! Here we go:
I've reflected the Getting Started instructions to build for ESP32 on Windows in the plugin now. Given you've followed those, you thus should be able to launch the build process.
Looking forward to the result of your test...

ok, here we go.
Step 1:
I removed the previously created folders
Step 2 from the command prompt:
I go to my node-red folder (the user folder as per instructions) and launch
the install.
[image: image.png]
Results:
[image: image.png]
This is what happened before.
I got around it by creating the node-red-mcu-plugin folder myself, doing a
git pull and then calling the install.
log file her below:
0 verbose cli C:\Program Files\nodejs\node.exe
C:\Users\Stephane\AppData\Roaming\npm\node_modules\npm\bin\npm-cli.js
1 info using @.***
2 info using @.***
3 timing npm:load:whichnode Completed in 2ms
4 timing config:load:defaults Completed in 5ms
5 timing
config:load:file:C:\Users\Stephane\AppData\Roaming\npm\node_modules\npm\npmrc
Completed in 6ms
6 timing config:load:builtin Completed in 6ms
7 timing config:load:cli Completed in 3ms
8 timing config:load:env Completed in 1ms
9 timing config:load:file:C:\Users\Stephane.node-red.npmrc Completed in
1ms
10 timing config:load:project Completed in 4ms
11 timing config:load:file:C:\Users\Stephane.npmrc Completed in 0ms
12 timing config:load:user Completed in 1ms
13 timing config:load:file:C:\Users\Stephane\AppData\Roaming\npm\etc\npmrc
Completed in 1ms
14 timing config:load:global Completed in 1ms
15 timing config:load:setEnvs Completed in 2ms
16 timing config:load Completed in 24ms
17 timing npm:load:configload Completed in 24ms
18 timing npm:load:mkdirpcache Completed in 1ms
19 timing npm:load:mkdirplogs Completed in 0ms
20 verbose title npm install
https://github.com/ralphwetzel/node-red-mcu-plugin
21 verbose argv "install" "
https://github.com/ralphwetzel/node-red-mcu-plugin"
22 timing npm:load:setTitle Completed in 2ms
23 timing config:load:flatten Completed in 6ms
24 timing npm:load:display Completed in 8ms
25 verbose logfile logs-max:10
dir:C:\Users\Stephane\AppData\Local\npm-cache_logs\2022-11-23T20_52_15_615Z-
26 verbose logfile
C:\Users\Stephane\AppData\Local\npm-cache_logs\2022-11-23T20_52_15_615Z-debug-0.log
27 timing npm:load:logFile Completed in 9ms
28 timing npm:load:timers Completed in 0ms
29 timing npm:load:configScope Completed in 0ms
30 timing npm:load Completed in 49ms
31 silly logfile start cleaning logs, removing 2 files
32 timing config:load:flatten Completed in 0ms
33 timing arborist:ctor Completed in 2ms
34 silly logfile done cleaning log files
35 timing idealTree:init Completed in 142ms
36 verbose shrinkwrap failed to load node_modules/.package-lock.json out of
date, updated: node_modules
37 timing idealTree:userRequests Completed in 5133ms
38 silly idealTree buildDeps
39 silly fetch manifest @ralphwetzel/node-red-mcu-plugin@
https://github.com/ralphwetzel/node-red-mcu-plugin
40 silly placeDep ROOT @@.***  OK for:
@@.*** want: ^2.1.2
57 silly placeDep ROOT @.*** OK for:
@@.*** want: ^10.1.0
58 silly placeDep ROOT @.*** OK for:
@@.*** want: ^1.8.0
59 silly placeDep ROOT @.*** OK for:
@@.*** want: <4
60 silly placeDep ROOT @.*** OK for:
@@.*** want: ^4.0.3
61 silly placeDep ROOT @.*** OK for:
@@.*** want: ^10.4.0
62 silly placeDep ROOT @.***  OK for: @.*** want:
^4.2.0
104 silly placeDep ROOT @.*** OK for: @.*** want: ^6.0.1
105 silly placeDep ROOT @.*** OK for: @.*** want:
^2.0.0
106 timing idealTree:node_modules/fs-extra Completed in 18ms
107 timing idealTree:node_modules/graceful-fs Completed in 0ms
108 timing idealTree:node_modules/jsonfile Completed in 0ms
109 timing idealTree:node_modules/loglevel Completed in 0ms
110 timing idealTree:node_modules/nanoid Completed in 1ms
111 silly placeDep ROOT @.***  OK for: @.*** want:
^0.1.0
116 timing idealTree:node_modules/path-root Completed in 6ms
117 timing idealTree:node_modules/path-root-regex Completed in 0ms
118 silly placeDep ROOT @@.*** OK for:
@.*** want: 10.2.2
119 silly placeDep ROOT @@.*** OK for:
@.*** want: 10.8.0
120 silly placeDep ROOT @@.*** OK for:
@.*** want: 10.5.0
121 silly placeDep ROOT @@.*** OK for:
@.*** want: 10.5.0
122 silly placeDep ROOT @@.*** OK for:
@.*** want: 10.5.0
123 silly placeDep ROOT @@.*** OK
for: @.*** want: 10.5.0
124 silly placeDep ROOT @@.*** OK for:
@.*** want: 10.5.0
125 silly placeDep ROOT @@.*** OK for:
@.*** want: 10.5.0
126 silly placeDep ROOT @@.*** OK for:
@.*** want: 10.5.0
127 silly placeDep ROOT @@.*** OK for:
@.*** want: 10.5.0
128 silly placeDep ROOT @@.*** OK for:
@.*** want: 10.5.0
129 silly placeDep ROOT @@.*** OK for:
@.*** want: 10.5.0
130 silly placeDep ROOT @@.*** OK for: @.***
want: 10.5.0
131 silly placeDep node_modules/serialport @.***  OK for:
@@.*** want: ^1.2.1
145 silly placeDep @./binding-mock @. OK
for: @@.*** want: ^4.3.3
146 timing @./binding-mock Completed in 19ms
147 silly placeDep @./bindings-cpp @.*** OK
for: @@.*** want: ^4.3.2
148 silly placeDep ROOT @.*** OK for:
@@.*** want: ^5.0.0
149 silly placeDep ROOT @.*** OK for:
@@.*** want: ^4.3.0
150 timing @./bindings-cpp Completed in 13ms
151 timing @./bindings-interface Completed
in 0ms
152 timing @./parser-byte-length Completed
in 1ms
153 timing @./parser-cctalk Completed in 0ms
154 timing @./parser-delimiter Completed in
0ms
155 timing @./parser-inter-byte-timeout
Completed in 0ms
156 timing @./parser-packet-length
Completed in 1ms
157 timing @./parser-readline Completed in
0ms
158 timing @./parser-ready Completed in 0ms
159 timing @./parser-regex Completed in 0ms
160 timing @./parser-slip-encoder Completed
in 0ms
161 timing @./parser-spacepacket Completed
in 0ms
162 silly placeDep @./stream @. OK for:
@@.*** want: ^4.3.2
163 timing @./stream Completed in 6ms
164 timing idealTree:node_modules/node-addon-api Completed in 0ms
165 timing idealTree:node_modules/node-gyp-build Completed in 0ms
166 timing idealTree:node_modules/universalify Completed in 0ms
167 silly placeDep ROOT @@. OK for: @.*** want: ^0.8.3
168 timing idealTree:node_modules/x2js Completed in 3ms
169 timing @./xmldom Completed in 0ms
170 silly placeDep @./binding-mock @.*** OK for:
@.*** want: 2.1.2
171 timing
@./binding-mock/node_modules/debug
Completed in 4ms
172 timing @./binding-mock/node_modules/ms
Completed in 0ms
173 silly placeDep @./bindings-cpp @. OK for:
@.*** want: 2.1.2
174 timing
@./bindings-cpp/node_modules/debug
Completed in 6ms
175 timing @./bindings-cpp/node_modules/ms
Completed in 0ms
176 silly placeDep @./stream @. OK for:
@.*** want: 2.1.2
177 timing @./stream/node_modules/debug
Completed in 8ms
178 timing @./stream/node_modules/ms
Completed in 0ms
179 silly placeDep node_modules/serialport @.***

Thank you! Here we go:
I've reflected the Getting Started instructions to build for ESP32 on
Windows
https://github.com/Moddable-OpenSource/moddable/blob/public/documentation/devices/esp32.md#installing-1
in the plugin now. Given you've followed those, you thus should be able to
launch the build process.
Looking forward to the result of your test...
—
Reply to this email directly, view it on GitHub
https://github.com/ralphwetzel/node-red-mcu-plugin/issues/5#issuecomment-1324631883,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AT4LGL44WMDWLBSFWYO53RTWJW62TANCNFSM6AAAAAASG5KC2M
.
You are receiving this because you authored the thread.Message ID:
@.***>

Your screenshots were not posted.
I propose you file your comments directly in GitHub, rather than sending them via mail.
As a first impression: You were not able to install node-red-mcu-plugin on your system - following the procedure given. Is my assumption correct?

Yes.
Runing "npm install https://github.com/ralphwetzel/node-red-mcu-plugin" from the comand prompt window, in the .node-red folder didn't work.
I had to create the folder "node-red-mcu" and "node-red-mcu-plugin" and run a "git pull" for each.
It looks like the plugin install correctly.

However, when I run it I get:
Starting Build process...
Creating build environment for platform sim/moddable_two.
Working directory: \Users\Stephane.node-red\mcu-plugin-cache\configglzdwp8sucf
$HOME is not defined.

Runing "npm install https://github.com/ralphwetzel/node-red-mcu-plugin" from the comand prompt window, in the .node-red folder didn't work.

That was a very valuable hint. I've changed the install script for node-red-mcu to succeed now on any platform supported by node.

Hi, I re-installed using the last script. It looks like all is nominal.
Now I need to figure out how to use it...
Thanks!


Use uppercase for class definition

Hi Chris, I know you only touched on OO in the AIMS course but not having seen any OO language in which class definitions are all lowercase I thought it best to ensure people seeing OO for the first time start off with good habits.

HTML is the only one I can think of! Thanks.


Use doctest for testing the interface

Make at least some doctest tests which provide an example of how the library should be used.
fn and calendars are ideal places for this to happen, and perhaps dates

See https://docs.python.org/2/library/doctest.html#simple-usage-checking-examples-in-a-text-file


[SPARK-34710][SQL] Add tableType column for SHOW TABLES to distinguish view and tables

What changes were proposed in this pull request?
SHOW TABLES has an output column isTemporary which only indicates whether a view is a local temp view or not, that is not enough for users if they want a pipeline of Spark commands, such as SHOW TABLES foreach { case view => DROP VIEW; case table => DROP TABLE}
Why are the changes needed?

distinguish view and tables
Usually, most modern databases store tableType as a string column in INFORMATION_SCHEMA.TABLES.
On the reading side, they also return a string value for it.
FYI, https://docs.google.com/spreadsheets/d/1LeHYbGCDjgr-rYwQMlHBhJbeDxjOVuUatozgvKdxq6Y/edit#gid=0
Besides, as SHOW TABLES is not ANSI-standard, so it might be good for us to follow the JDBC standard. Then we can make our command and JDBC meta operation consistent
Does this PR introduce any user-facing change?

yes, show tables and show table extended will have one new column  called tableType at the end
SHOW TABLES ...
# before
struct<namespace,tableName:string,isTemporary:boolean>

#after
struct<namespace:string,tableName:string,isTemporary:boolean,tableType:string>

SHOW TABLE EXTENDED ...
# before
struct<namespace:string,tableName:string,isTemporary:boolean,information:string>

#after
struct<namespace:string,tableName:string,isTemporary:boolean,information:string,tableType:string>

How was this patch tested?

ut modified and added

Test build #135958 has started for PR 31804 at commit 2546812.

cc @cloud-fan @dongjoon-hyun @HyukjinKwon @maropu thanks for the review.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/40542/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/135959/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/40543/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/40542/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/40543/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/40543/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/40542/

Test build #135958 has finished for PR 31804 at commit 2546812.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/135958/

Test build #135975 has started for PR 31804 at commit 6bc1614.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/135975/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/40559/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/135977/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/40561/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/40561/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/40561/

Could you add some query examples for this behaviour change in the PR description? Also, I think we need to update the migration guide, too.

Could you add some query examples for this behaviour change in the PR description? Also, I think we need to update the migration guide, too.

Thanks, @maropu, your suggestions sound good~

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/40576/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/135992/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/135996/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/40580/

Test build #136002 has started for PR 31804 at commit 5e9dbcc.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/40586/

Test build #136005 has started for PR 31804 at commit bee8cbe.

Test build #136002 has finished for PR 31804 at commit 5e9dbcc.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/136002/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/40589/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/40589/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/40589/

retest this please

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/40596/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/136012/

Test build #136005 has finished for PR 31804 at commit bee8cbe.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/136005/

retest this please

Test build #136543 has started for PR 31804 at commit bee8cbe.

Test build #136544 has started for PR 31804 at commit eaba257.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/41127/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/41128/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/41128/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/41128/

Test build #136545 has started for PR 31804 at commit f50d87b.

Test build #136544 has finished for PR 31804 at commit eaba257.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/136544/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/41127/

Test build #136543 has finished for PR 31804 at commit bee8cbe.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/41127/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/136543/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/41129/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/41129/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/41129/

Test build #136545 has finished for PR 31804 at commit f50d87b.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/136545/

Test build #136705 has started for PR 31804 at commit 3ef5b5f.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/41286/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/41286/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/41286/

cc @cloud-fan @HyukjinKwon PTAL, thanks

Test build #137568 has started for PR 31804 at commit 3ef5b5f.

Test build #137568 has finished for PR 31804 at commit 3ef5b5f.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/137568/

Test build #137604 has started for PR 31804 at commit 3ef5b5f.

Test build #137604 has finished for PR 31804 at commit 3ef5b5f.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/137604/


Add optional feature support to RPM package building

Some optional features can now be enabled for RPM building using the
rpmbuild conditional build parameters (--with and --without)
For example, sasl can be enabled and code coverage disabled in the RPM with:
rpmbuild --with sasl --without coverage -tb memcached-1.5.12.tar.gz
Note: rpmbuild doesn't allow dashes (-) in the parameter names.
This is why arm_crc32 sasl_pwdb and option_checking use underscores
Also, I was unable to get straightforward parameters working for optiions
with both enable and disable versions for configure.
e.g. --enable-dependency-tracking and --disable-dependency-tracking

out in 1.5.14


Components in widget does not initialize

When component is loaded in widget via oro_widget_render, then this component does nothing.
UIBundle\Resources\public\js\layout.js just loads this component but no initialization is performed.
Version: 1.7.2

Please, check that component is placed in scope of widget-content container

@ramunasd did that solve the issue?

I'm closing this because so much time passed since i found issue. Thanks anyway ;)


Cannot read property 'addEventListener' of null

on a private repos pull request detail page I get a js error
https://github.com/complex-gmbh/kunzmann/pull/401

using Version 80.0.3946.0
Refined Github 19.10.13

Duplicate #2334


⚠ Bofrost.be has degraded performance

In cc14bc2, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1429 ms

Resolved: Bofrost.be performance has improved in 1da8ffb after 8 minutes.


Allow external API access to docker container

Whoops, mislabeled this

Probably best to regard this as WIP for now, it works locally but there are inconsistent results

I have rechecked this and it is definitely not possible to access the docker container's node API from another machine without this change.
With the conf changed the API is accessible from both localhost and remotely.
Note that the conf file is not actually copied to the container by default; but the readme contains instructions for how to do this.


⚠ Bofrost.at has degraded performance

In ca427a5, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 948 ms

Resolved: Bofrost.at performance has improved in 7d79d20 after 6 minutes.


Upgrade to inkscape 0.91

As already mentioned in Homebrew/homebrew/issues/36403 we should upgrade to the latest version of inkscape!

Closing in favour of #59.


There is no "PTC" command available

I've installed it and use python 2.7.  typing "ptc" doesn't do anything and I can't find the "ptc.py" file to run anyhow.  Which py do I need to run after install?

Oh, it installed the command into my python27\scripts\ folder.....that's a bit odd.  So then I would request that it simply be a py execution in the future.


@conda-forge-admin, please add bot automerge

@conda-forge-admin, please add bot automerge

Hi! This is the friendly automated conda-forge-webservice.
I just wanted to let you know that I added bot automerge in conda-forge/pytest-codestyle-feedstock#3.


chore(package): Updating node versions

Fixes #7

Current coverage is 100% (diff: 100%)

Merging #8 into master will not change coverage

@@           master    #8   diff @@
===================================
  Files           1     1
  Lines         136   136
  Methods        25    25
  Messages        0     0
  Branches       20    20
===================================
  Hits          136   136
  Misses          0     0
  Partials        0     0

Powered by Codecov. Last update affd90c...673ebe3


[node-ponyfill.js] FormData is not polyfilled correctly if it's the only one undefined

Describe the bug

FormData is not polyfilled correctly if it is the only thing that does exist in global
To Reproduce
Steps to reproduce the behavior:
I'm not sure what's the best way to reproduce this behaviour. However, the Webpack config of the library I'm using ( Nx if that matters ) does some polyfilling by itself, here's what it looks like when I try to console.log({...exports}) at the start of node-ponyfill.js:
*** node-pony-fill.js:  {
  fetch: [Function (anonymous)],
  Headers: [class Headers extends URLSearchParams],
  Request: [class Request extends Body],
  Response: [class Response extends Body],
  FormData: undefined,       // *** FormData is the only one undefined
  AbortController: [class AbortController],
  ReadableStream: Object [Module] {
    ByteLengthQueuingStrategy: [Getter],
    CountQueuingStrategy: [Getter],
    ReadableByteStreamController: [Getter],
    ReadableStream: [Getter],
    ReadableStreamBYOBReader: [Getter],
    ReadableStreamBYOBRequest: [Getter],
    ReadableStreamDefaultController: [Getter],
    ReadableStreamDefaultReader: [Getter],
    TransformStream: [Getter],
    TransformStreamDefaultController: [Getter],
    WritableStream: [Getter],
    WritableStreamDefaultController: [Getter],
    WritableStreamDefaultWriter: [Getter]
  },
  WritableStream: undefined,
  TransformStream: undefined,
  Blob: [class Blob],
  File: undefined
}

So when it gets to this conditional, it does not correctly go into the polyfill blocks, so it is still undefined by the end of the script.
Expected behavior
FormData is correctly polyfilled even if it's the only one missing
I've tried locally adding !exports.FormData || to the condition and it works. Not sure if that breaks something else though.
Environment:

OS: Linux - Docker image node:16.14.2-alpine / MacOS
package-name<EMAIL_ADDRESS>brought in by<EMAIL_ADDRESS>NodeJS: 16.14.2

Additional context
My Webpack / Node.js knowledge may have holes in them so please help me if I misunderstand the problem 🙏

Fixed in @whatwg-node/fetch :)
Thanks for opening the issue


LIB-136 added /messages route to the link on the Library Service button

Test Evidence

The '/messages' route is added to the Library Services button.


:zap: chore: Migrate to bun for script runner

Description
Use bun as script runner. Don't use it to install packages because the package manager is painful for monorepos
Testing
Explain the quality checks that have been done on the code changes
Additional Information

[ ] I read the contributing docs (if this is your first contribution)

Your ENS/address:

Current dependencies on/for this PR:

main

PR #488   👈

This comment was auto-generated by Graphite.


Allow mako upload failure not to fail the Github commit.

We can see the regression on Mako webpages. It's annoying to see badges
being red because of "regressions". Turn it off for now. It will still
complain about it if it fails at other stages.

Are you sure that this actually prevents the failed status? From the docs it looks like it just allows dependent steps to run
https://buildkite.com/docs/pipelines/dependencies#allowed-failure-and-soft-fail

It's been a while that I touched these things. I only know soft-fail, and not pretty sure on this. Let me take a deeper look tomorrow and circle back to you.

Yeah soft_fail will mark the whole job status as success. (The upload step is still a failure and in red; you can check that by going to buildkite UI.)

Thanks for the explanation, Lei!

I think we don't want to catch them all. What exit code does Mako use for "there was a regression"?

Looks like 123. Can we use that?


Federation Improvements

I'm submitting a ...

[ ] bug report
[ ] new feature / enhancement request
[X] improvement request (usability, performance, tech debt, etc.)
[ ] other

Traffic Control components affected ...

[ ] CDN in a Box
[ ] Documentation
[ ] Grove
[ ] Traffic Control Client
[ ] Traffic Monitor
[X] Traffic Ops
[ ] Traffic Ops ORT
[X] Traffic Portal
[ ] Traffic Router
[ ] Traffic Stats
[ ] Traffic Vault
[ ] unknown

Current behavior:
Current federation design does not scale well and has several usability problems. The most glaring problem is that there is no current method to edit/delete existing IP range entries, which can lead to a lot of extra bad data in place.  Our other issue is one of scalability.  As designed, IP ranges are added to TP, and can then be linked to individual federation entries. This means that as partners add DNS resolvers, new ranges must be added to each applicable delivery service. This is a manual process that is prone to error.
Expected / new behavior:
I suggest we eliminate individual range assignments and instead define partners. Partners would consist of lists of ranges which can be edited at need. From there, we could go one of two ways.  The first manner would simply have us assign the partners to the federation definitions rather than addresses. The second possibility would be to redesign the manner in which federations are defined. While it would be useful to retain an interface which lists all federation definitions, it might make more sense to define the federations themselves at the delivery service which these federations are chained to. Once defined, these federations could then be displayed on the delivery service's page.  This would have the added benefit of showing our SRE engineers when services with cerificates in use are federated, so these certificates can be provided to the partners.
Minimal reproduction of the problem with instructions:
n/a
Anything else:
n/a

I was looking at possibly expanding the definition of a Delivery Service to include Federations as just a type of DS - I called them "Static Delivery Services". It's not very fleshed out yet, but do you think the basic concept makes sense?


⚠ ClamAV has degraded performance

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

HTTP code: 200
Response time: 69 ms

Resolved: ClamAV performance has improved in 3ef60ca.


[wATCH™@NEW SEX]— German MMS Videos Original Video Link German MMS Video Viral On Social Media X Trending Now

60 seconds ago
L𝚎aked Video German MMS Video Tutorial Original Video Viral Video L𝚎aked on X Twitter Telegram
┌──────────────•✧✧•────────────────┐
└────────────── •✧✧• ────────────────┘
German MMS Video Tutorial Original Video video took the internet by storm and amazed viewers on various social media platforms. German MMS Video Tutorial, a young and talented digital creator, recently became famous thanks to this interesting video.
L𝚎aked Video German MMS Video Tutorial Original Video Viral Video L𝚎aked on X Twitter
German MMS Video Tutorial Original Video video oficial twitter
L𝚎aked Video German MMS Video Tutorial Original Video Viral Video L𝚎aked on X Twitter
[-wATCH-]— German MMS Video Original Video Link German MMS Video Viral On Social Media X Trending Now
[-wATCH-]— German MMS ʟᴇᴀᴋᴇᴅ Video ᴠɪʀᴀʟ On Social Media ˣ ᵀʷⁱᵗᵗᵉʳ
[-wATCH-]— German MMS ʟᴇᴀᴋᴇᴅ Video ᴠɪʀᴀʟ On Social Media ˣ ᵀʷⁱᵗᵗᵉʳ
[-wATCH-]— German MMS Video Original Video Link German MMS Video Viral On Social Media X Trending Now
+'[ORIGINAL!!VIRAL!] German MMS MMS Video Link Original Full Video Viral On Social Media X Telegram Trending Now
[+WATCH@VIRAL+] Latest Viral Leaked German MMS Original Full Video Viral On Social Media X Trending Now German MMS's Viral Leaked
[!!Tending!!+] German MMS Official Leaked Video Original Full Video Original Video Link Tanu Rawat Video Viral On Social Media X Trending Now
!!+(Link-Viral)!! MMS Malayalam Actress German MMS Viral Video Trending videos MMS Malayalam actress German MMS's On Social Media X Telegram Trending Now
++(Full video!!)*Malayalam German MMS's Viral Leaked Video On Social Media X twitter Trending videos MMS Malayalam actress German MMS's private
German MMS Original Video video took the internet by storm and amazed viewers on various social media platforms. German MMS, a young and talented digital creator, recently became famous thanks to this interesting video.
L𝚎aked Video German MMS Original Video Viral Video L𝚎aked on X Twitter
German MMS Original Video video oficial twitter
L𝚎aked Video German MMS Original Video Viral Video L𝚎aked on X Twitter..y
The video reportedly showcases her in a Malayalam actress German MMS's private, Actress German MMS About Prabhas, Instagram video by German MMS.German MMS MMS Leak Controversy Explained: Malayalam Actress Falls Victim After Maryam Faisal, Minahil Malik | Viral Video · By Poorva Karki
German MMS is a prominent actress and model, primarily known for her work in the regional film industries of South India, particularly in Malayalam, Telugu, and Tamil cinema. She has become a popular name due to her engaging presence both in films and on social media.
Early Life and Background
German MMS was born and raised in India, though specific details about her date of birth and early life are not widely publicized. As with many models and actresses, German MMS's journey to fame started with her interest in the fashion and entertainment industry. She began her career as a model, participating in various photoshoots and fashion events before transitioning into acting. Her striking looks and charming personality helped her establish a strong presence in the fashion industry, which eventually opened doors to film roles.
Career in Film
German MMS made her acting debut in the South Indian film industry and quickly gained attention for her talent and screen presence. She appeared in Malayalam, Telugu, and Tamil films, earning recognition for her roles in films like:
Varalaru Mukkiyam (2022) – A Malayalam film that brought German MMS significant attention. It was well-received for its engaging story and the performances of the cast, including German MMS's.
Nadhikalil Sundari Yamuna (2021) – Another Malayalam film in which German MMS showcased her acting skills alongside popular actors. Her performance in this film was noted for its emotional depth.
Laggam (2021) – This movie was a notable part of her filmography, where she played a key role and worked alongside established actors in the Tamil film industry.
German MMS has also worked in various Telugu-language films, collaborating with leading actors and directors. As her career continued to grow, she established herself as a sought-after actress in the regional film industry, recognized for her versatility and ability to portray a wide range of characters.
Social Media Influence
Apart from acting, German MMS is highly active on social media platforms like Instagram, where she has gained a significant following of over 1 million followers. She uses her platform to share personal moments, behind-the-scenes glimpses of her work, and to promote fashion and lifestyle products. Her social media presence has helped her become a well-known influencer, with brands often partnering with her for promotions.
Her posts often feature her in stylish outfits, showcasing her fashion sense, and engaging in various lifestyle activities. This aspect of her career has helped her build a strong fanbase among younger audiences who follow her for both entertainment and fashion inspiration.
Controversies
Recently, German MMS has been involved in a controversy surrounding the alleged leaking of a private video. The video went viral across social media platforms like Twitter, Telegram, and others, sparking significant debate and public attention. The authenticity of the video has yet to be confirmed, and German MMS’s team has not issued an official statement on the matter. The controversy raised concerns about privacy, the ethics of sharing personal content, and the impact of such incidents on an individual's career and mental health.
This situation highlights the increasing risks celebrities face in the digital age, where personal moments can easily become public. The leak of private content has been a growing issue in the entertainment industry, often leading to discussions about the right to privacy and the responsibilities of both the media and the public when it comes to respecting personal boundaries.
Personal Life
Despite her rising fame, German MMS is known to keep her personal life relatively private. She has not shared many details about her family, relationships, or early years, focusing more on her professional career and public persona. Like many in the entertainment industry, she occasionally shares glimpses of her personal life on social media, but she tends to maintain a level of distance between her work and private affairs.
Future Prospects
With her growing popularity on social media and her established presence in regional cinema, German MMS is expected to continue making strides in her career. She has shown the potential for a long-lasting career, both in acting and in the world of digital influence. As her popularity continues to rise, there could be more exciting opportunities for her, both within the South Indian film industry and beyond.
Conclusion
German MMS is an emerging star in the Indian entertainment industry, known for her roles in Malayalam, Tamil, and Telugu films, as well as her substantial influence on social media. She has built a successful career by combining acting with modeling and online presence. However, like many celebrities, she also faces the challenges of privacy and public scrutiny, especially in the age of viral content. German MMS's journey highlights both the opportunities and risks associated with fame in the modern digital era.
If you'd like to know more specific details or have other questions about her career, feel free to ask!
[EXCLUSIVE▔] German MMS Video Original Video Link German MMS Video Viral On Social Media X Trending Now. Link Link
(Trending Now) German MMS Viral Video Link On Social
(Trending) German MMS Video Leaked Go Viral - forum topic
German MMS Viral Video Link
(Trending!VIRAL) German MMS Viral Video Link On Social
VIRAL!]


Test cases with blank space names does not run in individual mode

Tests with blank spaces will not run in "individual mode" they exit with "No tests were run!"
Example if run("Test A") then
Today:
python run.py --exit-0 -v my_project.tb_test.Test A
Sugested: (add quotes)
python run.py --exit-0 -v "my_project.tb_test.Test A"
Note: added -v in CLI options  for debugging :)

Path to this in v0.3.0 broke run all
Running VUnit: python <PATH>/run.py --no-color --exit-0 -v ""
Re-compile not needed

Running 0 tests

No tests were run!

Finished with exit code 0

Running form CLI adding wildcard *  solves the problem. This would be a hack to get it to work for both cases. Conditional statement for run all respective run single evaluation would remove possible failure modes and should thus be considered.
python <PATH>/run.py --no-color --exit-0 -v "*<TESTCASE INJECTION POINT>"
Thanks for your work! I will try to learn some TypeScript so I can be more involved

Using * caused problems on Linux which is why it was removed. I have pushed another fix which does not print the arguments when empty.
This projects lacks proper tests which is something that I need to get fixed, but time is limited...

I confirmed the fix of v0.3.2 works under windows as well :)


Stop acting like you did everything

Glixzzy was the original coder for the blooket hacks, he was here before you were, you made your account in Febuary, I have been using his hacks since December, although yes, his account has been deleted a few times, and posted the hacks to the school cheats website, the hacks are still owned by him. Maybe if you stopped being so immature and stealing all the credit for Glixzzy's hard work, maybe things will work out for you.

@RattyBoi So true! There is PROOF #160.

@rattyboi my case lies here

@cursxdforlife I am upvoting

ive giot more proof now

@lol-jude What's wrong?  It makes you all the more suspicious. Because you are trying to hide pure evidence, that you did none of the work, and are just taking credit for the blooket hacks.


unused of gpu

Hi，
My computer can't use GPU when running the algorithm of baselines, CPU works normally, but my tensorflow is the installed GPU version.
Can you tell me the possible reasons?

Hello,
please fill up the issue template. Seems like a duplicate of #308


Questions about parameters and the backbone model

Hello, author. Could you please provide specific hyperparameter settings? Additionally, could you advise me on which model to choose for initializing data-to-text and text-to-data?

See https://github.com/Edillower/CycleNLG/issues/1

Thank you very much for your response.


Update to nimbus-jose-jwt:9.31

Update to nimbus-jose-jwt:9.31

Meanwhile, this causes a dependency convergency error between Spring Auth Server 1.1.0 and Spring Boot 3.1  because of the downgrade to nimbus-jose-jwt:9.24.4 https://github.com/spring-projects/spring-security/commit/4ffece7e664340e1072287ad7a6d7ab2e005fd54

@jgrandja , the convergence error that we have seen came from nimbus-jose-jwt itself, wich comes as depenedency from spring-security-oauth2 , but also from spring authorization server itself, as seen above.
I was assuming, that it was caused by https://github.com/spring-projects/spring-security/commit/4ffece7e664340e1072287ad7a6d7ab2e005fd54 , since there the version of com.nimbusds:nimbus-jose-jwt has been downgraded from 9.31 to 9.24.4. But such a downgrade was not done in Spring Auth Server as well. Maybe I misunderstood the Spring Security issue, but we have definitely seen the convergence error above when using Spring Boot 3.1 + Spring Auth Server 1.1.0


Workflow

No description??! :scream: :utter shock and despair:

Alright, alright !

Improve the workflow of the project:

Add basic contribution instructions
Add a (opt-in) git hook for running tests (and more!) on push

yaaay sounds nice!


Inference to use provider resource id to register and validate

This PR changes the way model id gets translated to the final model name that gets passed through the provider.
Major changes include:

Providers are responsible for registering an object and as part of the registration returning the object with the correct provider specific name of the model provider_resource_id
To help with the common look ups different names a new ModelLookup class is created.

Tested all inference providers including together, fireworks, vllm, ollama, meta reference and bedrock

very useful change!


Display the error messages for failed runs

Description of what I changed
This PR contains the below changes

In case of pipeline failure, captures the error details to a file and places the error file in the respective pipeline run DWH snapshot location.
if the recently ran pipeline had failed, then an error message is displayed in the controller UI along with the link to the error log file.
On click of the link/button, open the file in a separate tab in the browser showing the error details.
The error is displayed on the UI even on restart of the application if the last pipeline had failed before the application launch.

Fixes #578
E2E test
TESTED:
Tested the application by making sure that the pipeline run fails and then verified if the failed status is reflected on the UI along with the link to the error file.
Screenshots showing the error messages and the log files are attached below.

Checklist: I completed these to help reviewers :)

[x] I have read and will follow the review process.

[x] I am familiar with Google Style Guides for the language I have coded in.
No? Please take some time and review Java and Python style guides.

[x] My IDE is configured to follow the Google code styles.
No? Unsure? -> configure your IDE.

[ ] I have added tests to cover my changes. (If you refactored existing code that was well tested you do not have to add tests)

[x] I ran mvn clean package right before creating this pull request and added all formatting changes to my commit.

[x] All new and existing tests passed.

[x] My pull request is based on the latest changes of the master branch.
No? Unsure? -> execute command git pull --rebase upstream master

Codecov Report

Merging #729 (7abbd50) into master (a57f13b) will increase coverage by 2.69%.
The diff coverage is 1.65%.

:exclamation: Current head 7abbd50 differs from pull request most recent head 9b49bd1. Consider uploading reports for the commit 9b49bd1 to get more accurate results

@@             Coverage Diff              @@
##             master     #729      +/-   ##
============================================
+ Coverage     34.04%   36.74%   +2.69%
+ Complexity      291      251      -40
============================================
  Files            71       51      -20
  Lines          3818     2762    -1056
  Branches        437      322     -115
============================================
- Hits           1300     1015     -285
+ Misses         2397     1626     -771
  Partials        121      121

Impacted Files
Coverage Δ

...h/src/main/java/org/openmrs/analytics/FhirEtl.java
0.00% <0.00%> (ø)

.../src/main/java/org/openmrs/analytics/DwhFiles.java
65.24% <0.00%> (-12.07%)
:arrow_down:

...main/java/org/openmrs/analytics/ApiController.java
6.45% <0.00%> (-2.64%)
:arrow_down:

...ain/java/org/openmrs/analytics/MainController.java
7.40% <0.00%> (-0.29%)
:arrow_down:

...in/java/org/openmrs/analytics/PipelineManager.java
10.71% <2.56%> (-4.12%)
:arrow_down:

... and 29 files with indirect coverage changes


Unify thrown exceptions

Stack's pop throws NoSuchElementException if the Stack is empty, while Traversable's tail throws UnsupportedOperationException in the same case.
Since they're doing very similar things, I think the exceptions should also be unified.
In my opinion the former (NSEE) describes the problem better than the latter (UOE), as the problem is not with the operation itself, but with the state of the object.
Also, a NSEE would be consistent with e.g. http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/8-b132/java/util/Deque.java#Deque.getFirst()

I see it different. The tail is not an element, it is a collection of elements. As usual, we align to Scala:
/** The empty list.
 *
 *  @author  Martin Odersky
 *  @version 1.0, 15/07/2003
 *  @since   2.8
 */
@SerialVersionUID(0 -<PHONE_NUMBER>970055419L)
case object Nil extends List[Nothing] {
  override def isEmpty = true
  override def head: Nothing =
    throw new NoSuchElementException("head of empty list")
  override def tail: List[Nothing] =
    throw new UnsupportedOperationException("tail of empty list")
  // Removal of equals method here might lead to an infinite recursion similar to IntMap.equals.
  override def equals(that: Any) = that match {
    case that1: scala.collection.GenSeq[_] => that1.isEmpty
    case _ => false
  }
}

Source: The Scala 2.12.x source code
Therefore I will close this issue.


sonata_type_collection in tab with 'edit' => 'inline' and error : no exclamation mark

When I have an error in a sonata_type_collection sub-form and this sub-form is in a tab and I use the 'edit' => 'inline' option, the exclamation mark is not visible on the first tab with error.
I think this is because the "show_form_first_tab_with_errors" js function search for at least an element with the "sonata-ba-field-error" class inside the tab content to show the exclamation mark. And with the 'edit' => 'inline' option the form fields with errors are not rendered with the  "sonata-ba-field-error" class when there are errors.

Fixed by https://github.com/a2lix/TranslationFormBundle/pull/182


Give mill the ability to re-write ESModule imports at link time

Motivation
I'm really enjoying frontend scala, without needing to configure an entire node / npm environment. The capability to use the JS ecosystem without a bundler, is the "build primitive", that enables this. Here's a longer discussion of the motivation
https://github.com/VirtusLab/scala-cli/discussions/1968#discussioncomment-5446977
Implementation
arman added this to SBT here and published a library that does the heavy lifting.
https://github.com/armanbilge/scalajs-importmap
I followed this up in scala-cli ...
https://github.com/VirtusLab/scala-js-cli/pull/47
... and am really enjoying this in the small. My larger projects are in mill though (thanks :-)!). Hence... this PR... which seeks to integrate the capability into mill. I wanted to do it in a plugin - but I couldn't see how as the call to the linker is in a private scope - so I've put it up for mill itself.
I would expect this as is to pass CI with the new test. Very open to feedback. If accepted, it would be my first contribution to mill ... I'd be a little surprised if I got everything right straight out the gate - a plugin may indeed be preferable if I have not correctly understood the constraints.

As far as I can tell, the failing task simply takes longer than 90 minutes - but then how can this work normally in CI?

@lolgab Thankyou for being willing to look 🙏  ...  I'm very grateful!

I don't understand how that change, could have made it pass CI? I'm happy it's green though ...

I'm seeing the Sbt implementation and it uses a function instead of a Map, which gives better flexibility.
I see why you used a Map here, because otherwise you couldn't have made it a Target since the output needs to be serialized.
But we lose some flexibility, like:
scalaJSImportMap := { (rawImport: String) =>
  if (rawImport.startsWith("@shoelace-style/shoelace"))
    "https://cdn.jsdelivr.net/npm/" + rawImport
  else
    rawImport
}

which is possible with Sbt.
I see you use a replace function created from the map, but it's a bit too powerful, because it can do things like.
Map("node" -> "deno")

and then you have import * from "graphnodecalculator" converted into import * from "graphdenocalculator" which might not what you want.
Maybe a good tradeoff would be a Map of regexes, or globs?
Any idea @lefou ?

@lolgab With reference to the implementation as a map, I agree with your commentary, although I would be willing to defend the current implementation for a second look. Arman and I did discuss this further - I'm struggling to dig up the conversation, but the "map" structure, is somewhat in line with the the reference to how this would be done in pure javascript land. I believe it to be a partial implementation of the "official" way this capability works, which is indeed as a map.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules
As you point out, it is serialisable, which is nice.
I agree with your node -> deno example. Although this is bad, it's limited by being applied only to the "header" (I believe) emitted by the IR file, and I would not expect a reasonable person to attempt remapping in such a way. Normal entries are more like `"@shoelaceStyle/dist/" -> "https://cdn.place.com/shoelace/dist/", which should be rather unambiguous in the header of an ES Module.
There is one further advantage of a pure map (I believe) being that it could encourage standardisation. The SBT implementation is much freer - but that implies everyone will end up writing their own functions, with all of the heterogeneity that implies. The pure map representation implies that, if library author (in either JS or scalaJS) has a well defined import, then everyone in the ecosystem will use the same entry in their map. I argue there is value in that.
In this case, I think the freedom made sense during the exploration phase, and remains of value at the lowest level of the stack in case we've gotten this wrong and it needs revisiting... but I would defend the the status quo :-). Very open to the discussion...

@Quafadas For sure the DX in simple cases is best with Map[String, String] with replacing, but it can have nasty surprises.
An alternative with slightly worse DX, but which is precise is using regexes.
In your example: "@shoelaceStyle/dist/" -> "https://cdn.place.com/shoelace/dist/"
it would look like: "@shoelaceStyle\\/dist\\/(.+)" -> "https://cdn.place.com/shoelace/dist/$1"
which is of course not as nice to read, but it can represent more cases and it's less dangerous.
If we know that only prefixes can be replaced, then we could have a map like scalaJSImportsPrefixMapping: T[Seq[(String, String)] and they are applied only when the strings start with that particular prefix. But I don't know if there are cases when you want to replace something in the middle though.
I also changed Map to Seq since we are iterating over it, so it doesn't need to be a Map.
If we, instead, use a ADT we could support both cases at the same time.
Example:
def scalaJSImportMapping = T {
  Seq(
    ImportMapping.Regex("@shoelaceStyle\\/dist\\/(.+)", "https://cdn.place.com/shoelace/dist/$1"),
    ImportMapping.Prefix("@shoelaceStyle/dist/", "https://cdn.place.com/shoelace/dist/")
  )
}

@lolgab I am agreed, but fearful of adding extra complexity. Jumping straight to regexing things would not be my personally preferred solution - I would bow to democratic will though.
As an aside - I would like to check my knowledge on a related part of your proposal.
Let us assume (!) that this PR got merged. Is it the case, that subsequently changing the type signature of def esModuleRemap: Target[Map[String, String]] in ScalaJsModule  would come with compatibility concerns? i.e. require a version bump of mill itself (!)? This would be a terrible situation. If that is correct, then the signature of this method as written essentially backs the feature, into a very tight corner early on?
My follow up question: is the type signature def esModuleRemap: Target[Seq[ImportMapping]] "future proof" with respect to compatibility? i.e. is it possible to add extra cases to the ImportMapping adt you propose, without needing to worry about causing a compatibility problem at the level of mill?
Compatibility is something I greatly appreciate, but have little experience with responsibility for. I would not wish for this to become a bad citizen of it.
I ask, because if this was indeed the case, then I would disagree with my own implementation in the context of mill :-). Which is not ideal...
Could a middle road be to implement the type signature you propose, i.e. def esModuleRemap: Target[Seq[ImportMapping]], but with a single concrete  ImportMapping.Prefix case, in the first instance? This could set out a clear path to addressing your (valid) concerns, without needing to manage all the complexity upfront?

According to chat GPT, most of what I wrote above is wrong. *sigh.

I would start by opening a separate PR just for the cleanup and removing warnings,
then you can rebase this PR and implement only prefixing as you said. Regex can be added in the future if someone needs it.

@lolgab Would it be possible to re-run the failing test? I think it should pass... I'm not 100% clear why sometimes that suite times out .

@lolgab  thanks for you tips so far. I think this would be ready for review, up to agreement on whether or not the simple string replace is a good mechanism.

Other than the names I asked, it looks good to me 👍

@lolgab @lefou
I am not in a rush - but would want to check if you see any barriers remaining? I hope it's okay...

It looks good to me. It is built in a way that can be easily extended in a binary compatible way.
If someone has better names idea we can change them, otherwise they are good to me already.

@lolgab thank you so much for your willingness to support this and your help 🙏 .


Allow pointing to an specific virtual environment

safety version: 1.8.6
Python version: 3.*
Operating System: All

Description
Feature request:
The remediation advice for CVE-2020-5252 means safety cannot be run inside a virtual environment. Instead one must install safety into a clean environment and run there. This requires either pointing it at a requirements.txt file or using pip freeze from inside the target venv to feed to safety.
It would be much easier if safety grew the ability to take as input the path to a venv and then did the analysis. Effectively that would mean running pip freeze itself and feeding the results back to check.
This request is about usability and making it as easy as possible for users to transition to a safe way to call safety.

Thanks for that, @bac -- As you can see at https://github.com/pyupio/safety/security/advisories/GHSA-7q25-qrjw-6fg2 and https://pyup.io/posts/patched-vulnerability/ we have some mitigation options for that.
Anyway, pointing to an specific virtual environment sounds like a good new feature. Let me just state that there are package loading mechanisms that Safety itself does not intend to re-invent. So, if we ever do support that, we would need to do it using existing tools.
Bear in mind as well that Safety itself does not intend to be an anti-virus or breach detection tool. There are many other ways to take malicious action from a system after it gets compromised. Our focus is to detect outdated or insecure packages, not malicious packages.

Hi @bac,
Thank you for your feature request and for your patience as we reviewed it.
We're pleased to inform you that Safety now supports scanning specific virtual environments with the safety scan command. This feature addresses your request by allowing users to point Safety directly at a virtual environment for analysis, making it easier and more user-friendly.
You can find more details on how to use this feature in our documentation.
If you have any further questions or encounter any issues, please let us know!
Best Regards,
The Safety Team


Issuelist labels

this pull request adds issue labels (as normally appear in the /repo/issues tab) to the /issues page.
it is not related to an open issue in the tracker, but it does standardize the appearance between the places where lists of issues are shown.

Hi... I don't think it would work? Because in the dashboard, issues are coming from different repositories and labels are different.

when you say you don't think this would work? I have this set up on my gogs install and it seems to work fine?
is there anything you think i should do to test? anything you think wouldn't work or would break it?

how it looks for me:

Ah, I understand now. My bad.


There was an error in the mix

I managed to record speaker audio using WasapiLoopbackCapture and save it to a WAV file, also I managed to record and save microphone audio using WaveIn. The main problem is that I cannot mix these 2 files into a single file. Prompt me during the mix "file is being used by another process, so this process cannot access this file"  What should I do
  using (var reader1 = new AudioFileReader(soundcard))    using (var reader2 = new AudioFileReader(microphone))     {              reader1.Volume = 2.0f;              reader2.Volume = 2.0f;              var mixer = new MixingSampleProvider(new[] { reader1, reader2 });              WaveFileWriter.CreateWaveFile16(mixed, mixer);     }

Did you definitely close the files before attempting to mix them?
That's most likely explanation. Otherwise some other process on your PC is accessing the files


[BUG] Project Name limited to 22 characters

Describe the bug:
When adding a /project, the Name is limited to a maximum of 22 characters. Attempting to add more will result in error which is verbose in the Heroku log:
2022-04-09T18:11:12.724022+00:00 app[Worker.1]: error: value too long for type character varying(22)
2022-04-09T18:11:12.724032+00:00 app[Worker.1]: at Parser.parseErrorMessage (/app/node_modules/pg-protocol/dist/parser.js:287:98)
2022-04-09T18:11:12.724033+00:00 app[Worker.1]: at Parser.handlePacket (/app/node_modules/pg-protocol/dist/parser.js:126:29)
2022-04-09T18:11:12.724034+00:00 app[Worker.1]: at Parser.parse (/app/node_modules/pg-protocol/dist/parser.js:39:38)
2022-04-09T18:11:12.724034+00:00 app[Worker.1]: at TLSSocket. (/app/node_modules/pg-protocol/dist/index.js:11:42)
2022-04-09T18:11:12.724035+00:00 app[Worker.1]: at TLSSocket.emit (node:events:526:28)
2022-04-09T18:11:12.724035+00:00 app[Worker.1]: at addChunk (node:internal/streams/readable:315:12)
2022-04-09T18:11:12.724035+00:00 app[Worker.1]: at readableAddChunk (node:internal/streams/readable:289:9)
2022-04-09T18:11:12.724036+00:00 app[Worker.1]: at TLSSocket.Readable.push (node:internal/streams/readable:228:10)
2022-04-09T18:11:12.724036+00:00 app[Worker.1]: at TLSWrap.onStreamRead (node:internal/stream_base_commons:190:23) {
2022-04-09T18:11:12.724037+00:00 app[Worker.1]: length: 98,
2022-04-09T18:11:12.724038+00:00 app[Worker.1]: severity: 'ERROR',
2022-04-09T18:11:12.724038+00:00 app[Worker.1]: code: '22001',
2022-04-09T18:11:12.724038+00:00 app[Worker.1]: detail: undefined,
2022-04-09T18:11:12.724039+00:00 app[Worker.1]: hint: undefined,
2022-04-09T18:11:12.724039+00:00 app[Worker.1]: position: undefined,
2022-04-09T18:11:12.724040+00:00 app[Worker.1]: internalPosition: undefined,
2022-04-09T18:11:12.724040+00:00 app[Worker.1]: internalQuery: undefined,
2022-04-09T18:11:12.724040+00:00 app[Worker.1]: where: undefined,
2022-04-09T18:11:12.724041+00:00 app[Worker.1]: schema: undefined,
2022-04-09T18:11:12.724041+00:00 app[Worker.1]: table: undefined,
2022-04-09T18:11:12.724041+00:00 app[Worker.1]: column: undefined,
2022-04-09T18:11:12.724041+00:00 app[Worker.1]: dataType: undefined,
2022-04-09T18:11:12.724042+00:00 app[Worker.1]: constraint: undefined,
2022-04-09T18:11:12.724042+00:00 app[Worker.1]: file: 'varchar.c',
2022-04-09T18:11:12.724042+00:00 app[Worker.1]: line: '632',
2022-04-09T18:11:12.724042+00:00 app[Worker.1]: routine: 'varchar'
2022-04-09T18:11:12.724043+00:00 app[Worker.1]: }
To Reproduce Steps to reproduce the behavior:

Attempt to add project using, /project add
Use a Name for the project that is > 22 characters

Expected behavior:
Project name should be reasonably longer. I would say up to 40 characters, no reason to make it too long.
For example, a reasonable name I was trying to use was "Programming Club Website".
Screenshots
Posted error above
Device/Software (please complete the following information):
n/a
Additional context:
None

Updated projects table schema as follows with these commands
                                Table "public.projects"
   Column    |          Type          | Collation | Nullable |         Default
-------------+------------------------+-----------+----------+-------------------------
 id          | smallint               |           |          |
 name        | character varying(50)  |           |          | NULL::character varying
 contact     | character varying(47)  |           |          | NULL::character varying
 description | character varying(250) |           |          | NULL::character varying
 createdat   | character varying(10)  |           |          | NULL::character varying
 updatedat   | character varying(10)  |           |          | NULL::character varying

ALTER TABLE projects ALTER COLUMN name TYPE varchar(50);
ALTER TABLE projects ALTER COLUMN description TYPE varchar(250);


Bebop 2 / RPi toolchain update + Skycontroller 2 build system

We should update to Linaro's GCC 5.3 toolchain for the Bebop 2 and Raspberry Pi. There is no longer a need to maintain a separate Raspbian-specific toolchain for RPi.
New Bebop 2 / RPi toolchain :
https://releases.linaro.org/components/toolchain/binaries/latest-5/arm-linux-gnueabihf/gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabihf.tar.xz
Will also be introducing the build system for the Parrot Skycontroller 2, which will be able to run PX4 and act as a generic long-range Mavlink remote controller for the Bebop and any other vehicle with wifi.
Skycontroller 2 toolchain (soft float) :
https://releases.linaro.org/components/toolchain/binaries/latest-5/arm-linux-gnueabi/gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabi.tar.xz
UPDATED : it is unclear what exact toolchain the Skycontroller uses. Parrot is internally using hardfloat for their master, however we do not know what the released software version on the controller is using.

Bebop builds with new toolchain :
-- CONFIG: posix-bebop-default
-- CMAKE_INSTALL_PREFIX: /usr
-- CMAKE_MODULE_PATH: /home/kabir/PX4/Firmware/cmake
DF Drivers: ms5607;mpu6050;ak8963;bebop_bus;bebop_rangefinder;mt9v117
-- The ASM compiler identification is GNU
-- Found assembler: /home/kabir/PX4/toolchains/gcc-linaro-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc
-- Found PythonInterp: /usr/bin/python (found version "2.7.12")
-- C compiler: arm-linux-gnueabihf-gcc (Linaro GCC 5.3-2016.05) 5.3.1 20160412
-- C++ compiler: arm-linux-gnueabihf-g++ (Linaro GCC 5.3-2016.05) 5.3.1 20160412

RPi builds with new toolchain :
-- PX4 VERSION: v1.6.0rc1-104-g0490bfe
-- CONFIG: posix-rpi-cross
-- CMAKE_INSTALL_PREFIX: /usr
-- CMAKE_MODULE_PATH: /home/kabir/PX4/Firmware/cmake
DF Drivers: mpu9250;lsm9ds1;ms5611;hmc5883;trone;isl29501
-- The ASM compiler identification is GNU
-- Found assembler: /home/kabir/PX4/toolchains/gcc-linaro-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc
-- Found PythonInterp: /usr/bin/python (found version "2.7.12")
-- C compiler: arm-linux-gnueabihf-gcc (Linaro GCC 5.3-2016.05) 5.3.1 20160412
-- C++ compiler: arm-linux-gnueabihf-g++ (Linaro GCC 5.3-2016.05) 5.3.1 20160412

Work in progress here: https://github.com/PX4/Firmware/compare/master...mhkabir:skycontroller
Toolchain upgrade complete and tested on all platforms, working on complete Skycontroller solution now.

The latest Linaro ARM GCC is 6.2.1: https://releases.linaro.org/components/toolchain/binaries/latest/arm-linux-gnueabihf/

@mhkabir might be worth tuning the compilation flags specifically for that ARM platform.
Could you please share cat /etc/cpuinfo ?

@nicolaerosia I'm aware that 6.2.1 is the latest. PX4 tends to lag by 1 major release in order to avoid bugs in the bleeding-edge. It would also be quite some effort to update stuff and get everything compiling on 6.2.1. e.g NuttX based build uses 5.4.
Therefore, for now I propose to use 5.3.1. It would be trivial to update to 6.2.1 later.
I agree that platform specific optimization flags make sense. Will share cpuinfo in a bit, stay tuned.

@mhkabir I did not know that, thanks for letting me know!
Could you share the cpuinfo on both the drone and Skycontroller? Thanks!

@nicolaerosia
Bebop and Skycontroller use the same SoC.
From Bebop :
Processor	: ARMv7 Processor rev 7 (v7l)
processor	: 0
BogoMIPS	: 1561.67

processor	: 1
BogoMIPS	: 1560.02

Features	: swp half thumb fastmult vfp edsp thumbee neon vfpv3 tls
CPU implementer	: 0x41
CPU architecture: 7
CPU variant	: 0x2
CPU part	: 0xc09
CPU revision	: 7

Hardware	: Milos board
Revision	: 0003
Serial		:<PHONE_NUMBER>000000

From Skycontroller :
root@mppboard:/ # cat /proc/cpuinfo
Processor	: ARMv7 Processor rev 7 (v7l)
processor	: 0
BogoMIPS	: 1562.02

processor	: 1
BogoMIPS	: 1560.01

Features	: swp half thumb fastmult vfp edsp thumbee neon vfpv3 tls
CPU implementer	: 0x41
CPU architecture: 7
CPU variant	: 0x2
CPU part	: 0xc09
CPU revision	: 7

Hardware	: Mpp board
Revision	: 0007
Serial		:<PHONE_NUMBER>000000

Raspberry Pi 3 :
processor   : 0
model name   : ARMv7 Processor rev 4 (v7l)
BogoMIPS   : 38.40
Features   : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer   : 0x41
CPU architecture: 7
CPU variant   : 0x0
CPU part   : 0xd03
CPU revision   : 4

processor   : 1
model name   : ARMv7 Processor rev 4 (v7l)
BogoMIPS   : 38.40
Features   : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer   : 0x41
CPU architecture: 7
CPU variant   : 0x0
CPU part   : 0xd03
CPU revision   : 4

processor   : 2
model name   : ARMv7 Processor rev 4 (v7l)
BogoMIPS   : 38.40
Features   : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer   : 0x41
CPU architecture: 7
CPU variant   : 0x0
CPU part   : 0xd03
CPU revision   : 4

processor   : 3
model name   : ARMv7 Processor rev 4 (v7l)
BogoMIPS   : 38.40
Features   : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer   : 0x41
CPU architecture: 7
CPU variant   : 0x0
CPU part   : 0xd03
CPU revision   : 4

Hardware   : BCM2709
Revision   : a02082
Serial      : 00000000xxxxxxxx

Raspberry Pi 2 :
processor       : 0
model name      : ARMv7 Processor rev 5 (v7l)
BogoMIPS        : 38.40
Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xc07
CPU revision    : 5

processor       : 1
model name      : ARMv7 Processor rev 5 (v7l)
BogoMIPS        : 38.40
Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xc07
CPU revision    : 5

processor       : 2
model name      : ARMv7 Processor rev 5 (v7l)
BogoMIPS        : 38.40
Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xc07
CPU revision    : 5

processor       : 3
model name      : ARMv7 Processor rev 5 (v7l)
BogoMIPS        : 38.40
Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xc07
CPU revision    : 5

Hardware        : BCM2709
Revision        : 1a01040

Thank you! Could you also share dmesg? I'm curious to see what SoC they are using.

@mhkabir ping

@nicolaerosia https://gist.github.com/mhkabir/29fffaeeadc7765f2c7ba8c0fe70964b
Now I hope that you will make a pull request against this branch with the suggested optimization flags. 8)

Hi, is this so i can setup my rpi to control me beebop? i really dont want to spend $300+ on a skycontroller if i can just setup my rpi to do it instead :)

Hey, this issue has been closed because the label status/STALE is set and there were no updates for 30 days. Feel free to reopen this issue if you deem it appropriate.
(This is an automated comment from GitMate.io.)


Minor edits

Added GitHub user name and made a minor spelling correction.

@ambercabrera Sorry I didn't see this. I'll setup a Slack integration, so that we don't miss PR notifications.

:shipit:

@gotoplanb No problem! I'm also going to add Opeola to our c4gnv roster at some point... workin on it :eyes:


pipenv lock edge case problem in setup.py

It appears the setup.py file is configured incorrectly and causes problems when trying to pipenv lock. It is better to return a list of strings with the appropriate format as recommended by the setuptools documentation.
https://github.com/xolox/python-coloredlogs/blob/399af2a2199629c613b64c92d9d6c2462973ff86/setup.py#L135-L137
This issue describes the problem in detail: https://github.com/pypa/pipenv/issues/1578#issuecomment-371277898
This is is not very easy to reproduce on many machines, but is apparently a very common issue that pops up in pipenv.

Thinking out loud: It's weird that coloredlogs is being used by thousands and no one has ever reported this. Must be a recent change then? And it doesn't break setuptools, nor pip, but it does break pipenv?
A more general observation: Declaring conditional dependencies in Python has turned into an absolute nightmare of backwards incompatibility :cry:. I can point to a dozen commits in various projects of mine where multiple strategies were evaluated and disregarded because they broke compatibility somewhere.
Back to this issue: I'm willing to entertain the thought of opening up this can of worms again, if the end result is going to be better for it, but I'm hesitant because I'm expecting it to cause breakage for users stuck in old(er) environments (e.g. with older versions of setuptools installed).
Anyone with an informed opinion on the matter is welcome to enlighten me :wink:.

I'm going to close this issue because I think "it resolved itself" (via upstream bug fixes in pipenv).
More details:

Similar problems were reported in xolox/python-humanfriendly#25 and when I investigated those I found that I could no longer reproduce the reported problem based on the newest version of pipenv (11.10.0).
Then I got curious so I went looking for the pipenv changelog and found that it lists various improvements to marker support in recent releases.

So I suggest you give the latest version of pipenv a try, because it works for me (TM) :wink:.


Ability to scale down individual node(s) for RKE2-provisioned clusters

Detailed Description
For RKE1-provisioned clusters, there is currently an option to scale down specific nodes(s).
As dropdown action for a single node:

As an action button for multiple selected nodes:

The same functionality should be available for RKE2-provisioned clusters.
Context
This is needed for RKE2 provisioning parity with RKE1
Additional Details
It should be possible to achieve this by setting cluster.k8s.io/delete-machine annotation on the node(s) to be scaled down before calling back-end to update node pool(s) with an appropriate number of node counts per each affected node pool.
Also, it looks like RKE1 case may be allowing invalid deletion requests (like scaling down the only control plane node). It would be nice to avoid such issues in RKE2 implementation. For example, I've managed to break my RKE1 cluster by attempting to scale down the only CP node and then scaling it back up (interestingly it was stuck at "Waiting for node to be removed from cluster" and operational until I attempted to scale node pool back up).

Per @vincent99, this should be relatively easy. It should be a matter of selecting each of the nodes and set the annotation on them. This would then allow scaling to happen as expected.

@snasovich we'll push this to 2.6.4 for now but if you do need this, Vince does have some capacity.

@snasovich To confirm what steve/norman resource should the cluster.k8s.io/delete-machine annotation be set on (v1/management.cattle.io.nodes, v3/nodes, etc)?
I've tried setting the annotation to "true" on cluster.x-k8s.io.machine and then scaling the pool via the normal scaling call on the cluster.x-k8s.io.machinedeployment

@thedadams , could you please help answering Richard's question above?

@richard-cox Sorry, there was a typo in Sergey's original message. The annotation does go on the cluster.x-k8s.io.machine object, but the annotation is cluster.x-k8s.io/delete-machine.

Please validate:

In an rke2 Node driver cluster, 3 etcd, 2 cp, 3 worker nodes --> scale down worker nodes. User should be able to Scale Down
In an rke2 Node driver cluster, 3 etcd, 2 cp, 2 worker nodes --> scale down Control plane nodes. User should be able to Scale Down cp nodes
In an rke2 Node driver cluster, 3 etcd, 1 cp, 2 worker nodes --> scale down Control Plane nodes. User should NOT be able to Scale Down control plane nodes
In an rke2 Node driver cluster, 3 etcd, 1 cp, 2 worker nodes --> scale down Etcd nodes. User should be able to Scale Down etcd nodes (Scale down by 2 in order to avoid braking quorum)
In an rke2 cluster - 1etcd, 1 cp, 2 worker nodes --> Scale down ETcd nodes. User should NOT be able to Scale Down Etcd nodes

Setup For Testing
Rancher setup: rancher version: v2.6-head(c49139d)
Downstream cluster:  RKE2 EC2, k8s: v1.21.9+rke2r1
Passed Test cases:

In an rke2 Node driver cluster, 3 etcd, 2 cp, 3 worker nodes --> scale down worker nodes. User should be able to Scale Down
In an rke2 Node driver cluster, 3 etcd, 2 cp, 2 worker nodes --> scale down Control plane nodes. User should be able to Scale Down cp nodes
In an rke2 Node driver cluster, 3 etcd, 1 cp, 2 worker nodes --> scale down Control Plane nodes. User should NOT be able to Scale Down control plane nodes (Please note the behavior when the cp nodes is 1)
In an rke2 Node driver cluster, 3 etcd, 1 cp, 2 worker nodes --> scale down Etcd nodes. User should be able to Scale Down etcd nodes (Scale down by 2 in order to avoid breaking quorum)

Failed Test Cases:

In an rke2 cluster - 1etcd, 1 cp, 2 worker nodes --> Scale down ETcd nodes. User should NOT be able to Scale Down Etcd nodes (Please note the behavior when the etcd nodes is 1)

Debugging
So the option to scale down etcd with a singular etcd is available.
The moment you scale the node down you will get the following error:
Could not scrape join URL from periodic output (exit code: 0, length: 0) for machine auston-rke2-auston-etcd-645f8895b4-w4ppf Over the cluster.
It appears the node still exists in the node driver's machine provider so it wasn't fully deleted.
But within rancher the deleting node hangs.
You can also edit the config and bring up another etcd node, this will appear to remove the etcd node from rancher, but the deleted etcd still exists within the machine provider.
Screenshots

@richard-cox do you think the last comment is an issue?

Setup For Testing
Rancher setup: rancher version: v2.6-head(c49139d)
Downstream cluster:  RKE2 EC2, k8s: v1.21.9+rke2r1
Failed Test Cases:

In an rke2 cluster - 1etcd, 1 cp, 2 worker nodes --> Scale down ETcd nodes. User should NOT be able to Scale Down Etcd nodes (Please note the behavior when the etcd nodes is 1)

Debugging
So the option to scale down etcd with a singular etcd is available.
The moment you scale the node down you will get the following error:
Could not scrape join URL from periodic output (exit code: 0, length: 0) for machine auston-rke2-auston-etcd-645f8895b4-w4ppf Over the cluster.
It appears the node still exists in the node driver's machine provider so it wasn't fully deleted.
But within rancher the deleting node hangs.
You can also edit the config and bring up another etcd node, this will appear to remove the etcd node from rancher, but the deleted etcd still exists within the machine provider.
Screenshots

Moving to done seeing as @richard-cox says the expected behavior was seen in my testing and the previously failed test case now passes.

Confirmed with @catherineluse and @gaktive to add release note label.


Resource pack animation controller suggestions in behaviorpack

Describe the bug
Animation controllers in behavior pack and resource pack have slightly different structure.
Some of the items are valid only in RP or only in BP. For example - particle_effects are part
of the resource pack animation controller but not behavior pack.
To Reproduce

Create animation controller from this pattern inside behaviorpack:

{
    "format_version": "1.10.0",
    "animation_controllers": {
        "controller.animation.test": {
            "states": {
                "default": {

                }
            }
        }
    }
}

See the autocomplete list for the items in "default" state.

Expected behavior
The autocomplete shoud suggest - animations, on_entry, on_exit and transitions (I'm not surea about "variables" I've never seen that in bp or in rp).
Screenshots

Desktop (please complete the following information):
N/A
Smartphone (please complete the following information):
N/A
Additional context
The JSON scheam for animation_controllers from behavior packs which was automatically generated based
on some examples of behaviorpacks: https://github.com/Nusiq/bedrock-json-schemas/blob/master/schemas/bp.animation_controller.schema.json

Hey,
I have made fixes in a new patch, can you confirm they are gone? in version 1.0.2?

Looks like it's fixed to me. Thanks.

Closing this issue since it has been fixed!
Thanks for the report 👍