ECDSA key support

Hello,
We are testing the TLS handshake using an ECDSA key and have noticed that the handshake fails with the error: "[ERR]: SSL_accept failed (no shared cipher)."
I attempted to list the ciphers available for that session before the ssl_accept call and confirmed that the ciphers are indeed present on the server side. (STACK_OF(SSL_CIPHER) *ciphers = SSL_get_ciphers(ssl);)
Additionally, I tried to specifically set the private key to NC_SSH_KEY_ECDSA by specifically hardcoding it as shown below
int  tls_set_server_cert_clb(const char *name, void *user_data, char **cert_path, char **cert_data,
char **privkey_path, char **privkey_data,
NC_SSH_KEY_TYPE *privkey_type)
{
.........................
*cert_path = strdup(cpath.c_str());
*privkey_path = strdup(pkey.c_str());
*privkey_type= NC_SSH_KEY_ECDSA;
}
Logs:
tls_set_server_cert_clb]  privkey_type=>3
……
[ERR]: SSL_accept failed (no shared cipher).
[ERR]: SSL_accept failed - Free session->ti.tls)
However, the ssl_accept call still fails with the error "no cipher found." According to the packet capture (pcap), the client hello message lists all ciphers from the client side which inculdes the ECDSA ciphers.
I would appreciate any guidance on specific settings or configurations we might have missed.
FYI:  The TLS handshale works while using the openssl client server command.
TLS Server:
openssl s_server -accept 1234 -cert /tmp/cert.pem -cipher 'ALL'  -debug -key /tmp/key.key
TLS Client:
openssl s_client -host  -port 1234 -CAfile /tmp/test/cacert.
Openssl version used:
openSSL 1.0.2k  26 Jan 2017
Thank you in advance.
Regards,
Haripriya

Hello,
I am not sure what to suggest other than updating netopeer2 to the latest version. A TLS test that uses an EC key is now part of the libnetconf2 repository (https://github.com/CESNET/libnetconf2/commit/acfb5cb8f7d4025333cd63ae9cf8422af0c689f3) and it works. It's also possible that it works just because of a newer OpenSSL version being used and required.
If updating is not possible, then what you can try is to edit the libnetconf2 code in session_server_tls.c and add the specific TLS ciphersuites (the ones offered by the client) to the SSL/SSL_CTX structs there.

Hi @Roytak ,
Thanks for your response.
We are using Tailf Confd as a netconf server.
Yeah, updating the OpenSSL version would not be possible at this stage.
However, I updated the libnetconf2 code as follows..
File : session_server_tls.c
Function : nc_accept_tls_session(...)
Added the following to the SSL_CTX
// Set the desired TLS cipher suites
const char *cipher_list = "ECDHE-ECDSA-AES256-GCM-SHA384";
if (SSL_CTX_set_cipher_list(tls_ctx, cipher_list) != 1) {
ERR(session, "Failed to set TLS cipher suites (%s).", ERR_reason_error_string(ERR_get_error()));
goto error;
}
==> Post doing this, also the ssl_accept fails  with "no cipher" found.
[ERR]: ########################## CIPHERS:Start -[goto error tag] ###################################
[ERR]: SSL_accept failed (no shared cipher).
[ERR]: SSL_accept failed - Free session->ti.tls)
While dumping the supported ciphers, I observed that only "ECDHE-ECDSA-AES256-GCM-SHA384" was listed, as shown below:
[ERR]: CIPHERS: Initialized ciphers (ECDHE-ECDSA-AES256-GCM-SHA384).
However, without specifying this cipher suite, a comprehensive list of all supported ciphers was displayed.
void print_ciphers(struct nc_session *session, SSL *ssl, const char * str) {
const char *cipher;
STACK_OF(SSL_CIPHER) *ciphers = SSL_get_ciphers(ssl);
...
}
Any further guidance would be helpful.
Regards,
Rosy

Hello,
I tried to dump the key to check whether private key is being set properly or not and found that its being set properly also.
Function: :nc_tls_ctx_set_server_cert_key(SSL_CTX *tls_ctx, const char *cert_name)
EVP_PKEY *set_pkey = SSL_CTX_get0_privatekey(tls_ctx);
if (set_pkey) {
    ERR(NULL, "Private key successfully set.");

    // Check if the key is ECDSA
    if (EVP_PKEY_base_id(set_pkey) == EVP_PKEY_EC) {
        ERR(NULL, "The private key is of type ECDSA.");

        // Dump the private key details in "EC PRIVATE KEY" format
        EC_KEY *ec_key = EVP_PKEY_get1_EC_KEY(set_pkey);
        if (ec_key) {
            BIO *bio = BIO_new(BIO_s_mem());
            if (PEM_write_bio_ECPrivateKey(bio, ec_key, NULL, NULL, 0, NULL, NULL)) {
                char *key_data;
                long key_len = BIO_get_mem_data(bio, &key_data);
                ERR(NULL, "Private Key:\n%.*s", (int)key_len, key_data);
            }
            BIO_free(bio);
            EC_KEY_free(ec_key);
        } else {
            ERR(NULL, "Failed to retrieve the EC key from the private key.");
        }
    } else {
        ERR(NULL, "The private key is not of type ECDSA.");
    }
} else {
    ERR(NULL, "Failed to retrieve the private key from the SSL context.");
}

Logs:
[ERR]: CIPHERS: Loading the server certificate from path (/tmp/certs/device/cert-0-0.pem).
[ERR]: CIPHERS: Loading the private key (/tmp/certs/private/key-x-x.pem).
[ERR]: Private key successfully set.
[ERR]: The private key is of type ECDSA.
[ERR]: Private Key:
-----BEGIN EC PRIVATE KEY-----
-----END EC PRIVATE KEY-----
So the private key is also being loaded properly and its the same as present in the server side.
However, still the ssl_accept fails with the "no cipher found" error.
Regards,
Haripriya,

I am sorry but we cannot help you any more, we do not provide support for deprecated netopeer2 and/or OpenSSL versions. We made sure it works in the current versions and if you cannot use those, you are on your own.

I am sorry but we cannot help you any more, we do not provide support for deprecated netopeer2 and/or OpenSSL versions. We made sure it works in the current versions and if you cannot use those, you are on your own.

Hi Michal,
Thank you for your response.
I understand that support for deprecated versions of Netopeer2 and OpenSSL is no longer provided. However, we are using ConfD, not Netopeer2.
I am seeking your guidance regarding libnetconf2. The issue I am encountering appears to be related to libnetconf2. Bute yes, internally, it uses OpenSSL APIs.
Interestingly, the TLS handshake works seamlessly with standard OpenSSL client/server commands, which adds to my confusion. If the current OpenSSL version did not support ECDSA, I believe it should not have worked with the standard OpenSSL client/server commands.
Could you please advise if there might be a specific API or configuration that we might have missed that could resolve this issue? Or should I post this query in the libnetconf2 page?
Any insights or suggestions you could provide would be immensely helpful.
Thank you for your understanding and support.
Reagrds,
Haripriya Patel

Okay, we are the maintainers of libnetconf2 as well so it does not matter where you create the issue or in which project is the problem. What I am saying is that we have no specific advice to give you because we have no more information than you do so we could only do what you are doing, try various fixes until it finally works. And we do not have a reason to spend time doing this because it works fine in our current versions so while it may help you specifically, there is no benefit to us or the community. So I am again sorry, but this is not included in the free support we provide.

Any supported version is fine. Using any unsupported version is a major security risk.

Any supported version is fine. Using any unsupported version is a major security risk.

Thank you, Michal.
Regrads,
Haripriya

Hi,

While dumping the supported ciphers, I observed that only "ECDHE-ECDSA-AES256-GCM-SHA384" was listed, as shown below:

This seems to be TLS1.2 only cipher, can you make sure that both the client and the server offer TLS1.2? If yes, then the last suggestion I have is to analyze the pcap from the successful handshake with OpenSSL's s_client and s_server and actually set all the ciphersuites (or possibly even TLS/SSL versions) offered by both the client and the server, not just one (and not just on the server). If that does not work, then I can not help you.

Hi,

While dumping the supported ciphers, I observed that only "ECDHE-ECDSA-AES256-GCM-SHA384" was listed, as shown below:

This seems to be TLS1.2 only cipher, can you make sure that both the client and the server offer TLS1.2? If yes, then the last suggestion I have is to analyze the pcap from the successful handshake with OpenSSL's s_client and s_server and actually set all the ciphersuites (or possibly even TLS/SSL versions) offered by both the client and the server, not just one (and not just on the server). If that does not work, then I can not help you.

Hi @Roytak ,
Thank you for your suggestion.
Actually, I had already tried adding a few specific ciphers supported by both the client and server and still encountered the same error.  However, I will try adding all the ciphers and give it another try.
Regards,
Haripriya


Adding tools to support databases

PR Overview:
We would like to have a database to store received telemetry data until such time as a ground station requests it.
This is the toolchain:

[x] Flask
[x] Flask-GraphQL
[x] Graphene
[x] Graphene-SQLAlchemy
[x] SQLAlchemy
[x] Python
[x] SQLite

This PR includes and adds the needed packages to support the toolchain. The new packages were generated automatically by BuildRoot's scanpypi tool. Some of them were then updated to use specific versions of the package (by default scanpypi will pull the absolute latest version of a package, which can be a dev version, rather than an official release).
Note: graphql-server-core is genuinely only available as a dev release.
Misc Changes: Fixing the user partition overlay directories. The old overlay became obsolete due to the changes in #66. These new changes will be extended to the other target boards in a future PR
Documentation:
Will be added later, once this toolchain is locked in
Integration Tests:

TODO...

 KubOS Linux - Add Python support

 Telemetry Database Server - BuildRoot


Fix tiny mistakes

There are a few tiny mistakes, like "Calrify" instead of "Clarify", and in one place "observedUnit" where clearly the text means "observedValue", also a 1-2 things about grammar (each is singular, and in one case is followed by plural words).

Done. Thank you


[Battery] Add battery life estimate

Many sources say that it is unreliable, so I'll have to do more research. That's also the reason Android removed it - you need battery history to accurately calculate it.

Check the battery percentage every hour (or 2) and calculate the percent per hour.


RequestPermissionsAsync is able to crash my app

Hi Guys,
I'm devolping an app with Xamarin.Forms standard 2 (ver: <IP_ADDRESS>0555) with Permission plugin and media plugin.
When I try to take a photo, 2 permissions are requested with prompt (android 8.0), Camera and Storage but when I try to request a permission using a Permission Plugin the app crashes. I try both on emu (genymotion) and on Physical Device.
On genymotion the error is
System.NullReferenceException: Object reference not set to an instance of an object
on Physical device the error is
fatal signal 11 sigsegv code 2
this is a manifest:

