Remove initialization warnings and disable ORM completely when -DBUILD_ORM=NO  is used

Part I
I've used beta (6, 15 and 16).
I noticed the warning shown in the image attached since beta15, but it might be further than that.

Part II
The warning is occurring in Sql** related headers, I believe those are not supposed to be included when -DBUILD_ORM=OFF is used in coupled with -DUSE_MYSQL=OFF -DUSE_POSTGRESQL=OFF -DUSE_SQLITE3=OFF.
I'm thinking #include <drogon/orm/DbClient.h> and consequently:
virtual orm::DbClientPtr getDbClient(
        const std::string &name = "default") = 0;

virtual orm::DbClientPtr getFastDbClient(
        const std::string &name = "default") = 0;

should be made optional in that case  since we have BUILD_ORM from building.
I've tried it on beta16 and it works fine.

What is the compiler you used?

GCC 8 and 9.
The warning is related to member variable initialization order.

@ibroheem please check the PR #432, thanks.

Nice! Warnings are gone.

Compiled with gcc-9, saw some more warnings. They're C++20 related tho, what are your plans on them?

Would you like a pull request removing ORM completely in code when BUILD_ORM=OFF is specified ?
It would look like this:

...
#include <drogon/HttpRequest.h>
#include <drogon/HttpResponse.h>
#if BUILD_ORM == 1
   #include <drogon/orm/DbClient.h>
#endif // BUILD_ORM
#include <trantor/net/Resolver.h>
#include <trantor/net/EventLoop.h>
#include <trantor/utils/NonCopyable.h>
#include <functional>
...
#if BUILD_ORM == 1
    virtual orm::DbClientPtr getDbClient(
        const std::string &name = "default") = 0;

    virtual orm::DbClientPtr getFastDbClient(
        const std::string &name = "default") = 0;
...
    virtual HttpAppFramework &createDbClient(
...
#endif // BUILD_ORM

Nice! Warnings are gone.

Compiled with gcc-9, saw some more warnings. They're C++20 related tho, what are your plans on them?

You could update the trantor submodule to remove the last warning.

Would you like a pull request removing ORM completely in code when BUILD_ORM=OFF is specified ?
It would look like this:

...
#include <drogon/HttpRequest.h>
#include <drogon/HttpResponse.h>
#if BUILD_ORM == 1
   #include <drogon/orm/DbClient.h>
#endif // BUILD_ORM
#include <trantor/net/Resolver.h>
#include <trantor/net/EventLoop.h>
#include <trantor/utils/NonCopyable.h>
#include <functional>
...
#if BUILD_ORM == 1
    virtual orm::DbClientPtr getDbClient(
        const std::string &name = "default") = 0;

    virtual orm::DbClientPtr getFastDbClient(
        const std::string &name = "default") = 0;
...
    virtual HttpAppFramework &createDbClient(
...
#endif // BUILD_ORM

Many changes are involved, and some macros determined at compile time are introduced in the public API header files (currently no such macros), I need to think more about this.
@rbugajewski @ihmc3jn09hk what do you think about this?

@an-tao I think you have a better overview of changes that would be required.
I don’t have the need to remove the ORM from Drogon, as I rely on it for a more integrated database access, but I can see how this could be useful. There are projects that don’t need a database at all, because they can serve the data either from files or they pass data through from another API. This could also be useful if people want specific functionality from other ORM libraries. They could disable the built-in one and use a third-party library.

I've tracked changes down to
../lib/inc/drogon/HttpAppFramework.h:30:#if BUILD_ORM == 1
../lib/inc/drogon/HttpAppFramework.h:32:#endif // BUILD_ORM
../lib/inc/drogon/HttpAppFramework.h:1006:   #if BUILD_ORM == 1
../lib/inc/drogon/HttpAppFramework.h:1017:   #endif // BUILD_ORM
../lib/inc/drogon/HttpAppFramework.h:1037:#if BUILD_ORM == 1
../lib/inc/drogon/HttpAppFramework.h:1049:#endif // BUILD_ORM
../lib/src/ConfigLoader.cc:442:#if BUILD_ORM == 1
../lib/src/ConfigLoader.cc:454:#endif // BUILD_ORM
../lib/src/HttpAppFrameworkImpl.cc:33:#if BUILD_ORM == 1
../lib/src/HttpAppFrameworkImpl.cc:35:#endif // BUILD_ORM
../lib/src/HttpAppFrameworkImpl.cc:92:#if BUILD_ORM == 1
../lib/src/HttpAppFrameworkImpl.cc:94:#endif // BUILD_ORM
../lib/src/HttpAppFrameworkImpl.cc:478:#if BUILD_ORM == 1
../lib/src/HttpAppFrameworkImpl.cc:480:#endif // BUILD_ORM
../lib/src/HttpAppFrameworkImpl.cc:858:#if BUILD_ORM == 1
../lib/src/HttpAppFrameworkImpl.cc:892:#endif // BUILD_ORM
../lib/src/HttpAppFrameworkImpl.h:382:#if BUILD_ORM == 1
../lib/src/HttpAppFrameworkImpl.h:398:#endif // BUILD_ORM
../lib/src/HttpAppFrameworkImpl.h:478:#if BUILD_ORM == 1
../lib/src/HttpAppFrameworkImpl.h:480:#endif // BUILD_ORM

While ../drogon/config.h will contain something like #define BUILD_ORM 0 or #define BUILD_ORM 1

Currently, the config.h is only valid in compilation time and is not installed into system, but in the past, this file was installed in the system, after a discussion with @OvermindDL1 (see here),

I removed the config.h and Macros like BUILD_ORM or USE_OPENSSL and so on by the PR #199.
After that PR, if you set BUILD_ORM=off by cmake, you get the same API but the part of ORM is fake and do nothing or throw exceptions when being called.

@an-tao I didn’t know that this capability is already there. I think it is perfectly fine as it is and this issue should be closed. I don’t see any real gain of adding preprocessor macros if there are already similar mechanics present. Arguments against them are that they clutter up the source code, introduce another layer of indirection, and are harder to debug.
@ibroheem Can you think of any other benefit preprocessor macros would have compared to the current implementation?

@rbugajewski I can think of the benefit of it is that users can easily get building options in config.h exposed in the public API, and I am considering adding a command to drogon_ctl to show building options.
@ibroheem What do you think?
thx for this discussion.

@ibroheem Can you think of any other benefit preprocessor macros would have compared to the current implementation?

Other than eliminating the code completely and shaving off some seconds of compile-time (in a quite substantial project), none.
Perhaps it should be left as-is until further evidence comes up.
Thanks

We can close this in that case.


Can't change the bootstrap primary color

I have created a _sass/_custom-variables.scss file with the following contents:
$primary: #9949f5;

Then in my _includes/header.html I have:
<header>
  <nav class="navbar navbar-expand-lg navbar-dark bg-primary">
    <!-- rest of my navbar omitted for brevity -->
  </nav>
</header>

Since I have overriden bootstrap's $primary variable and since I am assigning the bg-primary class to my navbar, I would expect my navbar's background color to be set to #9949f5, which is a purplish color. However, when I build my jekyll site, I still the stock bootstrap blue as the background.
It is not clear to me whether this is a bug with this jekyll theme or if I am doing something wrong.

In case you're still looking for a solution, I had the same issue and here's what I did:
Copy this file into /assets/css/bootstrap-theme.scss
Comment out the first line: @import "bootstrap/bootstrap-utilities";


The method reset() of DataIter does not work

Description
I have a question and find a bug about Scala on MXNet:
(1) I didn't find out the implementation Scala codes of classes Symbol and DataIter. What is the implementation mechanism and how the mechanism operate?
(2) The bug is about DataIter with the method reset()
Environment info (Required)
What to do:
1. Download the dataset by the script https://github.com/apache/incubator-mxnet/blob/master/scala-package/core/scripts/get_mnist_data.sh
2. Build the Scala project by Sbt

Package used Scala:

Java version: openjdk version "1.8.0_151"
Sbt version: 1.1.0
Sbt dependency:

scalaVersion := "2.11.12"

libraryDependencies ++= Seq(
  "ml.dmlc.mxnet" % "mxnet-full_2.11-linux-x86_64-cpu" % "0.9.3a"
)

Error Message:
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f560fac6d6e, pid=29615, tid=0x00007f564fbfb700
#
# JRE version: OpenJDK Runtime Environment (8.0_151-b12) (build 1.8.0_151-8u151-b12-0ubuntu<IP_ADDRESS>-b12)
# Java VM: OpenJDK 64-Bit Server VM (25.151-b12 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C  [mxnet-scala+0xedcd6e]  MXDataIterGetData+0x3e
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /home/ubuntu/issue/hs_err_pid29615.log
Compiled method (c1)   14158 11872       3       ml.dmlc.mxnet.io.MXDataIter::getData (75 bytes)
 total in heap  [0x00007f56b13e0ad0,0x00007f56b13e2b80] = 8368
 relocation     [0x00007f56b13e0bf8,0x00007f56b13e0d70] = 376
 main code      [0x00007f56b13e0d80,0x00007f56b13e1f80] = 4608
 stub code      [0x00007f56b13e1f80,0x00007f56b13e2098] = 280
 oops           [0x00007f56b13e2098,0x00007f56b13e20b8] = 32
 metadata       [0x00007f56b13e20b8,0x00007f56b13e2168] = 176
 scopes data    [0x00007f56b13e2168,0x00007f56b13e2870] = 1800
 scopes pcs     [0x00007f56b13e2870,0x00007f56b13e2b30] = 704
 dependencies   [0x00007f56b13e2b30,0x00007f56b13e2b40] = 16
 nul chk table  [0x00007f56b13e2b40,0x00007f56b13e2b80] = 64
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
/usr/share/sbt/bin/sbt-launch-lib.bash: line 58: 29615 Aborted                 (core dumped) "$@"

Minimum reproducible example
import ml.dmlc.mxnet._

object Main {

  def getTrainData() = {
    val train = IO.MNISTIter(Map(
      "image" -> "data/train-images-idx3-ubyte",
      "label" -> "data/train-labels-idx1-ubyte",
      "label_name" -> "softmax_label",
      "input_shape" -> "(784,)",
      "batch_size" -> "50",
      "shuffle" -> "True",
      "flat" -> "True",
      "silent" -> "False",
      "seed" -> "10"))
    train
  }

  def main(args: Array[String]): Unit = {

    val trainData = getTrainData()
    println("Get DataIter.size: " + trainData.size)

    trainData.reset()
    // The following code will fix the error
    //trainData.hasNext

    println("Get DataIter.getData.size: ")
    println(trainData.getData.size)
  }
}

Steps to reproduce
Running the above Scala code will reproduce the error.
We know calling the size method of an iterator will iterate to the end.
Although DataIter provides reset() method to reset the iterator, it doesn't work.
What have you tried to solve it?
We call hasNext after calling reset() and then solve it.

@sandeep-krishnamurthy  Please Tag: Bug

The MNISTIter is a JNI call into c++ backend (which reuses the implement in mxnet c++ core)
it is created here: https://github.com/apache/incubator-mxnet/blob/master/scala-package/core/src/main/scala/ml/dmlc/mxnet/IO.scala#L108
Maybe there's something wrong with this call: https://github.com/apache/incubator-mxnet/blob/master/scala-package/core/src/main/scala/ml/dmlc/mxnet/io/MXDataIter.scala#L79


Update UI

Codecov Report

Merging #90 (1c7b20a) into master (cfe25fc) will increase coverage by 0.51%.
The diff coverage is 29.41%.

@@             Coverage Diff              @@
##             master      #90      +/-   ##
============================================
+ Coverage     44.87%   45.39%   +0.51%
- Complexity      380      385       +5
============================================
  Files           109      109
  Lines          1979     1985       +6
  Branches        201      202       +1
============================================
+ Hits            888      901      +13
+ Misses         1012     1007       -5
+ Partials         79       77       -2

Impacted Files
Coverage Δ

.../travelr/logic/commands/AddEventToTripCommand.java
0.00% <0.00%> (ø)

...elr/logic/commands/DeleteEventFromTripCommand.java
0.00% <0.00%> (ø)

...in/java/seedu/travelr/logic/parser/ParserUtil.java
67.39% <ø> (ø)

src/main/java/seedu/travelr/model/trip/Trip.java
66.21% <ø> (-1.74%)
:arrow_down:

.../java/seedu/travelr/model/util/SampleDataUtil.java
16.66% <0.00%> (-3.34%)
:arrow_down:

src/main/java/seedu/travelr/ui/TripCard.java
0.00% <0.00%> (ø)

...va/seedu/travelr/logic/commands/DeleteCommand.java
100.00% <100.00%> (ø)

src/main/java/seedu/travelr/model/AddressBook.java
62.06% <100.00%> (+4.17%)
:arrow_up:

...rc/main/java/seedu/travelr/model/ModelManager.java
40.50% <100.00%> (+5.89%)
:arrow_up:

src/main/java/seedu/travelr/model/event/Event.java
48.27% <0.00%> (-10.35%)
:arrow_down:

... and 4 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Volar does not takeover when type-checking .js

As you know, in TypeScript, you can define a type-checked file in a few ways:

With a .ts extension & tsconfig.json file for compiler settings
With a .js extension & tsconfig.json with allowJs: true and checkJs: true
With a .js extension & jsconfig.json with checkJs: true.
With a .js extension and // @ts-check at the top of the file

This implies that a .vue file should be interpreted in "TypeScript-mode" if any of the above are true.
However, it appears that Volar / Vue language services only initiate takeover mode if a Vue tag has <script lang="ts"> or <script setup lang="ts"> IMO this is incorrect. For instance, in my setup, jsconfig.json is defined, and set to type-check all JS. I also tried adding "include": ["./lib/**/*.vue", "./lib/**/*.js"] but this had no effect.
I've defined a computed prop with JSDoc like:
computed: {
    /** @returns {[string, any][]} */
    dynamicSlots () {
      return Object.entries(this.$slots).filter(([key]) => key !== 'drag-image' && key !== 'default');
    }
  }

However, in the <template> block, it reports that dynamicSlots has a type of any. If I change the script setup to <script type="ts">, it works, but I don't think this should be necessary?
Or, is there another way to enable Vue TypeScript language services for a type-checked JS document?

This! Takeover mode not working in JSDoc comments not only results in this doing nothing, but it also results in an error being displayed in my editor.


Events ending at midnight don't display

Trying to create a schedule with vueCal. Having a problem when my events end at midnight as they won't display on the calendar.
Here's a codepen to show it in action: https://codepen.io/_dev_noise/pen/BaBMQYy
 new Vue({   components: { vueCal: vuecal },   el: '#app',   data: () => ({   showDialog: false,   events:[     {"start":"2019-09-23 22:00","end":"2019-09-24 01:00" ,"title":"Democracy Now"},     {"start":"2019-09-24 22:00","end":"2019-09-25 00:01" ,"title":"Democracy Now"},     {"start":"2019-09-25 22:00","end":"2019-09-26 00:00" ,"title":"Democracy Now"},     {"start":"2019-09-26 00:00","end":"2019-09-26 01:00" ,"title":"Democracy Now"},   ] }) });

Hi @devNoiseConsulting,
This is a duplicate of #139.


Adding initial cyglfw3 integration support

This adds support for using cyglfw3 as an interface to glfw.  It is almost completely a 1:1 mapping of the glfw integration, but switching to cased words without underscores.

Coverage decreased (-1.1%) to 52.909% when pulling b4a3baf66623e135a2e599bcb806196e4944e79e on matthewturk:feature/cyglfw3-integration into d5a50a2781f76be3679bc3d4da54db3db4288681 on swistakm:master.


Spelling/grammar fixes

hihi, thanks
but wait - "a subset is" right?

yes, sorry you're right.
Let me fix that first


Punch hole timeouts

This change is

r? @vinipsmaker
(maidsafe_highfive has picked a reviewer for you, use r? to override)

Sorry for taking so long to look at this branch, but I've been spammed by soooooo many emails of MaidSafe activity that I kind of lost track this time. It won't happen for some time now that I've been able to catch up again.
=)

This branch has conflicts that must be resolved

And remember that I'm NOT notified of new commits by email. So put a comment on the thread to let me receive mail notifications when these PRs are ready.


Steps showing in 'to-do' list when not applicable

From a user report:
MAUI steps show at every iteration of the upgrade process (in interactive mode) for a project which is not a .NET MAUI project.

Symptom of #1208 . Closing as duplicate since @Sweekriti91's already on that one


[semantic-sil] Add special unmanaged_{retain,release}_value instructi…

…ons for unpaired retain/release operations in semantic sil.
The reason why I am introducing special instructions is so I can maintain the
qualified ownership API wedge in between qualified SIL and the rest of the ARC
instructions that are pervasively used in the compiler.
These instructions in the future /could/ be extended to just take @sil_unmanaged
operands directly, but I want to maintain flexibility to take regular
non-trivial operands in the short term.
rdar://29791263

@swift-ci Please smoke test and merge

@swift-ci Please smoke test and merge

@swift-ci Please smoke test and merge


Feature request: Regions (dashed lines) for bar charts/area step charts

It would be cool to have regions available for bar charts/area step charts. It's especially useful for trending future values. I made a jsfiddle with the current state:
http://jsfiddle.net/11pmskwj/1/

@ndabAP Interesting; by this you mean you want the ability to shade them differently? Have an example of what it should look like?

Sure :)
Made this in a rush:

Has anyone looked at this recently? I'm trying to do the same thing. I can take a shot at it if someone can point me to the right file in C3, as I've never investigated the code before.

Below is code for a quick fix that seems to make this work. I don't how to work with the different partial files shown in github so I just edited right into the main one on my end, so this is more for informational purposes.
I also don't think I integrated my code very well, and didn't do any check for how it reacts with large data sets, etc., but hopefully this can at least help out the next person trying to do this. Someone who knokws the code better can probably work with this and fit it in better.
In c3.js, I added the following line to CLASS variable, near line 5600:
barRegion: 'c3-bar-region',
I updated this function. It was near line 5700, surrounded by similar functions:
c3_chart_internal_fn.classBar = function(d) {
    return this.classShape(d) + this.generateClass(CLASS.bar, d.index);
}

I replaced that function with this one:
c3_chart_internal_fn.classBar = function (d) {
    	//If d.id is in regions, add the regions part
    	var barRegion = ' ';
        if (this.config.data_regions[d.id]){
        	for (var i = 0; i < this.config.data_regions[d.id].length; i++){
        		if (d.index >= this.config.data_regions[d.id][i]['start'] && d.index <= this.config.data_regions[d.id][i]['end']){
        			barRegion+= CLASS.barRegion;
        			console.log(this.config.data_regions);
        			break;
        		}
        	}
        }
        return this.classShape(d) + this.generateClass(CLASS.bar, d.index) + barRegion;
    };

Then in my c3.css, I added a class that looks the way I want my dashed bars to look:
/*-- Bar for dashed/transparent regions */
.c3-bar-region {
	stroke-width: 2;
	stroke-opacity: 0.7;
	stroke-dasharray: 5 5;
	fill-opacity: 0.3;
}

.c3-bar-region._expanded_ {
	fill-opacity: 0.5;
}


set-azsqldatabasevulnerabilityassessmentrulebaseline - example 2 (copy baseline) doesn't work

PS C:> Get-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline             -ResourceGroupName "ResourceGroup01"
-ServerName "Server01"             -DatabaseName "Database01"
-RuleId "VA2108"             |  Set-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline
-ResourceGroupName "ResourceGroup02"                 -ServerName "Server02"
-DatabaseName "Database02"
This part of example 2 in https://docs.microsoft.com/en-us/powershell/module/az.sql/set-azsqldatabasevulnerabilityassessmentrulebaseline?view=azps-3.1.0 doesn't work
It merely returns the original baseline info that you are trying to copy.

@pascalspektrix Please move this issue to https://github.com/Azure/azure-powershell/issues


a error about eigen