and assembly info
[assembly: UsesPermission(Android.Manifest.Permission.Internet)]
[assembly: UsesPermission(Android.Manifest.Permission.WriteExternalStorage)]
[assembly: UsesPermission(Android.Manifest.Permission.Flashlight)]
[assembly: UsesPermission(Android.Manifest.Permission.ReadPhoneState)]
[assembly: UsesFeature("android.hardware.camera", Required = false)]
[assembly: UsesFeature("android.hardware.camera.autofocus", Required = false)]
[assembly: UsesFeature("android.hardware.wifi", Required = false)]
I try to use Permission PLugin in other new simple app and run successfully.
NB If i open again the app, the media plugin run successfully and the photo is taken. The problem is in the permission plugin
Can you help me ?

You didn't set the current activity plugin up.

Hi James, thanks for the respose.
I believe that the current activity is set correctly.
I create a MainApplication.cs in droid project with this code and I put package from nuget:
using System;
using Android.App;
using Android.OS;
using Android.Runtime;
using Plugin.CurrentActivity;
namespace MyApp.Droid
{
//You can specify additional application information in this attribute
[Application]
public class MainApplication : Application, Application.IActivityLifecycleCallbacks
{
public MainApplication(IntPtr handle, JniHandleOwnership transer)
:base(handle, transer)
{
}
    public override void OnCreate()
    {
        base.OnCreate();
        RegisterActivityLifecycleCallbacks(this);
        //A great place to initialize Xamarin.Insights and Dependency Services!
    }

    public override void OnTerminate()
    {
        base.OnTerminate();
        UnregisterActivityLifecycleCallbacks(this);
    }

    public void OnActivityCreated(Activity activity, Bundle savedInstanceState)
    {
        CrossCurrentActivity.Current.Activity = activity;
    }

    public void OnActivityDestroyed(Activity activity)
    {
    }

    public void OnActivityPaused(Activity activity)
    {
    }

    public void OnActivityResumed(Activity activity)
    {
        CrossCurrentActivity.Current.Activity = activity;
    }

    public void OnActivitySaveInstanceState(Activity activity, Bundle outState)
    {
    }

    public void OnActivityStarted(Activity activity)
    {
        CrossCurrentActivity.Current.Activity = activity;
    }

    public void OnActivityStopped(Activity activity)
    {
    }
}

}
did I forget something ?
Thanks in advance

Can you give me a small sample app to reproduce?

Hi James, I attached the exampla app. The app crashes on Version 7.1 and 8.0 also on genymotion emulator but only when the method CrossPermissions.Current.RequestPermissionsAsync is called
Thanks
App_James.zip

Your issue is:
global::ZXing.Net.Mobile.Forms.Android.PermissionsHandler.OnRequestPermissionsResult(requestCode, permissions, grantResults);
Change to:
ZXing.Net.Mobile.Android.PermissionsHandler.OnRequestPermissionsResult(requestCode, permissions, grantResults);
Also your check for:
storageStatus = results[Permission.Storage]; will throw an exception, you should ensure it is in the dictionary and request the permission.

Can you make sure to add:
MobileBarcodeScanner.Initialize (myApplicationClassInstance);

Somewhere in your calls to init all the things?


manually read streams in oni recording

Hi,
I was writing an application to extract all the frame contained in a .oni recording. I set playback speed to -1 (manual), create and start two streams (depth and color) and read them manually using readframe in a loop. However seems that manual mode is not respected as if simply read frames for one of the streams seek  forward also the other one (some frames are skipped).
Working solution is to read one stream after the other, reinitializing OpenNI2 in between or to use seek function before each readframe. As anyone experienced this? Is this a known bug?
Second question, does anyone know if the frameindex is guaranteed to be sequential in a stream and continuous? (without skipping any number between 1 and N)

That's exactly how seek() is supposed to work: https://github.com/occipital/OpenNI2/blob/master/Include/OpenNI.h#L1766

Thank you for the quick response, however there is something not clear to me. I know about the seek function and how it works, but my question is.. why is necessary in manual mode? Suppose the following code where I first read all the depth frames and then the color frames manually:
depthStream.create(device, openni::SensorType::SENSOR_DEPTH);
depthStream.start();
for(unsigned int i=1; igetNumberOfFrames(depthStream); i++)
depthStream.readFrame(&depthFrame);
....
colorstream.create(device, openni::SensorType::SENSOR_COLOR);
colorstream.start();
At this point the colorstream I'd expect to be at frameindex = 1 since I didn't read any frame in it.. but it's actually at a frameindex more or less equal to the last one of the depth stream, as if readstream use seek internally and hence advance both streams (even if I din't even create the color one! )
Is this correct?
Thank you for your time!
Second question about the frameindex.. frameindex of the last frame, is guaranteed to be equal to what is returned by function playbackControl->getNumberOfFrames(depthStream) ? In other words can I have missing frameindex in the stream?

It's been a long time since I've dealt with these mechanisms, but I think that is indeed the expected behavior. All streams share a common timeline of some sort.

Second question about the frameindex.. frameindex of the last frame, is guaranteed to be equal to what is returned by function playbackControl->getNumberOfFrames(depthStream) ? In other words can I have missing frameindex in the stream?

It is guaranteed for a specific stream. However, as far as I'm aware, it isn't guaranteed that getNumberOfFrames(depthStream) == getNumberOfFrames(colorStream).
What I usually did when I was working with OpenNI was to have a "stream of interest" (the most important one for your application needs, in my case depth) which I would process all frames from, and then get the associated frames from all other streams.
I hope I made myself clear enough.

Exactly confirming what I was thinking about. Thank you very much for your time!


Set default tolerations for share creator

Without this, regular deploys fail
Depends on #382

Ah, https://github.com/2i2c-org/pilot-hubs/pull/379/files#diff-4c3982c1f7e655df9d9dd69e0d8c75f85d4874a1e7a6f7967191d7c1c6df67f9R25 is what needs this - but I had gotten my PRs confused :)

Ja, Ja... I was thinking I was missing a huge thing because I did not see any tolerations key in nfs-share-creator.yaml on this PR and I could not find anything informative online... Thanks for the link!


Running on Windows, can't connect to a Windows server which uses per-device RDS licensing/CALs

Describe the bug
When using FreeRDP on Windows (Windows 10), and connecting to a Windows Server (2016) with per-device RDS licensing/CAL, the connection fails. The only error is ERRCONNECT_CONNECT_TRANSPORT_FAILED.
On the Windows server side, it even crashes some components ("The Windows logon process has unexpectedly terminated.").
On macOS and Linux, this behavior is not reproducible, everything is working fine.
The problem is primarily located in the saveCal() function on the libfreerdp/core/license.c file (see details below).
To Reproduce
Steps to reproduce the behavior:

Configure per-device CALs on the Windows Server RDS;
Connect to the server using a client which uses FreeRDP on Windows end-user device.
Can't login.

Expected behavior
When using per-device CALs, FreeRDP is supposed to receive the license/CAL information and store it as a file on the ConfigDir/licenses directory (on Windows: %APPDATA%\freerdp\licenses).
It first creates a file called [long hex string].cal.new where it stores the data it receives from the server, and then renames it to [long hex string].cal (removing the .new suffix).
It later uses this file to retrieve licensing information to use in the login process somehow (haven't investigated this part of the process).
Screenshots
n/a
Application details

FreeRDP version: from the repository, branch stable-2.0
OS version connecting to: Windows Server 2016

Environment (please complete the following information):

OS: Windows only (not on macOS/Linux, not tested on Android)
Version/Distribution: Windows 10
Architecture: amd64

Additional context
As stated above, the culprit is the saveCal() function on the libfreerdp/core/license.c file.
This function builds the path for the temporary and final file names by calling GetCombinedPath() on several occasions.
It then writes to the temporary file (with the .new suffix) and finally calls MoveFileEx() to rename the file from the temporary name to the final one.
On Linux/macOS this works fine, because MoveFileEx() is actually defined to be MoveFileExA() (ANSI version of the function).
On Windows, it uses MoveFileExW() (the Unicode version of the function), but uses the char* variables returned by GetCombinedPath() all the same. Later, MoveFileExW() calls ConvertFromUnicode() with these parameters, garbling the paths, and then calls MoveFileExA(), which finally calls rename() with the invalid values and fails with error 0x2 (ERROR_FILE_NOT_FOUND).
The CAL/license file is never renamed to the final name (without the .new extension), and it can't be used later on, causing the login to fail.
Suggested action
By changing the saveCal() function on the libfreerdp/core/license.c file to call MoveFileExA(), it fixes the problem.
Since all the values used inside saveCal() are char arrays, this will work correctly.
Linux and macOS will still work correctly since they already use MoveFileExA() indirectly.

@vscfreire can you give #6761 a try and see if this fixes your issue?

@vscfreire can you give #6761 a try and see if this fixes your issue?

Just tested #6761 and it fixes the issue. It's now working correctly.
Thanks!


Libnd4j: Add index validation to gather and scatter ops

From: https://github.com/eclipse/deeplearning4j/issues/8002#issuecomment-510306659
Gather op should have index validation and throw a more useful exception on invalid indices - currently this is all we get, which isn't especially helpful...
o.n.l.f.Nd4jBackend - Loaded [CpuBackend] backend
o.n.n.NativeOpsHolder - Number of threads used for NativeOps: 8
o.n.n.Nd4jBlas - Number of threads used for BLAS: 8
o.n.l.a.o.e.DefaultOpExecutioner - Backend used: [CPU]; OS: [Windows 10]
o.n.l.a.o.e.DefaultOpExecutioner - Cores: [16]; Memory: [7.1GB];
o.n.l.a.o.e.DefaultOpExecutioner - Blas vendor: [MKL]
Can't assign new value to the array: this shape [1024]; other shape: [-32000, 1024]
terminate called after throwing an instance of 'std::runtime_error'
  what():  NDArray::assign: lengths of arrays are mismatched

Process finished with exit code 3

@Test
public void testGather(){

    INDArray out = Nd4j.create(DataType.FLOAT, 128, 8, 1024);
    DynamicCustomOp op = new Gather();

    INDArray a = Nd4j.rand(DataType.FLOAT, 32000, 1024);//.sub(0.5).mul(2);

    INDArray b = Nd4j.rand(DataType.FLOAT, 128, 8).sub(0.5).mul(20).castTo(DataType.INT);

    op.addInputArgument(
            a,
            b,
            Nd4j.scalar(0f)
    );
    op.addIArgument(0);
    op.addOutputArgument(out);

    Nd4j.getExecutioner().exec(op);
}

That assumes we'll be scanning whole array of indices. That means additional O(N) step...

Right, that's not great, but I don't see a better option... at the moment this kills the whole JVM/process...
O(N) step is linear though, gather/scatter generally has a lot if memory indirection (and often striding too) that's not very cache friendly, so my guess is that the actual runtime overhead shouldn't be too great in practice.

True... :/

Implemented and merged. These ops now have optional b_arg for that


Output has double parentheses

https://developer.digitallinguistics.io/scription2html/samples/html/Algonquian.html

This is actually a styling issue, not an issue with the underlying data or this library. See https://github.com/digitallinguistics/styles/issues/223 for more details.


Set nr_cpus on LCOW UVM activation

Signed-off-by: Justin Terry (VM<EMAIL_ADDRESS>

Hold off on this until we validate some things. I'm not sure this is necessary.

Sounds good


Use Dreamer on custom ENV

hi,
thanks for great work.
i'm seeking a workaround for using Dreamer on custom ENVs. ENVs are  wrappers like gym and have almost all gym's methods . i'm talking about robotic simulators  that u can get sensor inputs like picture and so on.
i have looked the code for couple of days ,its complicated and get no success there yet.
any tutorial, example, tips or walk through would be great.

I'm also interested in having a custom ENV for robotic simulation. One example would be having Dreamer work with Gazebo.
Options that might work:

Pipe the images out of the Gazebo simulator and feed to Dreamer bypassing dm_control.
Have dm_control manage Gazebo or create a similar ENV.

Gym environments should work. However, they need to return dictionary observations that contain an image key. You can use a simple env wrapper if your environment doesn't use dictionary observations. Also check out the newer code base that runs faster and is quite a bit easier to work with: http://github.com/danijar/dreamer

@danijar thanks for replay,
i'm working on RL control in Airsim simulator. I've done some tests with DDPG, D4PG and others but they all time/resource consuming and with complex tasks,, actually not so good results. but Dreamer seems to be interesting if can control with much less interaction and resource.
so i'm gonna go through simpler code and will get back with results.

Sounds good, let me know if you run into problems setting it up and I'll see if I can provide more suggestions (especially if you're using the new code base).


Add "annotated bookmarks"

Lute has multi-page books.  It would be nice to add "bookmarks" to pages, for a few reasons:

it makes sense, you can do this in a Kobo, why not in lute?
a page might have a nice construction you want to review later
mark chapters, etc
Currently you can go to the prev or next page, or jump by 10, but it would be nice to go to an arbitrary page, per request #29.  But you'd want to return to where you were ...

Adding annotated bookmarks would let you add a bookmark, plus a brief optional note about what that bookmark is for.  Then maybe you could see a listing of bookmarks, and click it to go to the bookmark.
Implementation notes:

db change - this could either be a new "TxBookmark" nullable text field in the texts table, or a separate table textbookmarks with fields TbID, TbTxID, TxBookmark ... the latter makes more sense db design wise, because most text records will not be bookmarked, but joins and deletes etc are a hassle so just adding TxBookmark would be fine by me.
add "add bookmark" menu item in the slideout, and potentially "update bookmark" to update annotation, and "remove bookmark"
have a "show bookmarks" page, which shows the annotations and links and page number
a page with a bookmark could potentially show a "bookmark" image in the top right, to indicate that it's bookmarked

@jzohrab I've been looking into this issue since I'd really like to have a bookmark feature. I agree that a separate textbookmarks table is probably the way to go. Especially if it ever needs to be expanded later on. Do you have anything in the works for this, or should I be good to try my hand at it?

Hi @cblanken - nothing in the works for this.
I was leaning towards not having a separate table, just to reduce join hassles (b/c sometimes doing these mappings with sqlalchemy is a pain, and having separate tables means that we need to ensure deletion of the other records etc etc).  If we add a nullable bookmark field to the texts table we're fine, and since it will be much less code around the object management, I think that's a much better idea. :-)  LMK if you have any hard disagreements on that one, maybe there is something I'm missing.
This feature adds a bunch of operations for bookmark management to the UI as noted above.  I wonder if there is a clever way that we can break this feature down so that it can be incrementally delivered ... Maybe we do something like this, to split up the work too if needed:
Part one: all backend work