Thank you for your work. I had this error when replicating your project: When I used the 2D Pose Estimate on rviz to give the initial pose, as shown in the figure, it was probably about the order conflict between eigen and the matrix：
**> ekf_localization: /usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:281: void Eigen::PlainObjectBase::resize(Eigen::Index, Eigen::Index) [with Derived = Eigen::Matrix<double, 27, 27>; Eigen::Index = long i

t]: Assertion `(!(RowsAtCompileTime!=Dynamic) || (rows==RowsAtCompileTime)) && (!(ColsAtCompileTime!=Dynamic) || (cols==ColsAtCompileTime)) && (!(RowsAtCompileTime==Dynamic && MaxRowsAtCompileTime!=Dynamic) || (rows<=
axRowsAtCompileTime)) && (!(ColsAtCompileTime==Dynamic && MaxColsAtCompileTime!=Dynamic) || (cols<=MaxColsAtCompileTime)) && rows>=0 && cols>=0 && "Invalid sizes when resizing a matrix or array."' failed.
[ekf_localization-2] process has died [pid 49927, exit code -6, cmd /home/ls/ELiMaLoc/devel/lib/ekf_localization/ekf_localization __name:=ekf_localization __log:=/home/ls/.ros/log/204bd360-bec4-11ef-a763-2f9e9caf465a/
kf_localization-2.log].
log file: /home/ls/.ros/log/204bd360-bec4-11ef-a763-2f9e9caf465a/ekf_localization-2*.log**

Have you encountered this problem before? If so, how was it resolved?

ps：my system is ubuntu20.04, ros version is noetic,eigen version is 3.3.7-2

Thank you for your interest in my code.
In my computer environment (Ubuntu 20.04, Noetic),
I did not have any problems when I used the roslaunch launch/ELiMaLoc.launch location:=kcity bag:=true option.
However, since it seems to be an error regarding the 27x27 Eigen Matrix, it seems to be a problem with the Eigen::Matrix<double, STATE_ORDER, STATE_ORDER> P_; variable in ekf_algorithm.hpp.
I found a bug in ekf_algorithm.cpp https://github.com/jaeyoungjo99/ELiMaLoc/blob/f89294b3714f19cda3a94e8f49ccf17dbf635f23/src/app/localization/ekf_localization/src/ekf_algorithm.cpp#L336
There was an incorrect redefinition of the eigen matrix P_, which was fixed in the new commit f89294b in main branch.
Thank you for reporting problem.

thanks. it is ok


Refactor ensure DreddHooks::Server can be used as library

As a developer
In order to provide multiple uses to my gem
I want its code to be usable without its command-line interface
See https://github.com/apiaryio/dredd-hooks-ruby/issues/5

I will re-open this PR against the canonical repository when it is ready.


Add automatic operator/brand wikidata presets to amenity=telephone

It would be nice if amenity=telephone would have operator presets based on wikidata in the same way that substations, power poles, ATMs, post drop boxes, certain stores etc have prefilled wikidata for popular operators.

For example I imagine that typing "Telstra" would bring up a preset for public telephone rather than just their store outlet.

In Australia, all public phones have the same operator and this would make it significantly less painful to add wikidata to them.

My understanding is, that this needs to happen in https://github.com/osmlab/name-suggestion-index.
The data in your example is from https://nsi.guide/?t=brands&tt=telstra, for example.

Thank you, that is enlightening. That is definitely what I am after.

Yes, this was just opened in the NSI repo recently.. I'll add the category 👍


[BarcodeReader] FBLPromises library not loaded

Description
i am using BarcodeReader with FCM i followed steps of readme in demo and successfully created working project with firebase and barcodereader. but when i tried to active camera even i gave permission. it crashes app immedietly. while trying to solve this issue i changed GoogleService-Info.plist in Deployment. Now app crashes on startup. i changed back to previous GoogleService-Info.plist still crashes on startup. when i looked into MacOS Console for logging i came cross this error attached to this link: https://drive.google.com/file/d/10efZGm5OMC6st5hM_HaW5qbuYVUHhi8O/view?usp=sharing
when i asked this issue to Embarcadero support they said:
The library should be statically linked but the app is looking for a dylib. FBLPromises looks to be one of the frameworks from Kastri. You should ask Dave Nottage how to link it statically
Error messages
FBLPromises library not loaded
Please indicate
Delphi Version: 12.2
IOS 18.1

The implementation in Kastri links everything statically. Perhaps there is some other code in your app that needs to load it dynamically. Without seeing your code, I would not be able to tell.

i deleted this project i will gonna start with new demo project and then gonna provide you.


cabana: add support for multiple DBC files

Add option to open separate DBC file  for each bus. Still possible to open a DBC that applies to all busses.
Technically you should also be able to add multiple DBC files for the same bus (in cases where each node has it's own DBC), but will consider that out of scope for this PR.
Tried to keep the changes as minimal as possible, but it still got quite big.
Currently supported:

Opening a .dbc file that applies to all busses
Opening a .dbc file that applies to one ore more specific busses
Having multiple .dbc files open at the same time
Opening a file from opendbc that applies to all busses
Opening a recent file that applies to all busses

Not (yet) supported, todo in separate PRs:

Save as with more than one file open
Save to clipboard with more than one file open
Creating a new DBC file for a specific bus only
Closing a DBC file
Opening a DBC from opendbc or recent files that applies to a specific bus (instead of all)
An advanced DBC manager dialog where you can do things like change bus assignments or load multiple DBC files for the same bus.
Add radar bus DBC to loadDBCFromFingerprint to load both files automatically.

@adeebshihadeh @deanlee This PR is ready for review!
After it's merged I'll start working on the features that need this PR as a prerequisite.

looks like missing indentation at https://github.com/commaai/openpilot/pull/27435/files#diff-f15a7381948cf7bab301af3b25f4e044c552d509b9de78b404df01136efe3443R44
can't comment in file view now, looks like there are some issues with github.


Mill doesn't seem to work on Windows when the user's name starts with lowercase u

There seems to be a problem caused by the fact that slash-u starts a Unicode escape sequence.
Here is a screen-grab:

This should be easy to fix using pprint.apply(s: String) rather than leaning on triple quotes :) if anyone wants to send a PR this is an easy one!


Track response metrics by component.

Track response code counts by component, for parity with the /varz endpoint.

Hi @jmcarp
In the past, gorouter did a lot of counting and math for metrics exposed on /varz. Rather than add these things again to dropsonde, it seems to us that counting events by response code could be handled by an aggregator hooked up to the firehose.
What do you think?

I might be misunderstanding, but I thought that component logs didn't go through the firehose. Do you mean setting up a syslog drain and aggregating component responses by code there instead?
Also, gorouter is already sending metrics on latency grouped by component, so I figured that grouping response codes by component would make sense too.

Gorouter access logs do go through the firehose, in addition to HttpStartStop events. Messages with 5xx status codes could be counted for URIs of system components.
You mentioned the documentation found here: https://docs.pivotal.io/pivotalcf/1-7/opsguide/metrics.html#router-column
We'll ask the CloudOps team how they are generating their Router Dial Error metrics.

@jmcarp : What is the motivation behind this PR?
I would like to understand the need for tracking internal component response metrics. Are you seeing more failures with internal components?
I think it is valuable to track response metrics for (internal)components separately from application instances. Does it solve your problem? @jmcarp
@shalako @abbyachau thoughts?
Regards
Shash

@jmcarp :
Looks like files in this PR got renamed so merging this might be more harder. Can you please update the PR, otherwise we might have to cherry pick the changes to gorouter.
Regards
Shash

@jmcarp : Closing this issue due to inactivity. Feel free to open another PR if you still require this feature.
Regards
Shash


Add support for GROUP BY ALL syntax

Summary of the changes / Why this improves CrateDB
Added support for GROUP BY ALL syntax, which provides a convenient shorthand for grouping by all non-aggregate columns in the SELECT list.

Reduces verbosity in queries with many grouping columns
Eliminates need to explicitly list all grouping columns
Makes queries more maintainable by automatically including non-aggregate columns in grouping

Example:
SELECT department, title, AVG(salary)
FROM employees
GROUP BY ALL;

Is equivalent to:

SELECT department, title, AVG(salary)
FROM employees
GROUP BY department, title;

## Checklist

Added documentation in docs/appendices/release-notes/5.10.0.rst:
Updated SQL documentation
Added test coverage
No breaking changes: Additive feature only

Can one of the admins verify this patch?

Nice work, looks good overall


Add a mobile_only parameter for OutboundCall

This allows you to disable the mobile-only validation that is currently on by default.
Discussed here:
https://discord.com/channels/1079125925163180093/1091639833635602452/threads/1108515875641901168

I think this would be a great addition for those looking to self-host.


How can I Raptor XML parser with Arelle

I found arelle few days ago which is open source and free.
I was wondering  how I can  replace Raptor XML parser with Arelle server.
Any ideas.

I'm afraid you're going to have to ask the Arelle open source community, given that these here are examples that demonstrate how to use RaptorXML server.


Things to Add

Add CTT support
Add new sky56 replacement
Show Adicional Id in correos express info, maybe also add a link to the provider
Add new ebay tracker

Done


Update nf-fwpsk-fwpsopentoken0.md

Added a critical detail - that the calling process must have a special privilege (SE_DEBUG_NAME) enabled in their process token in order to be able to call this API.

@keith-horton - Is it ok if we move this detail to a separate remarks section?
-remarks
The process that calls fwpsopentoken0 must have the SE_DEBUG_NAME privilege enabled in its process token.

@keith-horton - Is it ok if we move this detail to a separate remarks section?
-remarks
The process that calls fwpsopentoken0 must have the SE_DEBUG_NAME privilege enabled in its process token.

Yep, that sounds good to me!
Sorry, I wasn't sure where to insert that text.

@keith-horton - Is it ok if we move this detail to a separate remarks section?
-remarks
The process that calls fwpsopentoken0 must have the SE_DEBUG_NAME privilege enabled in its process token.

Yep, that sounds good to me! Sorry, I wasn't sure where to insert that text.

No worries! Opening PRs is a huge help, thanks so much for helping us keep these topics updated!

@keith-horton - Is it ok if we move this detail to a separate remarks section?
-remarks
The process that calls fwpsopentoken0 must have the SE_DEBUG_NAME privilege enabled in its process token.

Yep, that sounds good to me! Sorry, I wasn't sure where to insert that text.

No worries! Opening PRs is a huge help, thanks so much for helping us keep these topics updated!

The change looks good. Thank you for jumping on these so quickly!


Alignment of swagger with restconf

For T-API 2.0 alignment with RFC restconf will be needed.

  for configuration and state data: /restconf/data/… and not /restconf/config/…

  access to lists by key should look like: …/_topology=top0

and not …/_topology/top0
because multiple keys would be tougher to detect in the second case.

I will open an issue in project EAGLE.


Fix laggy scrolling on mobile app's home screen, etc.

Problem
Scrolling through some screens (such as the feed on the Home screen) in the Bluesky app is laggy on some mid- to low-end Android devices, with frame rates dropping below 30 FPS.
While not having a noticeable impact on iOS or high-end Android devices, this situation will start escalating to a severe level on mid- or low-end Android devices, giving the user a bad experience or even causing them to decide to switch to the web version instead to avoid the laggy scroll hurting their eyes.
Notably, this issue does not affect every scrollable List, such as the one on the Profile screen.
The small change in this PR improves performance by 200% on some Android devices
(worst case <15 FPS → worst case >30 FPS).
See screen recording: https://youtu.be/ipZeTkb2mAk
Cause and Solution
In the List component (src/view/com/util/List.tsx), we have the following code:
  // ...

  const contextScrollHandlers = useScrollHandlers()

  // ...

  const scrollHandler = useAnimatedScrollHandler({
    onBeginDrag(e, ctx) {
      contextScrollHandlers.onBeginDrag?.(e, ctx)
    },
    onEndDrag(e, ctx) {
      contextScrollHandlers.onEndDrag?.(e, ctx)
    },
    onScroll(e, ctx) {
      contextScrollHandlers.onScroll?.(e, ctx)
    },
    onMomentumEnd(e, ctx) {
      contextScrollHandlers.onMomentumEnd?.(e, ctx)
    },
  })

  // ...

This might hurt performance since:

Grabbing .onScroll from the contextScrollHandlers object every time when onScroll is called may add influential computing overhead, as the handler may be called over 60 times per second.
Serializing the contextScrollHandlers object from JS thread and passing it to the UI thread on every call adds overhead due to additional serializing and deserializing.

(The above two points are assumptions, as I am unfamiliar with details on how worklet functions are serialized by reanimated or optimized by the JS runtime. Please correct me if I am wrong!)
(For the reason why this issue does not affect every List, I think it's because not every List is used with a onScroll event handler in the ScrollContext)
Solution
Destructure the contextScrollHandlers object beforehand to avoid repeated object access and unnecessary data transfer to the UI thread:
  // ...

  const contextScrollHandlers = useScrollHandlers()

  // ...

  const {
    onBeginDrag: onBeginDragFromContext,
    onEndDrag: onEndDragFromContext,
    onScroll: onScrollFromContext,
    onMomentumEnd: onMomentumEndFromContext,
  } = contextScrollHandlers

  const scrollHandler = useAnimatedScrollHandler({
    onBeginDrag(e, ctx) {
      onBeginDragFromContext?.(e, ctx)
    },
    onEndDrag(e, ctx) {
      onEndDragFromContext?.(e, ctx)
    },
    onScroll(e, ctx) {
      onScrollFromContext?.(e, ctx)
    },
    onMomentumEnd(e, ctx) {
      onMomentumEndFromContext?.(e, ctx)
    },
  })

  // ...

Have not tried on a real device, but your video looks great and the change looks safe. Thank you so much!


Removal of built-in statusbar

As I've mentioned in a couple of various issues, the addition of an integrated status bar was a mistake. Creating a good quality bar application is in itself more work than I want to do, considering the other ongoing projects I have.

What are the other options? I really like having info about the number of spaces and currently selected. I know there is https://github.com/kkga/nibar, but running this whole thing with Ubersicht seems to me like huge overkill.

I suppose you can check https://github.com/koekeishiya/yabai/issues/463 for now.

What are the other options? I really like having info about the number of spaces and currently selected. I know there is https://github.com/kkga/nibar, but running this whole thing with Ubersicht seems to me like huge overkill.

Someone extracted the statusbar code and added some nice to have features like multiple monitor support and date formatting: https://github.com/somdoron/spacebar

Hi, I'm sorry for commenting after this issue closed, but I made a small plugin for Bitbar that integrates with Yabai to display information about spaces. I thought people might find it useful! https://github.com/SxC97/Yabai-Spaces


fix typo in README.md

fix default value in prometheusOperator.kubeletService.namespace to 'kube-system' instead of 'true'

What this PR does / why we need it:
Which issue this PR fixes
(optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged)

fixes #

Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] Variables are documented in the README.md

please fix CI

@gianrubio done

[x] DCO signed


Update for windows cross compilation

Hi @marirs!
Great repository!
Please review the code changes to build.rs that allow the ifgs-rs package to be cross compiled to windows.
Thanks,
postrequest

Hey - Thank you so much for this! Much gratitude :)
Merged, updated in crates too.
Thanks again!

Hey thanks for that!
I also have a fork that resolves GetAdapterAddresses dynamically.
When using mingw, linking Iphlpapi.dll may sometimes have issues, but this may not be code that you would like to include.
Looking forward to trying out your other libraries, you are a very good programmer!

Thanks very much, I'll take a look at that as well.
Oh, I'm just a ok programmer.
In fact, I'm so interested in your repos as well.
Thanks again for your kindness :)


Adds Asitava to PSLab team

Adds asitava1998 to PSLab Team

Please resolve conflicts. Cheers

@mariobehling  Resolved the conflicts


AntiAliasing limitation of consumed/owned mut params

Stainless doesn't distinguish between owned objects and referenced/shared/borrowed objects, because on the JVM every object is a reference. Therefore, AntiAliasing in Stainless hinders the Rust frontend to pass such code:
#[var(field)]
struct S { field: i32 }

fn set_field(mut s: S) -> S {
  s.field = 789;
  s
}

Which corresponds to the following in Scala (and is transformed to it by the Rust frontend's extraction). Internally, the mut s: S is translated to a LetVar at the beginning of the function:
sealed case class S((field: Int) @var)

def set_field(var0: S): S = {
  var (s: S) @var = var0
  s.field = 789
  s
}

But this is not allowed in Stainless, because Stainless can't see that the parameter var0 is consumed/owned and can be modified at will. Neither does it see that var0 is not used after the LetVar assignment. Finally, Stainless fails with Illegal Aliasing: var0.

val s = var0 works for this one, but I don't know if that's good enough for your use case?

Take-away from the discussion with @jad-hamza:

We need something that is basically like snapshot. It tells Stainless that we operate on a new copy/version of the ADT that no one else has access to. This is the same as the idea of the @owned flag, @romac suggested.
This primitive should be added as a tree in Stainless.
Functions that use the primitive on all their mutable parameters can be @pure because they only operate on the new copy of the params.
In the best case, this can even make it possible to set all ADT fields to @var.


top recent hogs entry not selectable for pref->ignored

Hi bgreenlee!
The top hog on my list is ScreenSaverEngine (probably because I run a cpu intensive screensaver from jwz's XScreenSaver for OS X)
But there's no obvious corresponding app to ignore in Prefererences -> Ignored -> Choose Applications to Ignore
running Squeeler 1.3 build 29

I'm guessing the problem is that ScreenSaverEngine has quit by the time you open applications to ignore, and that dialog only shows running applications. I should allow you to enter any name (or chose ignore from the Recent Hogs menu).

That's probably it.
BTW the screensaver is an emulator of the Apple ][ that actually emulates
the display circuitry to faithfully reproduce the original's NTSC glory, so
no surprise it's flagged as a hog.
On Friday, March 18, 2016, Brad Greenlee<EMAIL_ADDRESS>wrote:

I'm guessing the problem is that ScreenSaverEngine has quit by the time
you open applications to ignore, and that dialog only shows running
applications. I should allow you to enter any name (or chose ignore from
the Recent Hogs menu).
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/bgreenlee/Squeeler/issues/2#issuecomment-198590536


[3.x] Fix text color of TileMap editor info overlay

Text color of TileMap editor info overlay was using the theme default Label color. But the CanvasItem editor's overlay always have a dark background. So the text was invisible when using Light theme:

Thanks!

Cherry-picked for 3.4.4.


[CI] Adding a make target for mesheryctl docs and add in the worflow file

Notes for Reviewers
This PR fixes #8184
Signed commits

[ ] Yes, I signed my commits.

This is great. Thank you, @suhail34


Xcode and UITests — Failed: Timed out while synthesizing event

Description
synthesizing events takes too long (more than 30 seconds) which makes UITests fail. (some events are synthesized right away, but for a some tests—random, not the same—it will timeout.)
Area for Triage:
Apple
Question, Bug, or Feature?:
Bug
Virtual environments affected

[ ] Ubuntu 16.04
[ ] Ubuntu 18.04
[ ] Ubuntu 20.04
[x] macOS 10.15
[ ] macOS 11.0
[ ] Windows Server 2016 R2
[ ] Windows Server 2019

Image version
Version: 20210510.1
Expected behavior
synthesizing events should run smoothly and not timeout.
Actual behavior
here's a part of the log:
2021-05-15 12:49:30.838966+0000 XUITests-Runner[1454:15770] [Arbitration] starting DTServiceHub child handshake.0 (send: 0x581b, receive: 0xa813)
500
2021-05-15 12:49:30.841757+0000 XUITests-Runner[1454:15523] [Arbitration] attempting connection to singleton: 1391 with send port: 0xa707
501
2021-05-15 12:49:30.843821+0000 XUITests-Runner[1454:15523] [Arbitration] handshake SUCCESSFUL (child: 1460 -> singleton: 1391)
502
    t =     0.40s Open mo.com.sleeplessmind.X
503
    t =     0.45s     Launch mo.com.sleeplessmind.X
504
    t =     0.87s         Wait for accessibility to load
505
    t =     0.96s         Setting up automation session
506
    t =     1.06s         Wait for mo.com.sleeplessmind.X to idle
507
    t =     1.10s Tap TextField
508
    t =     1.10s     Wait for mo.com.sleeplessmind.X to idle
509
    t =     1.13s     Find the TextField
510
    t =     1.16s     Synthesize event
511
    t =    36.59s         Failed: Timed out while synthesizing event.

after 35 seconds of wait, the UITest fail. rerunning the jobs may get this test to pass, but another one to fail (that would pass in the previous run).
Repro steps

have a couple of UITests that use tap and typeText
run the ci

Hello @godbout,
Could you please provide some sample repo with minimal steps to reproduce the issue?
In the meantime, we will investigate the issue from our side.
We look forward to hearing from you

hey @Darleev thanks. i'll do a public repo and come back with the URL. hopefully should just take a couple of days. thanks again.

Hello @godbout. Any updates on repro-steps? We look forward to hearing from you.

i'll do something over the weekend. sorry for the late!

ok so i made a public repo here: https://github.com/godbout/gha-uitests-synthetize
of course, i can't reproduce the issue 😅
my private repo fails. the only difference i see is that it seems the Accessibility dialog shows up (as seen below), which might make sense as my UI Tests are using Accessibility, but strangely it doesn't appear in the public repo where i grab and set AX elements.
   t =     0.85s Tap TextField
1767
    t =     0.85s     Wait for X to idle
1768
    t =     0.89s     Find the TextField
1769
    t =     0.99s     Found 1 interrupting element:
1770
    t =     0.99s         Window at {{357.0, 183.0}, {461.0, 171.0}} from Application 'com.apple.accessibility.universalAccessAuthWarn'
1771
    t =     0.99s     Invoking UI interruption monitors for Window at {{357.0, 183.0}, {461.0, 171.0}} from Application 'com.apple.accessibility.universalAccessAuthWarn'
1772
    t =     0.99s         Checking for user permission dialogs...
1773
    t =     0.99s             Checking existence of `StaticText`
1774
    t =     1.14s         Checking for Bluetooth Setup Assistant...
1775
    t =     1.14s             Find the Window at {{357.0, 183.0}, {461.0, 171.0}}
1776
    t =     1.25s         No monitors handled UI interruption, checking to see if element still exists...
1777
    t =     1.26s             Checking existence of `"Accessibility Access" Window`
1778
    t =     1.33s     Did not handle the interruption, but will attempt to continue…
1779
    t =     1.33s     Open mo.com.sleeplessmind.X
1780
    t =     1.37s         Activate mo.com.sleeplessmind.X
1781
    t =     1.37s             Wait for mo.com.sleeplessmind.X to idle
1782
    t =     1.41s     Synthesize event
1783
    t =     2.01s     Wait for mo.com.sleeplessmind.X to idle
1784
    t =     2.07s Type 'some text we will ...' into TextField

anyways, i will dig deeper later. you can close the issue if you want, i will reopen if i can come up with something new. thanks!

ok so i cleaned all i could from the failing repo and made a branch on the public repo. you can see the failure here: https://github.com/godbout/gha-uitests-synthetize/runs/2650248304?check_suite_focus=true
let me know what other info i can give you. thanks!

ok so i've spent quite some time and i found it. the issue happens when the Application is agent (UIElement) setting is set in the Info.plist. in my case my app lives in the status bar, but i create a window to run UI Tests. they work fine on my development machines. any chance to make that work in GHA?

@godbout this is often to do with Keyboards.  You can get similar issues locally if you have the Simulator set up to have a hardware keyboard.  There are defaults scripts that can ensure that the simulator does not think it has a hardware keyboard.
See https://stackoverflow.com/questions/55845373/disable-ios-simulator-connect-hardware-keyboard-programmatically

Hello @godbout. We apologize for such a late reply.
We investigated this issue and looks like it reproduces only when flag Application is agent (UIElement) is enabled. Could you please try to disable it to check if it helps?
We are still not sure why this flag causes issues but looks like everything works fine without it.

hey @nikita-bykov no worries. thanks for taking the time to check into this issue. well, good that you're confirming there's an issue with that setting. on my side, the app needs to be a UIElement (doesn't work if not) and the setting is set in the Info.plist. changing the Info.plist at runtime is a big no no, so i guess the next step for me is to see if i can switch this programmatically in another way. on your side will you guys still investigate or you're dropping the issue? thanks.

Hello @godbout. Thank you for your response. Unfortunately we can’t continue further investigation, because it looks like very specific issue. We tested it in various cases and can suppose that the possible root cause of the issue, that the application loses focus when you run it with this LSUIElement flag set to true. We’re closing issue for now, but if you get any ideas or suggestions about the root cause of the issue, could you please ping us in the thread ?

hi @dmitry-shibanov. alright. strange though that it does work locally, so losing the focus shouldn't be the issue. actually even as an UIElement, the window that is created for the UI Tests is put in the foreground. anyways, if i find a way i'll post it here. thanks!

ok so i was able to make the public repo i made to show this issue (https://github.com/godbout/gha-uitests-synthetize) pass by setting the activationPolicy at to .regular: https://developer.apple.com/documentation/appkit/nsapplication/1428621-setactivationpolicy#
unfortunately, this doesn't work with the private app i'm building. actually even making the app not a UIElement doesn't work. i keep having a ...has not loaded accessibility error message. as i'm burning through my paid ci minutes, i'm gonna give up on this. thanks for the time.


Implement edit and continue for jupyter cells while debugging

Somewhat related to this:https://github.com/microsoft/vscode-jupyter/issues/4555 would be the ability to auto refresh other cells and modules while debugging a cell.

Calling this out of scope


[TASK] Create e2e tests for ligo&smartpy plugins

Description
As an SDET, I want to provide quality for a project that includes both ligo and smartpy plugins so I need to create tests for each command implemented by both plugins
Acceptance Criteria
The tests should cover at least these scenarios:

[ ] Test for command taq compile without specifying plugin name  <- negative scenario
[ ] Test for command taq compile --pluginName
[ ] Test for command taq compile fileName --pluginName
[ ] Test for command taq compile multiple files --pluginName
[ ] Test for command taq compile wrong file --pluginName

This is currently blocked by https://github.com/ecadlabs/taqueria/issues/627 @mweichert @russellmorton @hu3man


DDL(ticdc): add more online DDL debug log

What problem does this PR solve?
Issue Number: close #4066
What is changed and how it works?
add DDL job debug log before being skip
`None`.

Codecov Report

Merging #4237 (3d3f9d0) into master (08da001) will decrease coverage by 0.0183%.
The diff coverage is 52.0379%.

Flag
Coverage Δ

cdc
58.6236% <57.6412%> (-0.0212%)
:arrow_down:

dm
52.1764% <40.5451%> (-0.0782%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.
@@               Coverage Diff                @@
##             master      #4237        +/-   ##
================================================
- Coverage   55.1722%   55.1539%   -0.0184%
================================================
  Files           485        491         +6
  Lines         59829      60915      +1086
================================================
+ Hits          33009      33597       +588
- Misses        23484      23937       +453
- Partials       3336       3381        +45

/merge

/run-verify

/run-verify


[BUG] pain.001.001.02 pmtInfData should not contained BtchBookg NbOfTxs and CtrlSum

Those fields get an "undefined" value but end up in the xml file like this :
This does not seem to comply with the specification.

If you like, you can make a pr

#192


Implement String.prototype.indexOf()

JerryScript-DCO-1.0-Signed-off-by: Laszlo Vidacs<EMAIL_ADDRESS>

@galpeter, thanks for the review, the code is updated also with the _p suffix.

Good to me

lgtm

Landed: https://github.com/Samsung/jerryscript/commit/64c81cc44d288427e4e04349afab1a99b23e3e54


fix: always show the label for the "resolved attributes" table

This fix makes the label over the "resolved attributes" table (shown after a successful login when "service" is not specified in the request) always displayed - because the table itself is also always shown.
Insight: With the current implementation (possibly due to nesting <div> inside <p>?), the attributes table is displayed anyway, even when there are only authentication.attributes present. So using the th:unless condition doesn't make much sense here.

Thank you for your contributions to Apereo CAS.
When you publish the pull request, please check off relevant items below in the description of your pull request.
Please make sure you include the following:

[x] Brief description of changes applied
[ ] Test cases for all modified changes, where applicable -- N/A
[ ] The same pull request targeted at the master branch, if applicable -- TODO
[ ] Any documentation on how to configure, test -- N/A
[ ] Any possible limitations, side effects, etc -- N/A
[ ] Reference any other pull requests that might be related -- N/A

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


WaitFor for Qdrant

Description
Adds WaitFor support for Qdrant
Related: #5645
Checklist

Is this feature complete?

[X] Yes. Ready to ship.
[ ] No. Follow-up changes expected.

Are you including unit tests for the changes and scenario tests if relevant?

[X] Yes
[ ] No

Did you add public API?

[ ] Yes

If yes, did you have an API Review for it?

[ ] Yes
[ ] No

Did you add <remarks /> and <code /> elements on your triple slash comments?

[ ] Yes
[ ] No

[X] No

Does the change make any security assumptions or guarantees?

[ ] Yes

If yes, have you done a threat model and had a security review?

[ ] Yes
[ ] No

[X] No

Does the change require an update in our Aspire docs?

[ ] Yes

Link to aspire-docs issue:

[X] No

Microsoft Reviewers: Open in CodeFlow

Digging a little more into the HttpClient usage here, I wonder if it would be better to resolve it in CheckHealthAsync instead and dispose it in this same method to follow a better IHttpClientFactory pattern instead of keeping a long-lived instance around. And then the named client could be configured on registration like this:
builder.Services.AddHttpClient(
    "qdrant-healthchecks",
    client =>
    {
        // Set the base address of the named client.
        client.BaseAddress = ...;

        client.DefaultRequestHeaders.Add("Api-Key", ...)
    });

Digging a little more into the HttpClient usage here, I wonder if it would be better to resolve it in CheckHealthAsync instead and dispose it in this same method to follow a better IHttpClientFactory pattern instead of keeping a long-lived instance around. And then the named client could be configured on registration like this:
builder.Services.AddHttpClient(
    "qdrant-healthchecks",
    client =>
    {
        // Set the base address of the named client.
        client.BaseAddress = ...;

        client.DefaultRequestHeaders.Add("Api-Key", ...)
    });

We haven't base  address before application start, so we can't use ServiceCollection to add named client.
We subscribe ConnectionStringAvailableEvent to get base address and in this step we can't add service in ServiceCollection

/azp run

@Alirexaa we are looking to snap a branch for .NET Aspire 9.0 at the end of this week? Did you have a chance to look at @davidfowl's feedback on http factory?

@Alirexaa we are looking to snap a branch for .NET Aspire 9.0 at the end of this week? Did you have a chance to look at @davidfowl's feedback on http factory?

I will look.

Replacing with #6044 with a few minor tweaks. I couldn't push to your branch for some reason.


Multiple database endpoints

Hey, I am testing CockroachDB, this database can use all nodes to interact with database and in production you would normally run haproxy in front of cluster. But for testing purposes it would be enough to pass multiple connection strings (one for each node in cluster) and YCSB tool should rounrobin this connections.
Is something like that available in YCSB or do I need to use proxy?

I don't think we have cockroachDB support currently. what version are you trying to use?

closing as stale. if you're still having trouble please reopen.


python311Packages.twilio: 8.12.0 -> 8.13.0

Diff: https://github.com/twilio/twilio-python/compare/refs/tags/8.12.0...8.13.0
Changelog: https://github.com/twilio/twilio-python/blob/8.13.0/CHANGES.md
Description of changes

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

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

Result of nixpkgs-review pr 287693 run on x86_64-linux 1

4 packages built:

authentik
home-assistant-component-tests.twilio
python311Packages.twilio
python311Packages.twilio.dist


better naming of files in variant detection/filtering steps

Per Tom's suggestion, we really should take a pass through the naming of files through the variant detection and filtration steps to add some consistency

We now have tools that allow for renaming:
https://github.com/genome/analysis-workflows/blob/master/definitions/tools/rename.cwl
In conjunction with https://github.com/genome/analysis-workflows/issues/712, we should consider which outputs are confusingly named and try to make them more clear.

Step 1: Make a list of tools that could take optional input parameters specifying output file names, then work back up the tree


New Jersey doesn't obey the Eye Color D20 abbreviation standard

NJ is putting DAYHZL instead of DAYHAZ, and this is causing scan failures.
For the DAY element Id, the D20 eye color abbreviation is defined as HAZ:

See also page 54 of the AAMVA card design standard:

In EyeColorParser, there is preexisting code that hard codes handling of special cases like this. We can add to it.

Not a bug per the spec, but it's a bug in reality.

It's a bug according to the spec, but since one of the member states chose to implement it this way, I guess we have to support it.


A question about Absmax quantization functon

Hi Antspy,
I have a question about the following codes in the quantization function:
norm_scaling = getattr(tensor, norm_to_use)(p=2)
Can I check what is the meaning of p=2? I was thinking the code is equivalent to tensor.max() while I cannot find any doc for the specification of p. Could you please suggest?

Hi,
that just means taking the p norm of the tensor: https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm
p=2 corresponds to the usual euclidean norm.

Hi,
that just means taking the p norm of the tensor: https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm
p=2 corresponds to the usual euclidean norm. Note that this is not the same of tensor.max()

Hi,
Thanks for the reply. In that case, I thought the code should be modified to as following:
norm_scaling = getattr(tensor, norm_to_use).norm(p=2)
Since the norm_to_use is specified as "max" for the case of absmax scaling.


Add TargetGroupBinding v1alpha1 and v1beta1 schemas

@Michalosu can maybe also add the schema for ingressclassparam?
https://github.com/kubernetes-sigs/aws-load-balancer-controller/tree/main/config/crd/bases

@eyarz yeah, but it already exists in the repository - https://github.com/datreeio/CRDs-catalog/blob/main/elbv2.k8s.aws/ingressclassparams_v1beta1.json
Did I miss sth?

you're right, my bad 😅


riscv_debug_branch_jump_test case fail

Hi,
when I run the riscv_debug_branch_jump_test case , the case will fail because access the unintialzed address, can anyone also find the same issue? Or can anyone help check this issue? my command is the following:
make ISA=rv32imc ITERATIONS=1 IBEX_CONFIG=small TEST=riscv_debug_branch_jump_test SEED=29354
can someone also help run on your side to check if there is the same issue on your side?
Thanks,
Lihua

by the way, I use the OVPSIM as a ISA.

Confirmed I also see the same issue. I think there is a known problem with this test at the moment - @udinator might know?

Yes, there is a known issue with the test at the moment.

Thanks for your confirm, do you have any plan when will improve the test?

I have a fix for the issue here

Thanks.

This issue should now be resolved - the updates to the instruction generator have been vendored into Ibex repository.


Optimize performance

Right now syncing the earlier epochs takes 10m/epoch which transactions to ~55hrs to sync the fullchain (naively assuming performance doesn't drop during the more recent epochs where there is a lot more data)
This isn't great performance considering this was benchmarked syncing with a local node, so we need to figure out how to get this faster

When syncing my node, I did get this performance warning a single time which maybe is a hint to something (or maybe a fluke)
SELECT "TransactionOutput"."id", "TransactionOutput"."payload", "TransactionOutput"."address_id", …; rows: 1, elapsed: 1.185s

SELECT
  "TransactionOutput"."id",
  "TransactionOutput"."payload",
  "TransactionOutput"."address_id",
  "TransactionOutput"."tx_id",
  "TransactionOutput"."output_index"
FROM
  "TransactionOutput"
  INNER JOIN "Transaction" ON "TransactionOutput"."tx_id" = "Transaction"."id"
WHERE
  "TransactionOutput"."output_index" = $1
  AND "Transaction"."hash" = $2
LIMIT
  $3

I added some perf monitoring and here is how much of processing an epoch is taken by different parts of the stack
~89.0% - Tx input insert
~07.2% - Oura/cardano-node overhead
~01.8% - Tx output insert
~00.9% - block insert
So clearly tx input insert is the best thing to tackle if possible


Issues while installing dlib

For installing dlib, I followed this tutorial : http://www.pyimagesearch.com/2017/03/27/how-to-install-dlib/.
I am on Mac OS X 10.12.5 and using Python 3.5.
I run
$ brew install cmake
$ brew install boost
$ brew install boost-python --with-python3

It works !
But when I try to install dlib with pip install dlib. I have an error :
The C compiler
    "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc"
    is not able to compile a simple test program.
error: cmake configuration failed!

For the full error, please see on this link (doesn't want to paste the full error) :
https://gist.github.com/alexattia/3e98685310d90b65031db640d3ea716a
Thank you very much,

Tried this?
conda install -c menpo dlib=19.4

I don't use Anaconda. I have some issues with libraries interfering from Homebrew and MacPorts.

You need to have a C++ compiler on your computer.    I would install XCode from Apple.

Xcode is a pain, huge install but anyway you'll be needing :

X11
Xcode
cmake (see you already have that)

I just reinstalled Xcode, CMake and checked that I have X11 but I still have the same error ..

No idea ?

I have no idea.  It's also obviously not a dlib related problem.


Holster failing to call on client

It seems like sometimes that Holster does not get correctly called on client, we might want to just send down a ClientRpc that handles all of the client holster functionality.

I don't actually think this is the case, we just need a proper bug report as to why the particle may end up existing after firing.


Expose Tensor.setRawData in Python bindings

Thanks for the contribution. Seems reasonable - would be important to add a test to ensure all works correctly.


Add zenburn theme

I'm not sure if you're accepting such additional theme request but I wanted to see if it's possible since I'm using doom-themes tooling and other doom-themes.
Reference: https://github.com/bbatsov/zenburn-emacs
Thanks for these awesome set of hight quality themes.

Zenburn could be a pretty nice addition! We would need some time to implement it though.

When I assign (setq doom-theme 'doom-zenburn) in config.el and restart emacs:
"xref-file-location-column is already defined as something else than a generic function"
I can set doom-theme to any other value without getting this error.


Remove OnSuccessCb from WriteInteraction.h

Problem
We need to manually call the OnSuccessCb in WriteInteraction.h. This is to prevent command Timeout in the controller since all Unicast command receive an Ack upon a write request, which trigger the OnSuccessCb which in turn calls the StopWaiting command. If not called manually, the controller will error out with a Timeout error for the group command.
Proposed Solution

Remove the call in the WriteInteraction.h
Inside WriteClient.cpp, in the sendWriteRequest function, before the shutdownInternal() call, trigger the OnDoneCb
Modify the OnDoneCb so that the StopWaiting() call is also issued. Verify that this modification doesn't break anything.

@mkardous-silabs


When viewing expenses...?

When viewing expenses, does the expense worked on last, show up first?

The user case says "in order of entry", that could be interpreted as what android does automatically (newest added to the bottom of the list), or the reverse. We should also ask whether an edited item is put onto the top once its saved.


Stop creating ModuleLoader DaemonSets

Remove the Node-kernel reconciler and stop labelling nodes with their kernel version.
/cc @yevgeny-shnaidman

/gtm

/unhold

/lgtm


No module named 'google.cloud.aiplatform' in sdk_custom_image_classification_online_explain.ipynb

Expected Behavior
Actual Behavior
Steps to Reproduce the Problem

Cloned this git repository into a Managed Notebooks Environment in Vertex AI
Tried running the notebook sample sdk_custom_image_classification_online_explain.ipynb
the cell "import google.cloud.aiplatform as aip" errors out with ModuleNotFoundError: No module named 'google.cloud.aiplatform'

Specifications

Version:
Platform:

@vipinn123
I ran the notebook in a Managed Notebook Environment with defaul Python local kernel. The notebook successfully imported google.cloud.aiplatform:
Set up variables
Next, set up some variables used throughout the tutorial.
Import libraries and define constants
import google.cloud.aiplatform as aip


broken link in root readme

Description
There's a broken link in the root readme.md file
Waltz Version
latest
Steps to Reproduce

...
Expected Result
No response
Actual Result
No response

Good spot.  Thanks for the fix!


Korean text disappears from the input box.

Description
Hello, I'm using algolia search module on docusaurus.
Korean text disappears from the input box in chrome on android. Please refer to the video at the following link.
http://naver.me/5JVXlUmK
example)
'설정' -> 'ㅅ ㅓ ㅈ ㅓ'
'문서' -> 'ㅁ ㅜ ㄴ ㅅ ㅓ'
Reproduction

My docusaurus site is following.
Steps

Go to https://docs.whatap.io in mobile environment(android chrome).
Click search icon on right upper.
Input the text '설정' or '문서'... Other letters with Korean consonants
See error

Expected behavior

I hope Korean consonants do not disappear and are entered correctly.
Environment

OS: Android
Browser: Chrome
Autocomplete version: 1.11.0

Could you try the solution presented at https://github.com/algolia/autocomplete/pull/901? I think this could be related to the compositing of the inputs causing the search to be done with the intermediary characters

Could you try the solution presented at #901? I think this could be related to the compositing of the inputs causing the search to be done with the intermediary characters

Hello, The method you suggested didn't work.

Thanks for getting back, can you clarify how it didn't work? exactly the same as in master?

Thanks for getting back, can you clarify how it didn't work? exactly the same as the released version?

Consonants and vowels in the text are separated while entering Hangul text, not after completing the text entry.
I tested from 1.9.3 to 1.11.0. The same situation happened to everyone.

And the same phenomenon occurs on the https://docusaurus.io/ko/ page.

Hi, it seems to be working in the latest version of autocomplete (which powers docusaurus).
https://github.com/algolia/autocomplete/assets/154633/c2046e88-6fd8-4aff-a551-02c674e1d94d
Can you replicate the issue in this sandbox: https://0orpj.csb.app/ ?

@dhayab
Hello, If you try setting html lang="ko-KR", the same thing will happen.

I've updated the sandbox with this (https://gsnm85.csb.app/) and it still works as expected. Could you share more about your environment?

Android device model
OS version
Virtual keyboard app (GBoard, Samsung, Swiftkey, etc.)
Any specific keyboard setting

I confirmed that it was working without any problems. I will close this issue.

@kijung-iM I think this issue still occurs. I got the same problem on my Android device using the Samsung keyboard. Also on your website unfortunatelly


Dart_GetField timeline events should include field name

https://github.com/dart-lang/sdk/blob/f55c9c54a8821d9a421a64810e770beb491f754d/runtime/vm/dart_api_impl.cc#L4243
Is the line which creates this timeline event.
But I'm not sure of a way to make TimelineDurationScope include args, like for example how Chromium trace macros do:
https://github.com/domokit/base/blob/master/trace_event/trace_event.h#L47
@johnmccutchan likely knows.

In my case I'm seeing a few long Dart_GetField events.  I'm tracing dart running on a super underpowered (single core, hyperthreaded) device and so I'm sure these long Dart_GetField events are just when my dart thread is descheduled.  But without cpu time from https://github.com/dart-lang/sdk/issues/26396 it's hard to know for sure.

https://codereview.chromium.org/1951003002/


feat(chore): Angular 16 update

Updatet to Angular 16, had some issues with running tests and therefor resulted in why I added new ts.config.json file on tests folder, now all the tests is runned on Angular v16.
Added .github/workflows/angular-versions.yaml, so application can be runned on angular version 14, 15 and 16 based on what angular version want to use. Not sure if it is correct way, let me know if it need to be modified / improved.

@tse018 The test/build for node 14 is failing:
The Angular CLI requires a minimum of v16.13.

@tse018 The test/build for node 14 is failing:
The Angular CLI requires a minimum of v16.13.

Angular 16 doesn´t support node v14

@tse018 The test/build for node 14 is failing:
The Angular CLI requires a minimum of v16.13.

Angular 16 doesn´t support node v14

Node versions updated to 16,18, 20. Could you please rebase to check if tests are working fine?

@tse018 Node versions updated to 16,18, 20. Could you please rebase to check if tests are working fine?

Yes

@pablotransifex Let me know when you are ready to merge this, thanks.
Need it for angular 16 project.

@pablotransifex Let me know when you are ready to merge this, thanks. Need it for angular 16 project.

I checked the PR on an Angular 16 project of mine and worked fine, just we need a rebase to merge your PR. @tse018

Have resolved the merge conflicts to using the newest transifex versions

Have resolved the merge conflicts to using the newest transifex versions

Thank you @tse018 now we need to fix the tests, it seems to be dependencies conflicts.

Have resolved the merge conflicts to using the newest transifex versions

Thank you @tse018 now we need to fix the tests, it seems to be dependencies conflicts.

lerna ERR! npm run test stderr:
Error: Cannot find module 'http'
do you know which dependencies its missing from?

@tse018 We will try to find out, in the meantime, maybe it's related to the angular-versions.yaml? We are running tests for node 16, 18 and 20, inside that file there are other node versions, maybe we can test without this file at all or fix those versions inside?

@tse018 We merge a fix for nock https://github.com/transifex/transifex-javascript/pull/217 so please rebase again, and probably we don't need the angular workflow file, as we are using node version >= 16.
We are thinking on a version for angular 16 only, so maybe better remove the peer dependencies for 14 and 15 and the mentioned angular workflow file.
For older angular versions, users can use other TX Native version that supports them.

@tse018 We merge a fix for nock #217 so please rebase again, and probably we don't need the angular workflow file, as we are using node version >= 16.
We are thinking on a version for angular 16 only, so maybe better remove the peer dependencies for 14 and 15 and the mentioned angular workflow file.
For older angular versions, users can use other TX Native version that supports them.

Understood, will remove and fix it now


Browser Rendering Binding

From Discord:

Hey there! Thank you for PartyKit, I am having a great time getting set up and am looking forward to the future developments (CF Calls, etc.) -- so much potential!
I was wondering if it is possible to add bindings for browser rendering?
The benefits:
Run code without worker runtime limitations
Use all browser APIs
Get around 128mb memory limit
Relevant links:
https://github.com/partykit/partykit/pull/868
https://developers.cloudflare.com/browser-rendering/get-started/browser-rendering-with-do/#5-configure-wranglertoml

https://github.com/cloudflare/workerd/discussions/684


(PDB-3413) Switch doc headers from 4.3 to 4.4

Looks good.

Test PASSed

CLA signed by all contributors.


Fixed missing end parentheses

Added missing ) to the ) at  replacement.
I don't think I need to escape the ) in the string. But I don't have a way to test this.

@staxmanade, wanna check this? Or is this abandoned?
Been a few years since I made this pull request though, so I don't remember much about this issue.

Thanks for bumping this...


Update all-debrid-api to v1.2.0 for new IP requirement

Hey folks,
I'm a total nodejs noob, so LMK if this is not the right way to do this.. this PR simply updates the minimum required version of all-debrid-api to v1.2.0, which incorporades the ip query string in the URL, which will become an alldebrid requirement in the next few weeks.

It seems like we're only creating the client with IP information in resolve, not getItemMeta, getCatalog, or getCachedStreams
I'm not sure if we need to be adding it those calls or not


Getting below issue when published on azure

Uncaught SyntaxError: Unexpected end of input
app.js:11 Uncaught ReferenceError: Instascan is not defined
at Ue.mounted (app.js:11)
at we (vue.min.js:6)
at Ue.e._mount (vue.min.js:6)
at Ue.$mount (vue.min.js:8)
at Ue.$mount (vue.min.js:8)
at Ue.Re.e._init (vue.min.js:6)
at new Ue (vue.min.js:6)
at app.js:1

I meet the same issue.  I use <script src=""> to load the instanscan.min.js file. However, sometimes it show "Uncaught ReferenceError: Instascan is not defined
at Ue.mounted (app.js:11)", but sometimes not.

same problem

same too!! no solution??


Demo fails with react error

After installing
pip install ipyturtle
jupyter nbextension enable --py ipyturtle

I load the demo into jupyter-notebook
from ipyturtle import Turtle
t = Turtle()
t

and get
[Open Browser Console for more detailed log - Double click to close this message]
Model class 'TurtleModel' from module 'ipyturtle' is loaded but can not be instantiated
TypeError: o._deserialize_state is not a function
    at u._make_model (http://localhost:8888/nbextensions/jupyter-js-widgets/extension.j

Here is the log in the browser console:
react-dom.production.min.js?v=dbc734e200d85090ca301fc67d29f674:1 Uncaught Invariant Violation: Minified React error #227; visit http://facebook.github.io/react/docs/error-decoder.html?invariant=227 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.
    at c (http://localhost:8888/static/components/react/react-dom.production.min.js?v=dbc734e200d85090ca301fc67d29f674:1:1614)
    at http://localhost:8888/static/components/react/react-dom.production.min.js?v=dbc734e200d85090ca301fc67d29f674:1:1683
    at Object.<anonymous> (http://localhost:8888/static/components/react/react-dom.production.min.js?v=dbc734e200d85090ca301fc67d29f674:1:96987)
    at n (http://localhost:8888/static/components/react/react-dom.production.min.js?v=dbc734e200d85090ca301fc67d29f674:1:123)
    at http://localhost:8888/static/components/react/react-dom.production.min.js?v=dbc734e200d85090ca301fc67d29f674:1:922
    at http://localhost:8888/static/components/react/react-dom.production.min.js?v=dbc734e200d85090ca301fc67d29f674:1:931
jquery.typeahead.min.js:3 --- jQuery Typeahead Debug ---
menubar.js:263 actions jupyter-notebook:find-and-replace does not exist, still binding it in case it will be defined later...
MenuBar.bind_events @ menubar.js:263
utils.js:60 load_extensions Arguments(3)
bidi.js:19 Loaded moment locale en
:8888/nbextensions/ipyturtle.js?v=20221127112528:1          Failed to load resource: the server responded with a status of 404 (Not Found)
Untitled1.ipynb:1 Refused to execute script from 'http://localhost:8888/nbextensions/ipyturtle.js?v=20221127112528' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.
session.js:54 Session: kernel_created (131d516f-1064-459e-b24e-5466e33d1a1f)
kernel.js:462 Starting WebSockets: ws://localhost:8888/api/kernels/209b8c57-c9d4-4d83-9f4e-653a3b0728f0
utils.js:62 Failed to load extension: Array(1) Error: Script error for "nbextensions/ipyturtle"
https://requirejs.org/docs/errors.html#scripterror
    at makeError (require.js?v=f0cc8bbb2fcef87fc194fecbb632fcfa:168:17)
    at HTMLScriptElement.onScriptError (require.js?v=f0cc8bbb2fcef87fc194fecbb632fcfa:1738:36)
(anonymous) @ utils.js:62
utils.js:37 Loading extension: ipyturtle/extension
kernel.js:106 Kernel: kernel_connected (209b8c57-c9d4-4d83-9f4e-653a3b0728f0)
utils.js:37 Loading extension: jupyter-js-widgets/extension
:8888/nbextensions/widgets/notebook/js/extension.js?v=20221127112528:1          Failed to load resource: the server responded with a status of 404 (Not Found)
Untitled1.ipynb:1 Refused to execute script from 'http://localhost:8888/nbextensions/widgets/notebook/js/extension.js?v=20221127112528' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.
main.js:237 Widgets are not available.  Please install widgetsnbextension or ipywidgets 4.0
(anonymous) @ main.js:237
kernel.js:106 Kernel: kernel_ready (209b8c57-c9d4-4d83-9f4e-653a3b0728f0)
manager-base.js:434 TypeError: o._deserialize_state is not a function
    at u._make_model (manager-base.js:425:48)
_make_model @ manager-base.js:434
manager-base.js:434 TypeError: o._deserialize_state is not a function
    at u._make_model (manager-base.js:425:48)
_make_model @ manager-base.js:434

Turtle was never tested with react. In which environment do you work?

You can see https://github.com/Python-Ninja-Hebi/ipyturtle-next

I am running with Ubuntu 20.04 and the following in Help -> About:
The version of the notebook server is: 6.0.3
The server is running on this version of Python:

Python 3.8.10 (default, Jun 22 2022, 20:18:18)
[GCC 9.4.0]

Current Kernel Information:

Python 3.8.10 (default, Jun 22 2022, 20:18:18)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.13.0 -- An enhanced Interactive Python. Type '?' for help.

I don't do anything with React.
I tried https://github.com/Python-Ninja-Hebi/ipyturtle-next and got a different error:
TraitError: The '_canvas_manager' trait of a Canvas instance must be a _CanvasManager, but a value of class 'NoneType' (i.e. None) was specified.


Change copy when recovering via email

Task/Issue URL: https://app.asana.com/0/488551667048375/1206930008157028/f
Description
See task
Steps to test this PR
See task

#4356  👈
develop

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

Join @marcosholgado and the rest of your teammates on  Graphite


[RP5] NVMe Board & Boot

https://www.youtube.com/watch?v=EXWu4SUsaY8

I've ordered the bottom (long) NVMe hat, so I'll be able to test with this thing soon 😄

Handy WIP list of disks tested: https://pipci.jeffgeerling.com//hats/pineberry-pi-hatdrive-top.html

This tutorial is also very helpfull in understanding how to be able to boot from NVMe:
https://www.jeffgeerling.com/blog/2023/nvme-ssd-boot-raspberry-pi-5
So for the future a FRESH SETUP could work like this:

user boot up from sd card with fresh raspiblitz image
new NVMe gets partion like: 65gb ext4 system, rest as data drive
then sd card get cloned to nvme system partion (rpi-clone)
sd card stays before NVMe in boot order
sd card renders itself as un-bootable (see notes below)
system reboots and runs/setups now from NVMe

And an UPDATE/RECOVER could then work like this:

write a fresh image to the sd card and boot up
because sd card is now bootable again it will start the new image
sd card system will clone itself to NVMe system partion (rpi-clone)
sd card renders itself as un-bootable (see notes below)
system reboots and runs/recovers now from NVMe

--- SD CARD RENDERS ITSELF UNBOOTABLE --
It is possible to render a Raspberry Pi's SD card unbootable through a write action, which would cause the device to skip it in the boot order on the next restart. Here's how it can happen:

Corrupting Boot Files: If critical boot files on the SD card are overwritten or corrupted, the Raspberry Pi will not be able to boot from it. These files include the bootloader, kernel, or other essential files in the boot partition.

Damaging the File System: Writing actions that damage the file system structure (like the partition table or file allocation table) can make the SD card unbootable. This could happen due to improper formatting or partitioning actions.

Overwriting Critical Configurations: Altering certain configuration files (like cmdline.txt or config.txt in the boot partition) with incorrect settings can prevent the Raspberry Pi from booting.

Hardware-Level Damage: Although less common, a write action that causes excessive wear on the SD card could lead to hardware-level damage, making it unreadable.

Writing Incorrect Boot Code: Intentionally or accidentally writing incorrect or incompatible boot code to the boot sector of the SD card would result in a failure to boot.

If any of these scenarios occur, the Raspberry Pi's firmware will attempt to boot from the next available device in its boot order, such as a USB drive or network boot, if configured. It's important to handle SD card operations carefully to avoid unintentional corruption or damage. Regular backups and careful editing of critical files are recommended to mitigate these risks.

Would be good to be able to keep the SDcard as a redundant backup target as well for things like the LND SCB, the CLN emergency.recover file and possibly the ligthning database backup.
Fun fact that my CLN node is running with the same SDcard with the database backup on it for 2 years now without issues. Still it would,be great if the failure of the backup device wouldn't mean that the node would become unbootable also.
So maybe could after flashing the OS to the NVMe partition the SDcard could be made to become unbootable by formatting to a simple FAT filesystem (readable by Windows) and use it as a backup target automatically.

There will be an official M2 HAT for the RPi5 ... and a HAT+ standard
https://www.raspberrypi.com/news/double-standards/

More Sites with info on NVMe Boot:
https://www.tomshardware.com/raspberry-pi/how-to-turbo-charge-your-raspberry-pi-5-with-an-nvme-boot-drive
https://docs.pineberrypi.com/

In the first step for v1.11.0 we will only support the NVMe hats to provide tne NVMe as external data drive. Boot will the be targeted later.
Integrated the PineberryPi Hat and first test works good. Final Testing.

BTW decided for now not to set the "dtparam=pciex1_gen=3" parameter. Sure an even faster NVMe would be nice, but by stable connection and most wide compatibility should be the default for now.
Setting the dtparam=pciex1_gen=3 parameter in the Raspberry Pi 5 affects the speed at which the PCI Express (PCIe) lanes operate. By default, all PCIe lanes on the Raspberry Pi 5 operate at Gen 2.0 speeds, which is about 5 gigatransfers per second (GT/sec) per lane. This default setting is primarily due to the speed at which the board could be certified for PCI Express, as higher standards like 2.0 and 3.0 are considered high-speed interconnects and can cause problems with interference and signal issues on the board.

When you add the dtparam=pciex1_gen=3 line in the /boot/config.txt file, it upgrades the connection on the external PCIe connector to Gen 3.0 speeds, which are almost double the speed of Gen 2.0, at approximately 8 GT/sec. This change can significantly enhance the performance of devices connected to the external PCIe connector, such as NVMe SSDs or network cards. For example, a 10G ASUS Network Card can achieve speeds of 6 Gbps compared to about 3.5 Gbps under Gen 2.0, and a Kioxia XG8 NVMe SSD can achieve 900 MB/sec reads versus 450 MB/sec under Gen 2.0.

However, it's important to note that increasing the speed to Gen 3.0 can introduce certain issues, such as link errors, especially with devices that do not handle these errors gracefully. These issues can be compounded by factors like insertion loss from the flat FPC connection used in the Raspberry Pi 5. It's also worth mentioning that there's currently no way to change the default speed for the RP1 chip's 'internal' lanes in the Raspberry Pi 5, and the setting only applies to the external connector.

In summary, setting dtparam=pciex1_gen=3 can offer significant performance improvements for devices that can benefit from the increased speed and that are connected to the external PCIe connector. However, it's important to be aware of potential issues and compatibility concerns that might arise from operating at these higher speeds

Moved the boot section of this issue to #4324

How would a migration from a USB SSD Drive to a new NVMe work?
is this correct?

The user initiates the RaspiBlitz Release Update/Recovery on the Raspberry Pi.
The user unplugs the SSD HDD, inserts the new NVMe hardware, and boots up from the SD card with a fresh RaspiBlitz image.
The new NVMe is partitioned as follows: 65GB ext4 for the system, rest as data drive.
The SD card is then cloned to the NVMe system partition using a tool like rpi-clone.
The SD card remains primary in the boot order.
The SD card is rendered unbootable.
Before the system reboots and runs/setups from the NVMe, the user plugs the USB SSD Drive in.
Open a terminal and enter lsblk or sudo fdisk -l to identify the drives and partitions. Note down the respective device identifiers (e.g., /dev/sdb1 for the source partition on the USB SSD and /dev/nvme0n1p2 for the target partition on the NVMe SSD).
Ensure no data is being written to the target partition. If it is mounted, unmount it.
Be aware that the dd command will overwrite all data on the target partition. Ensure all important data is backed up.
Use the dd command to clone the partition. The command might look something like this:sudo dd if=/dev/sdx1 of=/dev/nvmey1 bs=64K status=progress

if=/dev/sdx1: replace /dev/sdx1 with the path to the source partition on the USB SSD.
of=/dev/nvmey1: replace /dev/nvmey1 with the path to the target partition on the NVMe SSD.
bs=64K: stands for the block size being used. 64K is a common size, but you can adjust it as necessary.
status=progress: shows the progress of the copy operation.

Reboot and run the setup from the NVMe.

So for the future a FRESH SETUP could work like this:

user boot up from sd card with fresh raspiblitz image
new NVMe gets partion like: 65gb ext4 system, rest as data drive
then sd card get cloned to nvme system partion (rpi-clone)
sd card stays before NVMe in boot order
sd card renders itself as un-bootable (see notes below)
system reboots and runs/setups now from NVMe

And an UPDATE/RECOVER could then work like this:

write a fresh image to the sd card and boot up
because sd card is now bootable again it will start the new image
sd card system will clone itself to NVMe system partion (rpi-clone)
sd card renders itself as un-bootable (see notes below)
system reboots and runs/recovers now from NVMe

So far all good with the NVMe Hats. Closing for ReleaseCandidate.


[VMware] Update SCSI controllers for VMs

Description
This PR allows updating the root disk controller type on a stopped VM via the 'rootDiskController' setting
Fixes: #5877
Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[x] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[x] Minor

Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[x] Minor
[ ] Trivial

Screenshots (if appropriate):
How Has This Been Tested?

Start VM from a template with 'ide' root disk controller setting

Stop VM

Change the 'rootDiskController' setting to 'pvscsi'

Start VM

Verify the SCSI controllers on VMware Center is set to VMware Paravirtual

Stop VM

Change the 'rootDiskController' setting to 'lsisas1068'

Start VM

Verify the SCSI controllers on VMware Center is set to LSI Logic SAS

@blueorangutan package

@nvazquez a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 2392

@blueorangutan package

@nvazquez a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 2394

@blueorangutan test centos7 vmware-67u3 keepEnv

@sureshanaparti a Trillian-Jenkins test job (centos7 mgmt + vmware-67u3) has been kicked to run smoke tests

@nvazquez does it fix for dataDiskController VM property as well?

@blueorangutan test centos7 vmware-67u3

@nvazquez a Trillian-Jenkins test job (centos7 mgmt + vmware-67u3) has been kicked to run smoke tests

Trillian test result (tid-3159)
Environment: vmware-67u3 (x2), Advanced Networking with Mgmt server 7
Total time taken: 39751 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr5910-t3159-vmware-67u3.zip
Smoke tests completed. 92 look OK, 0 have errors
Only failed tests results shown below:

Test
Result
Time (s)
Test File

@rohityadavcloud yes, sorry for the delay. Was investigating some issues that were environmental. The data disk controller is set as the SCSI controller when the root disk controller is set to 'ide'

@sureshanaparti @DaanHoogland @shwstppr this is ready for testing/review

@nvazquez Performed the following test manually. Please check tests not working as expected (marked in bold).

Deployed VM (with default CentOS template) with 3 GB DATA disk [Passed, Works as expected]
ROOT Disk => CloudStack: rootDiskController 'ide', VMware: IDE Controller
DATA Disk => CloudStack: dataDiskController 'osdefault', VMware: LSI Logic Parallel SCSI controller

Updated DATA disk controllers:

Stop VM, Update setting dataDiskController to 'pvscsi', and Start VM [Passed, Works as expected]
ROOT Disk => CloudStack: rootDiskController 'ide', VMware: IDE Controller
DATA Disk => CloudStack: dataDiskController 'pvscsi',VMware: Paravirtual SCSI controller

Stop VM, Update setting dataDiskController to 'buslogic', and Start VM [Passed, Works as expected - May be the error message 'Unable to start a VM due to insufficient capacity' has to be improved to indicate the actual error]
Failed to Start, Error in VMware: The BusLogic SCSI adapter is not supported for 64-bit guests. See the documentation for the appropriate type of SCSI adapter to use with 64-bit guests.

Stop VM, Update setting dataDiskController to 'ide', and Start VM [Failed, Not working as expected]
Failed to Start, Error in VMware: The BusLogic SCSI adapter is not supported for 64-bit guests. See the documentation for the appropriate type of SCSI adapter to use with 64-bit guests.

Stop VM, Update setting dataDiskController to 'lsisas1068', and Start VM [Passed, Works as expected]
ROOT Disk => CloudStack: rootDiskController 'ide', VMware: IDE Controller
DATA Disk => CloudStack: dataDiskController 'lsisas1068', VMware: LSI Logic SAS SCSI controller

Stop VM, Update setting dataDiskController to 'lsilogic', and Start VM [Passed, Works as expected]
ROOT Disk =>  CloudStack: rootDiskController 'ide', VMware: IDE Controller
DATA Disk => CloudStack: dataDiskController 'lsilogic', VMware: LSI Logic Parallel SCSI controller

Stop VM, Update setting dataDiskController to 'scsi', and Start VM [Passed, Works as expected]
ROOT Disk =>  CloudStack: rootDiskController 'ide', VMware: IDE Controller
DATA Disk => CloudStack: dataDiskController 'scsi', VMware: LSI Logic Parallel SCSI controller

Updated both ROOT and DATA disk controllers:

Stop VM, Update setting rootDiskController to 'pvscsi' and dataDiskController to 'scsi', and Start VM [Passed, Works as expected]
ROOT Disk =>  VMware: Paravirtual SCSI controller
DATA Disk => VMware: Paravirtual SCSI controller

Stop VM, Update setting rootDiskController to 'lsisas1068' and dataDiskController to 'pvscsi', and Start VM [Passed, Works as expected]
ROOT Disk =>  VMware: LSI Logic SAS SCSI controller
DATA Disk =>  VMware: LSI Logic SAS SCSI controller

Stop VM, Update setting rootDiskController to 'lsisas1068' and dataDiskController to 'ide', and Start VM [Passed, Works as expected]
ROOT Disk =>  VMware: LSI Logic SAS SCSI controller
DATA Disk => VMware: IDE Controller

Stop VM, Update setting rootDiskController to 'pvscsi' and dataDiskController to 'buslogic', and Start VM [Passed, Works as expected]
ROOT Disk =>  VMware: Paravirtual SCSI controller
DATA Disk =>  VMware: Paravirtual SCSI controller

Stop VM, Update setting rootDiskController to 'buslogic' and dataDiskController to 'lsilogic', and Start VM [Passed, Works as expected - May be the error message has to be improved to indicate the actual error]
Failed to Start, Error in VMware: The BusLogic SCSI adapter is not supported for 64-bit guests. See the documentation for the appropriate type of SCSI adapter to use with 64-bit guests.

Stop VM, Update setting rootDiskController to 'ide' and dataDiskController to 'lsilogic', and Start VM [Passed, Works as expected]
ROOT Disk =>  VMware: IDE controller
DATA Disk => VMware: LSI Logic Parallel SCSI controller

@blueorangutan package

@nvazquez a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Thanks for your testing @sureshanaparti - I have examined the remaining specific issue and did not find an easy fix, do you agree on proceeding with this PR and open a new issue for the corner case to fix in 4.17?

Packaging result: :heavy_multiplication_x: el7 :heavy_multiplication_x: el8 :heavy_multiplication_x: debian :heavy_multiplication_x: suse15. SL-JID 2546

@blueorangutan package

@nvazquez a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 2549

@blueorangutan test matrix

@nvazquez a Trillian-Jenkins matrix job (centos7 mgmt + xs71, centos7 mgmt + vmware65, centos7 mgmt + kvmcentos7) has been kicked to run smoke tests

Thanks for your testing @sureshanaparti - I have examined the remaining specific issue and did not find an easy fix, do you agree on proceeding with this PR and open a new issue for the corner case to fix in 4.17?

agree @nvazquez

Trillian test result (tid-3275)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 31583 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr5910-t3275-kvm-centos7.zip
Smoke tests completed. 92 look OK, 0 have errors
Only failed tests results shown below:

Test
Result
Time (s)
Test File

Trillian test result (tid-3274)
Environment: xenserver-71 (x2), Advanced Networking with Mgmt server 7
Total time taken: 34406 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr5910-t3274-xenserver-71.zip
Smoke tests completed. 91 look OK, 1 have errors
Only failed tests results shown below:

Test
Result
Time (s)
Test File

test_01_cancel_host_maintenace_with_no_migration_jobs
Error
306.61
test_host_maintenance.py

test_02_cancel_host_maintenace_with_migration_jobs
Error
306.55
test_host_maintenance.py

test_03_cancel_host_maintenace_with_migration_jobs_failure
Error
0.22
test_host_maintenance.py

Trillian test result (tid-3276)
Environment: vmware-65u2 (x2), Advanced Networking with Mgmt server 7
Total time taken: 34787 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr5910-t3276-vmware-65u2.zip
Smoke tests completed. 92 look OK, 0 have errors
Only failed tests results shown below:

Test
Result
Time (s)
Test File

as per the test report by @sureshanaparti and discussion about it with @nvazquez, I'm merging this. @nvazquez, can you comment here with a 4.17 issue number for future reference?


Support pausing parallelVisit

Pass a channel to visitor functions called by parallelVisit that
allows them to pause the current visitor until a given visitor
has finished.  This allows parallelVisit to work on a dependency
graph while it is being mutated.
Test: Test_parallelVisit
Change-Id: Id8b1542c22ac9914439310e31d992ae0d7318d69

This will be used by #316 to synchronize new dependencies with the current visitor.  A quick experiment in Soong in AOSP showed no noticeable time impact from ping-ponging every added dependency through the parallelVisit controller goroutine and back, 50 second runtime before and after this change.