add field to texts table, necessary tests (e.g. domain to db object mapping, if any!)
add routes for adding/editing/removing book bookmarks

Part 2: UI slideout "bookmarks" subsection
All "bookmark" actions are in a "bookmark >" sub-slide-out in the reading menu, like the Edit menu:

"add bookmark" link if page not bookmarked -- opens a javascript alert box to do simple data entry, ajax posts back to server
have "edit bookmark" link if page already bookmarked -- opens same alert box, pre-pop'd with current bookmark
have "delete bookmark" if already bookmarked
have "list bookmarks" for whole book, goes to page with listing, links with all bookmarks

Part X?
... add little bookmark icon top right?  Maybe not needed at all, just screen clutter ...

Happy to chat about this here or on Discord as needed :wave:  cheers!

Some more thoughts about this:

users may want multiple bookmarks for a page?  -- with a physical book this is possible (multiple strips of paper) but not with an e-readers I've seen.  Kobo, PDF reader, etc.
possibility of "system bookmarks" being added, eg for chapter headings ... and with some books, chapter may be very short.

I could be getting ahead of myself with this, and would rather design for the "now" than for the possible future.  Re "a page might have a nice construction you want to review later" -- that sort of relates to #41 .
If we did allow multiple bookmarks for a page, I'm not sure how the reading UI would be organized.  The "edit bookmark"/"delete bookmark" would need to indicate which one to edit/delete somehow.

I can't think of what that expansion might be though, so am inclined to go with the Simplest Thing That Could Possibly Work, aka the single field, at present)

I was thinking along the lines of the following possible features:

Multiple bookmarks per page (probably marking at the sentence level)
Bookmark hierarchical structure like you might expect from a textbook. Chapter > Section > Subsection. In particular, for my use case I'm reading Lord of the Rings which splits down to Volume > Book > Chapter, and it might be nice to organize them as such in the bookmark display.
Bookmark categories. Just spitballing here, but it might be nice to distinguish between types of bookmarks even across books. For example I could sort my bookmarks under several categories like "cool words", "idioms", or "character quotes"  Of course, this sort of assumes sentence or word-level bookmarks. Then a separate page could be used to search bookmarks by category similar to searching for terms by language.

These may be better implemented as separate features outside of bookmarks. I'm not sure tbh, but that's why I was thinking it would be better to isolate the bookmarks from texts. If there's any overlap with the simpler TxBookmark column then it would need to be refactored later on, since otherwise anything like a bookmark type, hierarchy, sentenceId would need to be added to texts.

users may want multiple bookmarks for a page? -- with a physical book this is possible (multiple strips of paper) but not with an e-readers I've seen. Kobo, PDF reader, etc.

I haven't used an e-reader in a while, but I think you're right, bookmarks are usually page level. It might make sense to have a separate feature for adding "highlights" per page and not lump them together with bookmarks.

If we did allow multiple bookmarks for a page, I'm not sure how the reading UI would be organized. The "edit bookmark"/"delete bookmark" would need to indicate which one to edit/delete somehow.

I actually had some thoughts about the bookmark UI I wanted to run by you. I know it probably makes sense to add interactions in the left slideout menu, however what do you think about integrating the bookmark display into the read_right_pane? If a user wants to add/edit/delete bookmarks, but they probably don't need to do term lookup at the same time. That would also allow the display of a lot of bookmarks at the same time and allow the user to skip back and forth to different bookmarks quickly without needing to re-open the slideout menu. I think that would be a much better user experience than needing to swap back and forth to a separate page to see bookmarks.
On top of that, the add/edit/delete functionality could be embedded in a few icons next to each bookmark without a need to select which bookmark is the target. Sort of like this.

All that said, I'm not strongly opposed to taking the easier road of just adding a column to texts. I've never worked with SQLAlchemy, so I'll take your word that joins and such are pain. However if you think any of those features I mentioned are possibility in the future, it may save more time in the future to give more consideration to the DB design from the beginning.

... add little bookmark icon top right? Maybe not needed at all, just screen clutter ...

I definitely like the idea of a bookmark icon. Either as a interactive element/form to bookmark a particular page or open the aforementioned bookmark pane in the read_right_pane. One icon shouldn't be much clutter and definitely a positive for user experience in my option so swapping over to slideout isn't necessary.

Hey there, thanks for the detail above.
** Re the joins, my mistake, they're actually trivial -- I was confusing these joins with another idea.  e.g. Book to BookTag is a similar idea, and already exists in the code.

"add/edit/delete icons in the listing" yep this makes sense.  Currently the various listings (books, languages, terms) don't have such icons, maybe we'd want some consistency -- but that's just refining the idea.
"I've never worked with SQLAlchemy" In that case I'd probably do the initial back-end stuff for you, just to keep it clear :-) and I'd add the necessary data checks and tests etc.

Things we should defer from an initial iteration, due to complexity:

"Integrating into read_right_pane I do like this idea for the longer term, but currently the frame/dictionary javascript code is messy, and swapping in a separate view for bookmarks is going to create problems, at least AFAICT.  Mobile moves that right pane to the bottom of the screen for the editing form as well.  For an initial iteration, opening a separate screen of bookmarks is much easier.  This is similar to what current eReaders do, and should still deliver a lot of value, at the expense of a bit of screen thrash.
"bookmarks ... at the sentence level" -- this won't be easily possible, as sentences can be added/removed if a page is edited, so the ids change.  You could track bookmarks by some other mechanism, such as the md5 of the sentence text, but that's getting tougher -- I think some of that is outlined in issue #41 (sentence notes).
"word level bookmarks" --  There's already the "term definition" form with tags, and there's potentially another thing, #235 (term notes) that could handle this.  If we keep the "bookmark" metaphor in mind, it reduces scope for the current iteration.

In that case I'd probably do the initial back-end stuff for you, just to keep it clear :-) and I'd add the necessary data checks and tests etc.

Works for me. I can still experiment with the backend stuff a bit if you're busy, but that's probably for the best until I'm more familiar with the codebase :)
I'll start working on a template for the bookmarks page.

Okay, I basically just ripped the table from the books page display bookmarks. Is this the basic sort of user flow you were thinking?

"add/edit/delete icons in the listing" yep this makes sense. Currently the various listings (books, languages, terms) don't have such icons, maybe we'd want some consistency -- but that's just refining the idea.

I was actually rethinking the add/edit/delete actions for the bookmarks. Do you think it'd be better to just adapt the same actions dropdown from the books table so that it's consistent? I don't think you really gain a lot from having inline buttons/icons. Spelled out actions are usually better UX in my option since there's less opportunity for misinterpretation of what an icon will do even if it does look a bit nicer.

Hah yep that was it exactly :-) As an initial implementation it could add a lot of value and would sort out a lot of back end code.

The only challenge here is that the delete and edit bookmark menu items don’t work if there are multiple bookmarks on a page, which we probably should support.  (I think)  so perhaps the bookmark listing has the “edit/delete” actions spelled out as you said, and the reading pane menu has “add bookmark” and “listing” only.

Hi @cblanken -- let me know here (or discord) if you're awaiting anything from me for this issue.  I've marked it as "to-do" in the Lute project board so that I keep tabs on it.  If you're not considering hacking at it, I'll put it back into the backlog.  No rush and no pushing from me, by the way.  :-)  This is a free open-source project so we all do what we can.  Cheers!

Hey @jzohrab, I was still planning to hack on it a bit more. I'll look at it more this weekend if I have time or later this week.

@jzohrab I fixed up the popup menu options like you suggested and remade the Bookmarks page using a DataTable so that the "Actions" will be consistent with the other tables in the app.

If that looks good, then I'll start digging into some of the backend stuff unless you want to take over for that. In which case, I can draft a PR for the frontend stuff. Just let me know.

Hi @cblanken , looks great!
In terms of the back end, we should sort that out. I have a few pressing things I need to get done w/ Lute, a couple of annoying bugs that were reported, and of course there is real life stuff to handle.  But we should get this feature in as you need it, and it's a good one.
Following is a rough outline of the work I think is necessary for this.  I'm not sure how up to speed you are with python, sqlalchemy etc, and/or how much time you want to invest trying to add this.  :-)  It would be super to have you contribute, but sometimes that actually creates more net work for me, as I have to rework or tune stuff contributed.  If you want to dive in, super!  But if you don't/can't, that's ok too -- it will obviously be faster for me to work on things, b/c I'm experienced with the code and where things go, but it's work.  So, a question back to you: what do you feel is the right thing for both you and me, and for the project overall?  If you're on Discord and want to chat, give me a ping @jz (I should put this in a wiki page!)
basic back-end stuff

create table textbookmarks db migration (see lute/db/schema/migrations for examples) to add the new table and relationship back to the texts table, with necessary fields
add db.Table mapping class for class TextBookmark in lute/models/book.py
add smoke unit tests in tests/orm/test_Book.py or /test_Text.py to ensure that db mappings are valid

TextBookmark is saved correctly with the Text
Text can be deleted if it has a TextBookmark (b/c users can delete pages)
deleting Book deletes any TextBookmark associated with its pages

basic smoke testing for the UI

need a smoke test for the controller that returns the datatables data for textbookmark data for a given book (?)
ideally there would be an acceptance test to check that everything is created correctly -- that's a big thing to start looking at though

Hi @cblanken totally ok.  Ping me on discord if you have questions, hopefully I will have time to answer.  Thanks!

Launched in 3.5.0. :tada:


Training example of Instance Segmentation

Description
Is there any guide on how to train an instance segmentation model for DJL?
Will this change the current api? How?
Who will benefit from this feature?
References

list reference and related literature
list known implementations

I think a common case would be to take a basic Mask-RCNN model from the model zoo ( e.g MxNET ) and use transfer learning to fit it to a different dataset ( in Coco Format ) ...
An example of how to achieve that would be awesome


Teams to sidebar

Per my comment at https://github.com/gratipay/gratipay.com/issues/3560#issuecomment-123363444, I added the teams list to the sidebar of each participant profile.

Rebased on master.

This isn't a bad idea, but the green link on brown doesn't work:

I know, but I was working within color scheme.
On August 22, 2015 7:37:09 AM CDT, Chad Whitacre<EMAIL_ADDRESS>wrote:

This isn't a bad idea, but the green link on brown doesn't work:

Reply to this email directly or view it on GitHub:
https://github.com/gratipay/gratipay.com/pull/3672#issuecomment-133690360

--
Sent from a phone that, although intelligent, is not street smart.

Really? Do we use green links over brown anywhere else?

We do use a green button, but not a green link:

I will take a look when I have a chance.

I think this is obsolete after #3718. Okay to close, @mattbk?


Question - mental model for invoke and inter-machine communication

It seems that there are 3 ways to organize different machines for communication between them:

Hierarchical
invoke()
Manual reference

Is the following correct?
Hierarchical: Helps to keep a machine tidy by taking a bunch of state that can be clustered, and making it into one cluster. These sub-machines are really part of the parent machine and could have been written at the top level; hierarchy is simply a technique to make "state explosion" much more manageable (and it becomes a huge difference considering how the API provides this, e.g. sub-state matching and transitions)
invoke(): Launches something like a temporary machine. The Promise example in the docs is a good concept here - you wouldn't want to have one Promise for an app, often you want to create new Promises and respond to them as they finish. Invoke allows creating and then responding to sub-machines created on the fly
Manual reference: This isn't really part of the API, but it's notable that an interpreter can be created, and then referenced directly from another machine, for example in its actions. This allows for truly separating and communicating between different components in an app.

Hi, I am having a similar issue. I'm attempting to formalize a game with a dynamic and undetermined number of players with xstate. However, since I cannot invoke from an action, and therefore create additional submachines/services on demand, this isn't possible. And then I must regress to using a strategy like the one in the Todo example. Ideally there would be notation for the dynamical creation of parallel states or invoking in an action.

...dynamic and undetermined number of players

Using context would be the best fit here. This might be better discussed in the Spectrum statecharts community.


UI for autofill breakage reports

Task/Issue URL: https://app.asana.com/0/608920331025315/1207767049586685/f
Description
Adds the UI for showing the option to send an autofill breakage report.
Note, this branch doesn't actually submit the report or suppress the prompt from showing again.
Steps to test this PR
ℹ  Local hack to enable feature: In AutofillSiteBreakageReportingFeature, set default value to true

Verifying it doesn't show unexpectedly

[ ] Fresh install
[ ] Tap on overflow->Passwords; verify you do not see the "report a problem" view
[ ] Manually add a password for fill.dev, and press back after saving. verify you do not see the "report a problem" view
[ ] Return to browser and visit a different site, e.g., example.com
[ ] Tap on overflow->Passwords; verify you do not see the "report a problem" view
[ ] Visit fill.dev. This time, access passwords from Settings (not directly from the overflow.) verify you do not see the "report a problem" view

Verifying it does show when it should

[ ] With a password saved for fill.dev already, visit fill.dev
[ ] Tap on overflow->Passwords; verify you do see the "report a problem" view

Verifying it behaves when tapped on

[ ] Tap on "Report a problem with autofill"
[ ] Verify prompt looks good against designs
[ ] Tap Send Report and verify confirmation snackbar looks good

Verifying feature flag works

[ ] Remove your local hack so that the feature defaults to false (and remote config isn't yet set up for it anyway)
[ ] With a password saved for fill.dev already, visit fill.dev
[ ] Tap on overflow->Passwords; verify you do not see the "report a problem" view

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#4741  👈
#4740
develop

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

Join @CDRussell and the rest of your teammates on  Graphite

Merge activity

Jul 24, 5:55 PM EDT: @CDRussell started a stack merge that includes this pull request via Graphite.


getNftsForOwner discrepencies between docs, actual results, and typings

[REQUIRED] Environment

Browser version: N/A (Node)
Alchemy SDK version: 2.2.3

[REQUIRED] Describe the problem
The docs for getNft (renamed getNftsForOwner) show that, when metadata is enabled, the response should contain an object with keys ownedNfts (this is correct), which is an array of objects with properties like metadata and media.
When running the examples in the docs this is indeed the result that is returned.
However, when running the sdk (2.2.3), the returned result has the following format:
{
      contract: [Object],
      tokenId: '9089',
      tokenType: 'ERC721',
      title: '',
      description: '',
      timeLastUpdated: '2022-11-22T18:34:44.342Z',
      metadataError: 'Malformed token uri, do not retry',
      rawMetadata: [Object],
      tokenUri: [Object],
      media: [],
      spamInfo: undefined,
      balance: 1
},

As you can see, there's no metadata key at all. However there is an undocumented rawMetadata key.
This property contains { metadata: [], attributes: [] }, which is incorrect, because there's no metadata property in the typings for rawMetadata:
export interface NftMetadata extends Record<string, any> {
    /** Name of the NFT asset. */
    name?: string;
    /** A human-readable description of the NFT asset. */
    description?: string;
    /** URL to the NFT asset image. */
    image?: string;
    /**
     * The image URL that appears along the top of the NFT asset page. This tends
     * to be the highest resolution image.
     */
    external_url?: string;
    /** Background color of the NFT item. Usually defined as a 6 character hex string. */
    background_color?: string;
    /** The traits, attributes, and characteristics for the NFT asset. */
    attributes?: Array<Record<string, any>>;
}

Long story short: none of these 3 things actually line up properly which makes using the API incredibly difficult.
How to reproduce:
Implement the alchemy-sdk in a Node environment, and do a query on Goerli for an owner.
The response is not the same as described in the docs and it certainly isn't the same as the result in the docs tool .
Relevant code or sample repro:
https://stackblitz.com/edit/github-1wqbue-s658mx?file=example.js
Just run npm run example and you'll see my test wallet being used to retrieve a bunch of NFT's (most are "empty").
As you can see, none of them return metadata, all of them return the undocumented rawMetadata, some of them return populated media (this seems to be the most "reliable" property to check.

@TheDutchCoder Thanks for filing an issue with a detailed explanation, and apologies for not getting to this sooner. We're currently working on getting our documentation into a better place, so thanks for flagging this!
To clarify:

The SDK renames the metadata field from the response into rawMetadata. The fact that the SDK docs say the field is metadata is a bug, and we'll have a fix out for that shortly.
The rawMetadata field will normally contain the raw metadata specified by the NFT itself. In the cases where the NFT does not have raw metadata, or if Alchemy cannot fetch it, the field is automatically populated with { metadata: [], attributes: [] }.

Hope this answers some of your questions!

I'm going to mark the issue as closed, but feel free to ask any other questions you may have.


Allow usage of a remote database file - Grafana Cloud

This datasource doesnt work in Grafana Cloud, since you cant upload your database.
Update the current datasource to allow the usage of a remote database, for example connection to an S3 bucket or other remote location.
That way people would be able to use Grafana Cloud + Sqlite

I am not sure there are that many use cases that would benefit from such a feature.
Most users of SQLite and this database have a frequently updating database. Copying that over to S3 and then the plugin downloading that database would be a bit convoluted.
I guess an easy way would be to add a "public link" option, that would download the database from this link. But how many people would want to make their database publically available (does not sound secure and I don't want to encourage that).
Offering authentication would again be heavily use case dependant. I don't want to add auth for AWS, Google Cloud, Azure and then more and more auth mechanism just for a download feature, which should be an exception...

Maybe you could explain your own use case a bit more to help me understand. Where is your SQLite currently? And why is Grafana Cloud a requirement?

Grafana now offers a free Cloud tier, which is more than enough for personal and small projects.
Sqlite is a great database if you're not doing any heavy work on the database.
Having the chance to work with Grafana cloud and a sqlite "cloud" version would be great.

Sadly there is no SQLite cloud version. In such a case I would recommend going for a real server-based database (like Postgres) or just running Grafan on the raspberry as well.
Of course, I wouldn't mind if somebody added this feature on the plugin but I don't see a good approach for that yet.

Thanks for taking the time to answer. It was more like a nice to have feature.

It would be great to allow a http address for the database. The CSV plugins seems to allow that:
https://grafana.com/docs/plugins/marcusolsson-csv-datasource/latest/configuration/#allow-local-mode
I understand it isn't for most use cases. For me I have a rather small SQLite database updated hourly and having the feature would be great.

I would recommend opening a new issue/feature request for this and then we can discuss details.
The details (how to access the database, authentication, update interval, etc.) are what is the main issue after all.


Doing expression plot is slow for 1000+ functions

When I tried to do expression plot using expression_plot for the activation of whisper large model, I noticed that it is very slow with a large memory use (increased slowly) at the beginning and then high CPU use but low memory use. That was where it got stuck.

I think the problem is inside the for loop of plotting all the show_only  functions at around line 465 in plot.py. The loop is actually pretty quick when I plot ~1280 functions (~200 iterations/sec on average) but when there are ~80000 functions the loop is much much slower (~3 iterations/sec).

Relates to #271

I attempted to fix this with #378 but the changes I made had literally zero effect.
Doing a little more profiling, the main slowdown is just simply caused by calling pyplot.scatter 1000s of times. If I comment out the call to scatter, the main mentioned here goes from 40 loops/second up to 200 loops/second for 1000 functions.
The reason it gets progressively slower with additional functions (as mentioned in the linked comment) is I think because each call to scatter adds a new distinct pyplot.Collection to the axes, and by the time there are 1000s it appears to do some kind of cache invalidation or something which gets progressively more internally laborious with additional collections.
The only way I can think to address this, which could get us at most a 5x speedup (which isn't nothing, but isn't nearly as good as the speedup we got in #374), would be to reduce to a single scatter call, with a matrix of colours precomputed and ready to pass to scatter's c argument.
Depending on how much this or isn't causing a problem, we could either attempt the above, or close this as a wontfix for now and decide that plotting 80k functions on an expression plot is always going to be kind of slow.
@young-x-skyee @neukym I'd appreciate your thoughts!

Yeah I agree with what Cai said. And for my current use, I usually identify the significant transforms by looking at the scatter plot first and then narrow down the number of transforms to be plotted in the expression plot. I'll add the wontfix tag now and close this issue at the moment.


Feat/1f/onion

This pull request includes significant changes to project structure, namespaces, and the addition of repository interfaces and implementations. The most important changes include renaming and restructuring project files, updating namespaces, and adding repository interfaces and implementations for Author and Cheep entities.
Project Restructuring:

Renamed and restructured the Web project to Chirp.Core and Chirp.Infrastructure projects in the Chirp.sln file. (Chirp.sln, src/Chirp.Core/Chirp.Core.csproj, src/Chirp.Infrastructure/Chirp.Infrastructure.csproj) [1] [2] [3]

Namespace Updates:

Updated namespaces from Web to Core and Infrastructure in entity files and migration files. (src/Chirp.Core/Entities/Author.cs, src/Chirp.Core/Entities/Cheep.cs, src/Chirp.Infrastructure/Migrations/*.cs) [1] [2] [3] [4] [5] [6] [7]

Repository Interfaces and Implementations:

Added repository interfaces for Author and Cheep entities. (src/Chirp.Core/Interfaces/IAuthorRepository.cs, src/Chirp.Core/Interfaces/ICheepRepository.cs) [1] [2]
Implemented repository classes for Author and Cheep entities. (src/Chirp.Infrastructure/Repositories/AuthorRepository.cs, src/Chirp.Infrastructure/Repositories/CheepQueryables.cs) [1] [2]

Configuration Files:

Added launchSettings.json and appsettings.json configuration files for the Chirp.Core and Chirp.Infrastructure projects. (src/Chirp.Core/Properties/launchSettings.json, src/Chirp.Core/appsettings.Development.json, src/Chirp.Core/appsettings.json, src/Chirp.Infrastructure/Properties/launchSettings.json) [1] [2] [3] [4]

Database Context and Initialization:

Updated CheepDbContext and DbInitializer to reflect new namespaces and structure. (src/Chirp.Infrastructure/CheepDbContext.cs, src/Chirp.Infrastructure/DbInitializer.cs) [1] [2]

Credit to Github Co-pilot for generated pr description

Note: this branch is based on this branch - therefore see the other pr for code changes, and not project refactoring


Ability to remove custom key from logger via LoggingUtils

Hi all,
I have a question (or maybe a suggestion) about the power-tools-logging and pardon me if this is not the right place for this question.
I recently come across this Lambda Power logging and its feature of changing the logging level via environment variable is a useful one for us.
When I try to use it, I have coded to clear the custom key-pair values with ThreadContext.remove() and ThreadContext.clearAll() to avoid incorrect log output. I saw the power-tools logging LogginUtils contains method to appendKey() and appendKeys(), which in term calls ThreadContext.put() and putAll(). However, there is no wrapper methods to remove the keys.
Hence, I have to still directly import the ThreadContext class to perform the remove operation in the code.
It would be nice if LoggingUtils also include remove keys method so that my lambda code can completely rely on power-tools-logging for custom keys logging.
Originally posted by @seng-thebouqs in https://github.com/awslabs/aws-lambda-powertools-java/discussions/393

Available in https://github.com/awslabs/aws-lambda-powertools-java/releases/tag/v1.6.0


Reverting PR #1773 and add comments to prevent same bug again

Must set segment ZK metadata before notifying server to pick up the segment

Codecov Report

Merging #1784 into master will decrease coverage by 0.06%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #1784      +/-   ##
==========================================
- Coverage   65.84%   65.78%   -0.07%
==========================================
  Files         866      866
  Lines       41975    41975
  Branches     5528     5528
==========================================
- Hits        27639    27612      -27
- Misses      12469    12493      +24
- Partials     1867     1870       +3

Impacted Files
Coverage Δ

...ntroller/helix/core/PinotHelixResourceManager.java
59.85% <100%> (ø)
:arrow_up:

...pinot/core/operator/docidsets/OrBlockDocIdSet.java
84.93% <0%> (-13.7%)
:arrow_down:

...pinot/controller/validation/ValidationManager.java
73.27% <0%> (-6.46%)
:arrow_down:

...e/operator/dociditerators/BitmapDocIdIterator.java
60.71% <0%> (-3.58%)
:arrow_down:

...m/linkedin/pinot/common/metrics/MetricsHelper.java
68.83% <0%> (-2.6%)
:arrow_down:

...impl/dictionary/DoubleOnHeapMutableDictionary.java
80% <0%> (-2.23%)
:arrow_down:

...regation/function/customobject/QuantileDigest.java
46.99% <0%> (-2.15%)
:arrow_down:

...ot/core/query/pruner/ColumnValueSegmentPruner.java
87.93% <0%> (-1.73%)
:arrow_down:

...edin/pinot/common/metadata/ZKMetadataProvider.java
74.8% <0%> (-1.58%)
:arrow_down:

...inot/core/operator/docidsets/AndBlockDocIdSet.java
57.24% <0%> (-1.38%)
:arrow_down:

... and 14 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 0fe67af...ceba358. Read the comment docs.


mmdet/ops/utils/src/compiling_info.cpp:3:30: fatal error: cuda_runtime_api.h

when i use conda install python3.6 and torch 1.3.1, i input "git clone https://github.com/open-mmlab/mmdetection.git" and "cd mmdetection"  .
But when i input "python setup.py develop" , it is error.

I chech the cuda and find it is OK.

please help!!!!!

i cheak my env and find
CUDA_HOME=:/usr/local/cuda-9.0
LD_LIBRARY_PATH=:/usr/local/cuda-9.0/lib64
But when i use conda install pytorch

i don't know,whether the difference of the duda is reason?

The question is solved. i change the #include

I met the same problem. Could you please tell me how to fix it?

I met the same problem. Could you please tell me how to fix it?

my question is it can not look for the cuda_runtime.h. This order in mmdet/ops/utils/src/compling_info.cpp.  original order is #<cuda_runtime.h>,you can try change the path to absolute path. Tthis flile(cuda_runtime.h)may be in usr/cuda-9.0... you can try.

The CUDA version in your local path and the CUDA version built with PyTorch should match.
You need to specify correct CUDA_HOME to make your local CUDA visible.

The CUDA version in your local path and the CUDA version built with PyTorch should match.
You need to specify correct CUDA_HOME to make your local CUDA visible.

The CUDA version in your local path and the CUDA version built with PyTorch should match.
You need to specify correct CUDA_HOME to make your local CUDA visible.

thank you for you answer.althought my CUDA version(9.0)in my local path is different from the CUDAversion with pytorch(which build by conda ,version=10.0), but i find i can run the test demo. i am trying train a model on my own dataset. I do not know whether it is ok

Can you explain in detail how it was modified?Thank you!!~

I met the same problem. Could you please tell me how to fix it?

The first you should look for the file in mmdet/ops/utils/src/compling_info.cpp
You can find a code like # include <cuda_runtime.h> , this cite used relative path not the absolute path， so you can change it to absolute path, and the file cuda_runtime.h maybe in usr/cuda-9.0...

Can you explain in detail how it was modified?Thank you!!~

The first you should look for the file in mmdet/ops/utils/src/compling_info.cpp
You can find a code like # include <cuda_runtime.h> , this cite used relative path not the absolute path， so you can change it to absolute path, and the file cuda_runtime.h maybe in usr/cuda-9.0...

我修改成绝对路径，还是一样的错误，可以给我提供一些其他的思路吗？

我修改成绝对路径，还是一样的错误，可以给我提供一些其他的思路吗？

既然你用中午问了，那我就用中文回一个，是这样的，你可以进入你的环境1. nvcc --version  这里有一个环境运行的cuda版本 2. 进入python3 import torch, torch.cuda.version 查看当前torch对应的cuda版本，1，2的cuda版本尽量保持一样，不然问题很多

Find the line in  mmdet/ops/utils/src/compling_info.cpp # include <cuda_runtime.h>
Then change cuda_runtime_api.h to /usr/local/cuda/targets/x86_64-linux/include/cuda_runtime_api.h (need check the path)
Meet the same error and fix it.


Z-index for the Button node? Or... all Control Nodes?

Why is there no z-index for the Button node, Panel node and I believe all Control Nodes?
When I press on the button in my game, a panel should be sliding from out of camera view into the camera view. The panel should be beneath the button on Z-Index. But instead it overlaps the button.
But for some reason it doesn't has Z-index option. And from the other controls I've seen, none actually do... is there a particle reason for it?
I'm using Godot 2.1.2 Stable.

GUI, like most 2D in Godot, is displayed on tree-order. No index is
provided.
On Tue, Jan 31, 2017 at 4:19 PM, Qws<EMAIL_ADDRESS>wrote:

Why is there no z-index for the Button node, Panel node and I believe all
Control Nodes?
When I press on the button in my game, a panel should be sliding from out
of camera view into the camera view. The panel should be beneath the button
on Z-Index. But instead it overlaps the button.
But for some reason it doesn't has Z-index option. And from the other
controls I've seen, none actually do... is there a particle reason for it?
I'm using Godot 2.1.2 Stable.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/7692, or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z20Cgly1bZmAuOTfZLGNgVXDWP63kks5rX4lSgaJpZM4LzEAa
.

Note that you can still set the z-index for controls manually: some_control.set("z", index).

I tried some_control.set("z", index) it looks like it has no effect I tried 2.1.2 stable and 3.0
I am using Sprites that have a z-index > 0 and the UI should be on top of the sprite but it looks like the z-index from control is 0 and there is no way to change it.

extends Control

func _ready():
	set("z", 2)
	$WindowDialog.popup()

I could probably solve this somehow with all sprites having a z-index<0 but it looks more like a missing feature or bug.

GUI, like most 2D in Godot, is displayed on tree-order. No index is provided.

Sprites are displayed on tree-order, but they have z-index that we can change to fine-tune without too many complications. GUI controls should also have that option.

Giving my two cents here, but z-index should be a CanvasItem property, not a Node2D one (that way it would be editor configurable for both Control and Node2D).

Has anything progressed o this topic?
And I like the idea of Z-Index being property of Canvas_Item. But the problem seems to be of the fact that z-index doesn't work in 3D but Controls work in 3D so how should it implemented.

This would be a nice feature. It adds more flexibility.

The reason why Z-Index is not exposed in controls is because it won't work
as you expect it to. The control may be displayed on top of other controls,
but as input is handled strictly in tree order,  your control won't get
input by being on top of other controls.
If you want it to appear on top of others, use set_toplevel() instead, and
your control will not depend on the parent controls, as well as appearing
on top.
On Mon, Jun 25, 2018 at 8:36 AM MrHoothoot<EMAIL_ADDRESS>wrote:

This would be a nice feature. It adds more flexibility.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/7692#issuecomment-399921542,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z2-KOfolb3uxXVjjB72en8CfRbtGMks5uAMtFgaJpZM4LzEAa
.

@reduz Is input handling the only reason for such limitation? I personally use lots of Labels and other controls exclusively for their display function while all input is handled higher up in a root node (as that's the only level at which input state becomes relevant). Unless there's a different way to display text that I'm missing, then I think it's quite cumbersome to limit z-sorting of UI elements just because of Input handling as 90% of use cases will be for display-only.

So, given the following Tree:
SpriteControl
  Sprite
GUIControl

When I set a z-index > 0 on Sprite, as well as Z as relative to true, Sprite still draws over children of GUIControl.
Given that Controls are drawn in tree order, shouldn't GUIControl draw over all children of SpriteControl, if they have Z as relative set to true?

So, given the following Tree:
SpriteControl
  Sprite
GUIControl

When I set a z-index > 0 on Sprite, as well as Z as relative to true, Sprite still draws over children of GUIControl.
Given that Controls are drawn in tree order, shouldn't GUIControl draw over all children of SpriteControl, if they have Z as relative set to true?

Is there any workaround for this?

Hello, here is a use case:

I need this because I want the size of my background to adjust with the width of the label.

Like this maybe?

If you put Control under Node2D, it will inherit its Z-index. That should be anough in most cases, UI is supposed to go on separate CanvasLayer anyways.

One issue with the z-index being tied to tree order is that for the various Containers, display position is also tied to tree order.  Meaning if you have a Control that moves out of the bounds of its parent Container (say, in an animation), you have to no way of controlling which bordering elements it goes over or under, it will always go over elements to the left and under elements to the right (or above and below).
The Node2D solution doesn't work here, because then you lose the formatting of the Container.

Closing in favor of https://github.com/godotengine/godot-proposals/issues/839, as feature proposals are now tracked on the Godot proposals repository.


Add support for deploying from source

We need to add support for deploying Superset using the source code e.g. something like:

clone the superset git repository
compile the js and css
install superset and its dependencies using pip e.g. pip install requirements, pip install using setup.py etc

Already added by #25. And also the local compilation of assets, see https://github.com/onaio/ansible-superset/commits/master/tasks/compile-assets.yml that was introduced in December.
@moshthepitt what was the intention? all this seem to be in place now.

@ukanga yes this is all done now


Using jackson @JsonTypeName value for schema definition name if defined

We use version information in classnames (to support multiple versions in parallel and only add version info in package name was confusing), e.g. "PersonV1" but we want to hide this info in the generated schema. With the Jackson annotation @JsonTypeName you can define a type name different than the class name for the JSON content itself (e.g. "Person"). Added support for the JSON Schema definition for @JsonTypeName in this branch. If @JsonTypeName is defined this will be used instead of class simpleName. In this solution nothing will change for the "useTypeIdForDefinitionName" case/configuration.
What do you think about it? @mbknor

@mbknor What can we do to help get this PR merged?

Hi... Thanks for adding this nice new feature..
It looks good.. I'll do some small changes to the PR and then Merge it soon.

New release created and it is on its way to a maven-repo near you right now


fix(csi-driver): support getting device size from devpath

Changes:

the Device::lookup() API doesn't return a dev-name, but instead returns a dev-path. Changed the size function to accept either.
the failure! macro prints errors event if they are never encountered, when used with the ok_or() combinator. Using the ok_or_else() combinator instead.
Adjusting the expected capacity of the nexus during NodeExpandVolume call to be at most 10MiB less than the requested capacity.

bors merge

bors merge


Drift Detection support

Have you guys thought of having a built-in support for drift detection? That would have been handy if when calling status amplify will warn the user that the stack has drifted. Just thinking, this feature is pretty clear and does feel like complex implementation-wise, would you be open for a pull request for this?

Thanks @ambientlight
Could you elaborate on this idea? and provide some solid use cases?

Usecase is like:

User goes and adds a bunch of @model directives with GraphQL definitions, amplify push that creates a bunch of DynamoDB tables.
then after some time users goes to dynamoDB console and changes something in table configuration, which makes the stack differ from the CloudFormation template.
at some point in the future(few days later) user might not forget that he made a direct change to the stack and let's say he hits amplify status and everything seems up to date, while the stack differs.
he makes some other change on amplify side, hits push, stacks get updated, at this point there are two negative scenarios that could happen - direct changes get overriden or stack update fail. At which point users not familiar with CloudFormation (and there is high chance some of the users jumping to amplify never dealt with CloudFormation before) become puzzled.

Alternatively, which calling status amplify would not just compare the local CloudFormation templates with deployed ones, but also run the drift detections on deployed stacks. Drift detection doesn't yet support a wide range of AWS services, but most useful for now is a support for DynamoDB. So in such scenario amplify status will warn the user that such category (api) stack has drifted, prompt him to go to CloudFormation console to review the change, and ask if he really wants to proceed?
I think for users starting to use amplify and are unfamiliar with CloudFormation, that is the behavior they will logically assume for amplify status: that is making a change on AWS console side will get reflected, and they might become puzzled when it didn't.

Thanks @ambientlight,
The team will evaluate the feature request and respond to you.


Gif optimization support

When a gif is saved using optimization it only stores partial updates to the image on the next frame. Imgproxy will only display the changes and does not combine the frames, making most of the image go transparent.  Ideally, it should display the same as the unoptimized image.  I tested with Gimp though I think many image editors support optimizing gifs.

Hi,
Love the idea, but we strongly depend on the way libvips works with ImageMagick. I made a PR with support of GIF optimizations, let's see how it'll go https://github.com/libvips/libvips/pull/1385

PR to libvips is merged, let's wait for the next release.

The feature was released in the pro version of v2.10.0


Fix Waypoint: Override Class Declarations by Styling ID Attributes

should say to declare #orange-text above .pink-text and .blue-text to prove that id overrides class in CSS: if it's declared below them, it could just be overriding them because of it being declared below them

:+1:

See the last paragraph:

Note: It doesn't matter whether you declare this css above or below pink-text class, since id attribute will always take precedence.
Closing this issue. @willnwhite thanks for posting.


Update hidefield.js

fixed $ is not a function error on Django 4.2
https://stackoverflow.com/questions/58087470/django-jquery-is-not-a-function-message

@lsmith77 Does that also fix your other issue with tabular inlines here #2? (Sorry if this may sound like a dumb question, but I have not looked the code of this package for years :sweat:)

@lsmith77 Does that also fix your other issue with tabular inlines here #2? (Sorry if this may sound like a dumb question, but I have not looked at the code of this package for years 😓)

no it does not.
note I have moved to grappelli and therefore no longer needed this package. but the PR is still valid and fairly straightforward.

but the PR is still valid and fairly straightforward.

Yeah already figured that, and prolly gonna add & release it. Was just curious about the inline forms, because I remember having similar issues with https://github.com/netzkolchose/django-treewidget, where it got fixed by a similar jquery loading move.
Thx for still fixing issues here :heart:


iOS load issue

Horizontal orientation causes automatic reloads, eventually error.
iOS 17.4.1 (observed on iPhone 12 but not iPhone XR, using same OS).

this is a weird one but will probably be closed by #38


add cluster_name to influxdb sink

Fix #1632.
Add cluster_name tag to Influxdb for both heapster and eventer.
/cc @kubernetes/heapster-maintainers @kotarusv

This change is

/ping @DirectXMan12 @piosz

LGTM :+1:


Shell completion is gone

Be sure to check the existing issues (both open and closed!), and make sure you are running the latest version of Pipenv.
Check the diagnose documentation for common issues before posting! We may close your issue if it is very similar to one of them. Please be considerate, or be on your way.
Make sure to mention your debugging experience if the documented solution failed.
Issue description
The regular shell completion (pipenv --completion) has vanished somehow. The argument just doesn't exist anymore in version 2021.11.9.
Expected result
I expected it to keep working, as I need it and as it's documented as a supported feature. If this is no longer supported, then it should be taken out of the documentation, and ideally there should be a section stating that it has been removed and why.
Actual result
2021-11-14 12:48:01 master brandindex@us2 diogobaeder@diogobaeder-desktop ~
 $ pipenv --version
pipenv, version 2021.11.9
2021-11-14 12:48:05 master brandindex@us2 diogobaeder@diogobaeder-desktop ~
 $ pipenv --completion
Usage: pipenv [OPTIONS] COMMAND [ARGS]...
Try 'pipenv -h' for help.

Error: No such option: --completion Did you mean --python?

 The change was mentioned in the CHANGELOG

I tried that other approach with Bash and it fails badly:
Traceback (most recent call last):
  File "/usr/bin/pipenv", line 33, in <module>
    sys.exit(load_entry_point('pipenv==2021.11.9', 'console_scripts', 'pipenv')())
  File "/usr/lib/python3.9/site-packages/pipenv/vendor/click/core.py", line 1137, in __call__
    return self.main(*args, **kwargs)
  File "/usr/lib/python3.9/site-packages/pipenv/vendor/click/core.py", line 1057, in main
    self._main_shell_completion(extra, prog_name, complete_var)
  File "/usr/lib/python3.9/site-packages/pipenv/vendor/click/core.py", line 1132, in _main_shell_completion
    rv = shell_complete(self, ctx_args, prog_name, complete_var, instruction)
  File "/usr/lib/python3.9/site-packages/pipenv/vendor/click/shell_completion.py", line 45, in shell_complete
    echo(comp.source())
  File "/usr/lib/python3.9/site-packages/pipenv/vendor/click/shell_completion.py", line 324, in source
    self._check_version()
  File "/usr/lib/python3.9/site-packages/pipenv/vendor/click/shell_completion.py", line 319, in _check_version
    raise RuntimeError(
RuntimeError: Couldn't detect Bash version, shell completion is not supported.

@diogobaeder I did a search for that click error and came across this:  https://github.com/pallets/click/issues/1940


New .NET MAUI Blazor Hybrid template

Fixes #32792
Addresses #32692
Addresses #31909
Beth ... This should work ... I think 🤔🤞🍀. It should work IF the new project template exactly matches what we have in the article in terms of namespace suffixes, file locations and file names, code logic, etc. I still haven't created an app from the template (YET) just because I'm working full speed at the moment 🏃♂🏃♂🏃♂ just to get everything covered in time for release tomorrow. I will create a local test app to compare; but if you can tell me about any deltas that exist between the article/sample app and the template, I hope I can work up the changes for this PR and put off creating a local project at the moment.
Here's what this PR is doing to the current coverage ...

Version a new section to describe the .NET MAUI Blazor Web App project template. BTW ... The workload should already be installed if they follow our earlier guidance here to go work the .NET MAUI Blazor Hybrid tutorial first.
Version OUT the coverage on .NET MAUI Blazor Web App sample app and Migrating a .NET MAUI Blazor Hybrid solution so that it only appears for 8.0.
Keep the rest of the article in place for >=9.0.
In the Using interfaces to support different device implementations section, refactor the language to describe the API in a way that should cover both 8.0 folks using it to manually build the app and 9.0 or later folks who are getting it generated from the project template ... as I mentioned, IF all of the naming and code was preserved exactly for the new template.

WRT the command, I included the interactivity and interactivity location options, but you might prefer that I strike them because they're probably the default ...
dotnet new maui-blazor-web -o MauiBlazorWeb -int Server -ai

If you confirm that they are the default, I'll change the text a bit and remove them from that command. I'll tell the reader the defaults in the text next to the command.
I'll retain the option for naming the folder/namespace (-o|--output MauiBlazorWeb).

Internal previews

📄 File
🔗 Preview link

aspnetcore/blazor/hybrid/tutorials/maui-blazor-web-app.md
Build a .NET MAUI Blazor Hybrid app with a Blazor Web App

@BethMassi ... This will be a Texas Two-step operation. First, I'll merge your commits, then I'll see about a commit to deal with the .Maui naming and how the device form factor piece moved to the home page. I'll try to version it; otherwise, it will break the current sample app. Perhaps, I can find time later to make the 8.0 sample app conform to the new template and we can drop the versioning, but I don't think that can be done in the very near-term due to the workload right now.

@BethMassi ... See if my last commit resolves ...

Naming ... drop .Maui from project names for 9.0 or later, and keep it for 8.0.
Form factor and platform ... keep existing DeviceFormFactor component coverage for 8.0, and show the new Home component for 9.0 or later.

... and BTW ... I will open a follow-up issue to make the 8.0 sample app match that. Then, I can go back in here later and nix the versioned content and use the new naming.

Also, there was some kind of build failure on the prior commit. I'll check on that after this builds and see what broke it 💥.

Ok ... I see the problem. I'll fix it.

🎉
Success! See how it looks now with the latest updates.

It's hard to follow the conditional statements :-)

Exactly! ... which is why I've been arguing for Version-by-File for years. They won't implement it (yet anyway), so we're stuck with this versioning for the time being.
Yes, I searched the doc and updated the versioning for the .Maui naming, and I'll give it a final look before merging this.

I'd suggest just updating the .NET 8 sample to match the naming so it's easier.

It will take longer than doing it this way. I'll fix that up on the other issue that I opened. Hopefully, I'll reach that in the RC time frame.

ORF! My power is going MAD here right now.  I'll try to wrap this up between blackouts! 😆

Ok ... we're good. I'll merge now.


WIP Prototype removing rabbit

What and why?
How to test?
Trello

/deploy baileyw

/deploy baileyw


fix: use original json's indentation

[x] Make sure to open an issue as a bug/issue before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
[ ] Ensure the tests and linter pass
[x] Code coverage does not decrease (if any source code was changed)
[ ] Appropriate docs were updated (if necessary)

Fixes #453 🦕
(I don't understand why the tests don't pass on windows)

@Mesteery unfortunately, it looks like some tests are having issues on Windows, likely due to line endings. Any thoughts?

I don't understand why the tests don't pass on Windows.

@Mesteery does @joeldodge79's idea of tracking the indentation at the outset seem reasonable? Still have the cycles to get this over finish line? I under stand it can be a hassle when there are multiple back and forths on design.

idea of tracking the indentation at the outset seem reasonable

Sorry, I forgot to answer. I didn't quite understand this idea.


CVE-2023-27560

One more missing CVE which I was able to catch, not sure how many are not in this repo.
I'm in doubts if symfony's security checker is safe to use with production-ready apps, since looks like everyone migrates to use github's advisories. IMO this repository should be abandoned in favor of https://github.com/advisories/ and so security checker.
Edit: meanwhile I'm migrating to composer audit

IMO this repository should be abandoned in favor of github.com/advisories and so security checker.

All everything should be concentrated in Microsoft's hands. Hell no.

IMO this repository should be abandoned in favor of github.com/advisories and so security checker.

All everything should be concentrated in Microsoft's hands. Hell no.

Agree and it's no joke, but also it's a no joke to see that your app is vulnerable to security issues for almost a week (api-platform case - previous PR)

/cc @soyuka @dunglas @Toflar please add this repo to your security processes ;)

We will, sorry, I totally forgot to open a PR on this repo.
Maybe could we automate this?


Uninstall instructions

What is the correct way to uninstall grit when it was installed via
curl -fsSL https://docs.grit.io/install | bash

?

Just delete the ~/.grit directory and remove references to it from your bashrc/.profile.


silent failure on save due to case of collection "Title" in config.yml

I tested on cms.js v 4.2 and v3.22 in both latest safari and chrome.
Saving always failed (silently).  Looking in console I got:

Appears to be in:
const slugFormatter = (template = "{{slug}}", entryData) => {
  const date = new Date();
  const identifier = entryData.get("title", entryData.get("path"));  <---- NULL
  return template.replace(/\{\{([^\}]+)\}\}/g, (_, field) => {
    switch (field) {
      case "year":
        return date.getFullYear();
      case "month":
        return (`0${ date.getMonth() + 1 }`).slice(-2);
      case "day":
        return (`0${ date.getDate() }`).slice(-2);
      case "slug":
        return slug(identifier.trim(), {lower: true});  <---- EXPLODE HERE
      default:
        return slug(entryData.get(field, "").trim(), {lower: true});
    }
  });

because my config.yml has this
    fields:
      - {label: "Title", name: "Title", widget: "string"}

i.e.  name: Title not name: title
Seems like this could be made more robust or more clear on what failed.
thanks,
n

Hmm that slug config should simply change the slug to lowercase, it's not a validation check. Having a look.

Ah, I see, we're only getting lowercased title in the first place. We'd definitely take a PR for this.

I'd be happy to take a crack at this as a first contribution. There's a couple of ways out - I'd like to go with what's most consistent with team's roadmap.
When the field name is set to "Title" as in the steps to repro, the call to entryData.get("title", ...) fails through to the second argument (notSetValue), which is another .get(). Next, the value keyed to "path" in the entryData map is never being set (at least, not when using the test-repo backend). So this fails too, this time with no notSetValue. I'm not sure if the value keyed to "path" is ever set when using the github backend.
Wiring up the entryData Map  to be case-insensitive is probably to be avoided.
A quick fix would be to provide a notSetValue for the second .get() so that in the worst case some identifier (e.g. UUID) is generated and constructing the slug goes ahead without notifying the user. But I don't think nesting .get() like this is good -- notSetValues should not be dynamically set.
Better would be to put the identifier assignment into the case: "slug" block, since it's only used there, and then throw an exception if a valid identifier can't be found.
It could also be addressed in by writing a new validation rule for config.yml, by checking that there is a "title" field in the collection spec if the slug template includes {{slug}} or is unset.

Honestly, since we're just trying to allow title to be uppercase, we're probably best off adding a case for that when assigning identifier.


Fix Non-Testing Test

If you look closely at this unit test and its supporting mock_get_tool function, you'll see that the else: clause (returning "some-annotator") is getting called for every tool dependency.

@cascadianblue The comment of the function highlighted refers to get_tool_dependencies but the mock is about get_tool. Is that the desired behavior?

@cascadianblue Should this issue be solved before release version 1.1.0?

@tschaffter it is not urgent. It is just that the mock function is not performing like an actual API call. Not even sure if it is worth testing, and the actual tool is behaving in the correct/desired way as I have observed in real life.


Allow specifing interpolation points in interp command

At present pgkyl chooses the interpolation points in a cell based on polyOrder. However, it would be useful to allow the user to specific the interpolation points in the reference hypercube [-1,1]^d. This would allow plotting points at user controlled locations, making some sorts of tests and plots much easier to do.

Looks like a duplicate of #7


getMockedNgDefOf should be a generic, not any.

v13.1.1 has been released and contains a fix for the issue. Feel free to reopen the issue or to submit a new one if you meet any problems.


Simple changes to article module

add size max fitting sql requirements for the article's name
-typo in messages
-wrong icon on article page
-add style, htmlview, insert link and insert image base64 to article content editor

Coverage decreased (-0.02%) to 58.708% when pulling 55a8ab6a902e90f7681dec3f22bb7824674a38be on esou:master into 6c586ca0362b931cbb0e030cdb36171f7776260c on blossom-project:master.


False-positive LOCAL_VARIABLE_EARLY_DECLARATION

Describe the bug
    fun `method name incorrect, part 4`() {
        val code = """
                  class TestPackageName {
                    fun methODTREE(): String {
                    }
                  }
                """.trimIndent()
        lintMethod(code, LintError(2, 7, ruleId, "${FUNCTION_NAME_INCORRECT_CASE.warnText()} methODTREE", true))
    }

Expected behavior
Variable code is declared right before it's first used, so there should be no warning.
Observed behavior
Warn (2:2) [LOCAL_VARIABLE_EARLY_DECLARATION] local variables should be declared close to the line where they are first used: <code> is declared on line <2> and is used for the first time on line <8>

Environment information

diktat version: 0.1.3

Seems like this bug is not reproducable.


Ubuntu 18.04 with PHP 7.1

Hi, I've built this image by copying the existing 1804 dockerfile, and modifying the apt-get install to the respective packages. It seems to be working, but I'm very aware that I might have missed important details.
I think installing it via metapackages might also be an option, but I wanted to remain as close to the approach used as possible.
I'm thankful for any feedback, even if it means the code won't be merged, so I'll know I would need to make a permanent fork :)
Note: The tests will be failing, as 1804 and 1604 are getting different versions as referenced in #105.
The test for my image alone was passed.

Thanks for your contribution @freakpants, #123 fixed this. The issue you were seeing was to do with updating the expected test files as part of the PR. I will be closing this PR for now, but please feel free to contribute again :)
Thanks,
Matt


CI pipeline and badge

As usually you need to add this repo to your list in SparrowCI account and run at least one build so that the  badge becomes green

As usually you need to add this repo to your list in SparrowCI account and run at least one build so that the badge becomes green

I added it, clicked "rebuild" and a got a message "queued to build" or something, but it doesn't show on "My builds"

Yeah , it takes some time for a build being scheduled and executed


Create a documentation about how to rebuild the mapping database from json

Create a confluence page with instructions.

Documentation created at: https://www.ebi.ac.uk/seqdb/confluence/display/MouseInformatics/Rebuilding+the+mapping+database+from+the+mapping+file


helm: Allow the use of existing policy configMap

What type of PR is this?
/kind feature
What this PR does / why we need it:
Enables the use of an existing policy configMap. This can be useful in complex scenarios where the policy file needs to be constructed via other means (e.g. An existing gitOps/IaC setup)
Which issue(s) this PR fixes:
NONE
Special notes for your reviewer:
Default behaviour is kept as-is, change only takes effect when  existingPolicyConfigMap is set to true.
Does this PR introduce a user-facing change?
See above
Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:
This PR also modifies the README file

/retest-required

/lgtm

/retitle helm: Allow the use of existing policy configMap
/lgtm
Thank you for your contribution @agmimidi

/approve


Update based on voxpupuli/modulesync_config

Please merge.

hi, please take a look at the rspec errors

I am already working on it. ;)

@bastelfreak Done


-Wclass-memaccess warnings compiling with GCC 8

Godot version:
Master (4b6e7b5)
OS/device including version:
Linux, GCC 8.
Issue description:
Those two warnings are raised when compiling with scons p=x11 dev=yes (tools=yes target=debug):
In file included from ./core/dvector.h:34,
                 from ./core/variant.h:41,
                 from ./core/method_ptrcall.h:36,
                 from ./core/method_bind.h:35,
                 from ./core/class_db.h:34,
                 from ./core/resource.h:34,
                 from ./core/io/resource_loader.h:34,
                 from modules/pvr/texture_loader_pvr.h:34,
                 from modules/pvr/texture_loader_pvr.cpp:31:
modules/pvr/texture_loader_pvr.cpp: In function 'void _compress_pvrtc4(Image*)':
./core/os/copymem.h:44:56: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of non-trivially copyable type 'class Javelin::ColorRgba<unsigned char>'; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
 #define copymem(to, from, count) memcpy(to, from, count)
                                                        ^
modules/pvr/texture_loader_pvr.cpp:218:4: note: in expansion of macro 'copymem'
    copymem(bm.GetData(), &r[ofs], size);
    ^~~~~~~
In file included from thirdparty/pvrtccompressor/PvrTcEncoder.h:4,
                 from modules/pvr/texture_loader_pvr.cpp:32:
thirdparty/pvrtccompressor/ColorRgba.h:81:7: note: 'class Javelin::ColorRgba<unsigned char>' declared here
 class ColorRgba : public ColorRgb<T> {
       ^~~~~~~~~

In file included from ./core/dvector.h:34,
                 from ./core/image.h:35,
                 from ./servers/visual_server.h:34,
                 from ./servers/visual/rasterizer.h:35,
                 from servers/visual/visual_server_scene.h:34,
                 from servers/visual/visual_server_scene.cpp:31:
servers/visual/visual_server_scene.cpp: In member function 'void VisualServerScene::_update_instance_lightmap_captures(VisualServerScene::Instance*)':
./core/os/copymem.h:45:47: warning: 'void* memset(void*, int, size_t)' clearing an object of non-trivial type 'struct Color'; use assignment or value-initialization instead [-Wclass-memaccess]
 #define zeromem(to, count) memset(to, 0, count)
                                               ^
servers/visual/visual_server_scene.cpp:1243:2: note: in expansion of macro 'zeromem'
  zeromem(p_instance->lightmap_capture_data.ptrw(), 12 * sizeof(Color));
  ^~~~~~~
In file included from ./core/image.h:34,
                 from ./servers/visual_server.h:34,
                 from ./servers/visual/rasterizer.h:35,
                 from servers/visual/visual_server_scene.h:34,
                 from servers/visual/visual_server_scene.cpp:31:
./core/color.h:39:8: note: 'struct Color' declared here
 struct Color {
        ^~~~~

Input from @reduz:
11:24 <reduz> first one no idea, second one seems maybe clearing manually may be better (or not using color)

Same on MinGW (gcc 8.2.0) with addition of few extra warnings:
drivers/rtaudio/audio_driver_rtaudio.cpp: In member function 'virtual Error AudioDriverRtAudio::init()':
drivers/rtaudio/audio_driver_rtaudio.cpp:132:12: warning: catching polymorphic type 'class RtAudioError' by value [-Wcatch-value=]
   } catch (RtAudioError) {
            ^~~~~~~~~~~~

drivers/wasapi/audio_driver_wasapi.cpp: In member function 'virtual ULONG CMMNotificationClient::Release()':
drivers/wasapi/audio_driver_wasapi.cpp:93:11: warning: deleting object of polymorphic class type 'CMMNotificationClient' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
    delete this;
           ^~~~


tilestache-server seems to fail proxying https tile providers

I noticed that starting tilestache-server fails, if it's given an https url as tile provider like so:
tilestache2.cfg (failing):
{
  "cache":  {"name": "Test"},
  "layers":
  {
    "roads":
    {
        "provider": {
          "name": "proxy",
          "url": "https://tile.openstreetmap.org/{Z}/{X}/{Y}.png"
        }
    }
  }
}

/usr/lib/python2.7/dist-packages/mapnik2/__init__.py:27: DeprecationWarning:  mapnik2 module has been deprecated,
        please use 'import mapnik'
  warnings.warn(msg, DeprecationWarning)
Traceback (most recent call last):
  File "./scripts/tilestache-server.py", line 56, in <module>
    app = TileStache.WSGITileServer(config=options.file, autoreload=True)
  File "/usr/lib/python2.7/dist-packages/TileStache/__init__.py", line 375, in __init__
    raise Core.KnownUnknown("Error loading Tilestache config file:\n%s" % str(e))
TileStache.Core.KnownUnknown: Error loading Tilestache config file:
'NoneType' object has no attribute 'group'

but changing the protocol to "http" -> it works:
./scripts/tilestache-server.py -i <IP_ADDRESS> -p 8080  -c ~/tilestache2.cfg
/usr/lib/python2.7/dist-packages/mapnik2/__init__.py:27: DeprecationWarning:  mapnik2 module has been deprecated,
        please use 'import mapnik'
  warnings.warn(msg, DeprecationWarning)
 * Running on http://<IP_ADDRESS>:8080/

Version: latest repo checkout of 19.11.2018 (1ecbb8fa3a78028593bfc531c6ef9f69d6a2b5fc)
Python: 2.7.9 (debian 8)

Actually I suspect this to come from modestmaps: https://github.com/stamen/modestmaps-py/search?q=group&unscoped_q=group

Okay, so actually this is due to exactly the following line not featuring https matching in modestmaps-py as of version 1.3.1-1 in debian 8:
            match = re.match(r'^(http://\S+?)(,http://\S+)?$', template)
In debian jessie's 1.4.7-1, this seems to be fixed (just lookin at the regex)


Design System > Components > Password Setting > Default > Display required & validation message at time.

Describe the bug
Display required & validation message at time.
Steps to reproduce bug

Go to 'https://stage-react.raaghu.ai/'
Navigate to 'Design System > Components > Password Setting > Default'

Actual result-
Display required & validation message at time.
Screenshots

Expected result-
Display one message at time.
Desktop (please complete the following information):
-OS: [Windows 10 Enterprise]
-Browser [ edge]
-Version [ 125.0.2535.92]

Fixed on stage


Flutter Crash  Report Cant Create App

https://github.com/flutter/flutter/issues/34543#issuecomment-541353781
flutter_01.log

These Folder only Created

According to your linked comment you have local changes to your flutter checkout; you seem to have modified your checkout to be in a bad state. We can't support configurations where you have modified the flutter tool.
The specific crash here indicates that your create.dart and supporting code it's older than the templates.
You need to stash or revert your changes and update again.


MicaController responds incorrectly to IsInputActive and Theme changes

Describe the bug
If both SystemBackdropConfiguration.IsInputActive and SystemBackdropConfiguration.Theme gets changed after MicaController construction, MicaController will use the colors from the previous theme.
For example, if IsInputActive and Theme are true and Dark initially, setting IsInputActive to false and Theme to Light would cause a dark background to show up, instead of a light background as expected.
Steps to reproduce the bug
Change the IsInputActive and Theme properties of the SystemBackdropConfiguration used by MicaController and observe the incorrect colors being used.
Expected behavior
The correct colors should be used.
Screenshots
No response
NuGet package version
1.2.220930.4-preview2
Packaging type
Packaged (MSIX)
Windows version
Insider Build (xxxxx)
IDE
Visual Studio 2022-preview
Additional context
This is a regression from 1.2 Preview 1.

Thanks for filing, tracked internally with https://task.ms/41782869

This is fixed in the stable release of 1.2


Use majek's fluxcapacitor to mock time in unittest

So we can be less susceptible to clock drift and scheduler irregularities in the host in our time-sensitive tests, this causes the test to randomly fail about 10-20% of time, especially during peak travis hours.
Github Repo to depend on:
https://github.com/majek/fluxcapacitor#fluxcapacitor

ping me if I can help