Fix VirtualizedList multiple selection example shifting focus

Description
Changes VirtualizedList implementation so that focus remains on most recent pressed cell in the virtualized list.
Why
Resolves #366
What
Set refs for each of the cells, and use the useEffect hook and state variable to track most recent pressed item, and set focus to it.
Screenshots
Focus after pressing item 46:
Before:
https://microsoft-my.sharepoint-df.com/:v:/p/yajurgrover/ETCmQTj-MldLuW8jG_IWEtsBNEn0Xl4qRLeBVLXKvTsp3g?e=BuwCK7&nav=eyJyZWZlcnJhbEluZm8iOnsicmVmZXJyYWxBcHAiOiJTdHJlYW1XZWJBcHAiLCJyZWZlcnJhbFZpZXciOiJTaGFyZURpYWxvZy1MaW5rIiwicmVmZXJyYWxBcHBQbGF0Zm9ybSI6IldlYiIsInJlZmVycmFsTW9kZSI6InZpZXcifX0%3D
After:
https://microsoft-my.sharepoint-df.com/:v:/p/yajurgrover/ET0tSECuWtZHuBjpJir0gFYBh4swEBiJmbssF1q_3I_Znw?e=nZ8Cz5&nav=eyJyZWZlcnJhbEluZm8iOnsicmVmZXJyYWxBcHAiOiJTdHJlYW1XZWJBcHAiLCJyZWZlcnJhbFZpZXciOiJTaGFyZURpYWxvZy1MaW5rIiwicmVmZXJyYWxBcHBQbGF0Zm9ybSI6IldlYiIsInJlZmVycmFsTW9kZSI6InZpZXcifX0%3D

/azp run

Can you include a video of the before/after of the behavior here? An image doesn't quite capture it.
Do we understand why focus was going to the Picker in the first place?
How does this solution scale? I wouldn't expect a developer using VirtualList to have to juggle refs to keep keyboard focus stable.

Looks like the root cause of the issue may be addressed in this PR: https://github.com/microsoft/react-native-gallery/pull/401

Closing as issue resolved in #401.


Take a break command

Activate to periodically ping user to take a break.
Could someone clarify in a comment below how this is going to work?

The bot would periodically (every 1 or 2 hours) send a message to the users reminding them to take a break from discord.


Babel Reference error

Getting this error in the Gulp console:
[ReferenceError: [BABEL] C:\Apps\workspace\betty.acdb.ui\node_modules\react-bootstrap-datetimepicker\lib\DateTimeField.js: Unknown option: C:\Apps\workspace\betty.acdb.ui\node_modules\react-bootstrap-datetimepicker.babelrc.optional while parsing file: C:\Apps\workspace\betty.acdb.ui\node_modules\react-bootstrap-datetimepicker\lib\DateTimeField.js
This is the content inside babel.rc
{
"optional": ["runtime"],
"stage": 0
}
When I deleted the config inside babel.rc, it works fine.

+1, I have the same problem

This happens probably because you don't exclude the node modules from the babel loader. Take a look of the exclude property when using a loader

I'm using browserify, can you suggest how to fix this ??

I have the same problem~ @maxcc0  Have you solved?  I deleted the configuration of  babel.rc in "react-bootstrap-datetimepicker"

Hi @CareyToboo,
I have fixed the issue after changing of browserify config. As I remember, it was related on entries or external packages. Currently I'm not in office, and not available to show worked example.
Try to check browserify task from this file.
https://github.com/MichaelKostin/home-camera/blob/master/front/gulpfile.js

@xabikos I am using this module in common-component and include common-component like node_modules dependency. then I can't exclude node_modules, So How to fix any idea.


Creating a Vector of Mats

I was trying to use the opencv stitcher, but I'm having issues creating a Vector of Mats. My attempt to do so is as follows:
	let images = opencv::core::Vector::<Mat>::from_slice(&[Mat::copy(&gradient_normalized).unwrap(), Mat::copy(&gh2).unwrap(), Mat::copy(&gv2).unwrap()]);

However, I'm getting the following error:
894 |     let images = opencv::core::Vector::<Mat>::from_slice(&[Mat::copy(&gradient_normalized).unwrap(), Mat::copy(&gh2).unwrap(), Mat::copy(...
    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `VectorExternCopyNonBool<opencv::prelude::Mat>` is not implemented for `Vector<opencv::prelude::Mat>`

Would anyone be able to assist? Thanks.

from_slice() will not work here because Vector needs to take ownership of the Mat, but slice will not give it up, it will only work with Copy types. You should instead just call push() for every Mat that you want to add.

Ok, thank you.
And thank you for all the quick responses - I've been having to port some code in a very short amount of time so it's been very helpful.


Update sharepoint-pnp-cmdlets.md

Fixing wrong link and updating the intro text for PnP PowerShell

@JohanFreelancer9

@get-itips

@yogkumgit Vesa is part of the PnP community, this is ok to review/merge

@tiburd Please merge this PR. Thanks

Docs Build status updates of commit 3ed1557:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sharepoint/docs-conceptual/sharepoint-pnp/sharepoint-pnp-cmdlets.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Nested optional property existence check via Boolean() cause false possibly undefined error

TypeScript Version:  2.0.3
Code
Nested optional property existence check via !! vs. Boolean()
// strictNullChecks: true

interface Address {
  country: string;
}

interface Student {
  address?: Address;
}

const student: Student = {
  address: {
    country: 'US',
  }
};

// this one works just fine, no error reported
const b1: boolean = student && !!student.address && student.address.country === 'US';

// this one reports an error for the second student.address: Object is possibly 'undefined'
// whereas !!something should be the same as Boolean(something)
const b2: boolean = student && Boolean(student.address) && student.address.country === 'US';

Expected behavior:
"Object is possibly 'undefined' error" should not be reported when accessing student.address after the existence of address on student is verified.
Actual behavior:
"Object is possibly 'undefined' error" is reported when student.address is accessed the second time after its existence is already verified.

Related to/dupe of #9508 (in the sense of expanding guards that are recognised by CFA)


[6.x] Fix notifications database channel for anonymous notifiables

This PR prevents on-demand notifications from using the database channel by throwing an informative exception when anyone tries it. At the moment you'd receive a fatal error when trying to resolve the routed notification.
It also will skip sending to the database channel of a notification if the notifiable is anonymous.
Fixes https://github.com/laravel/framework/issues/33408

Hi, I ask you information only to clarify how works on-demand notification because from documentation it does not seem clear to me.
If the via array of the notification is populated with multiple channels (ex. ['slack', 'mail']) using on-demand notification (ex Notification::route('mail', 'taylor@example.com')) is the notification sent only for the requested route channel (in the example email) or through all channels returned by notification via method ?
Thank you very much!

is the notification sent only for the requested route channel

@illambo yes. I think the example in the docs makes this clear enough because it's listing multiple routes for different channels. If you feel anything should be clarified feel free to attempt a pr to the docs.

Hi, yes the docs seems clear but in the issue #33408 when I set via method to mail and database and try with on-demand notification only for mail the notification was attempted to ship on both channels and not only for mail,
So it seems not to respect "sent only for the requested route channel".
What do you think about it ?

@illambo that's exactly what this pr solves.

Ok, sorry!

@driesvints This is actually breaking our code
Notification::route('database', $user->notifications())
    ->notifyNow(new CardActivationReminder($user, $card);

I now get the The database channel does not support on-demand notifications error back. It obviously happens for anonymous notifications like this as well
Notification::route('messagebird', (string) $phoneNumber)
    ->route('database', auth()->user()->notifications())
    ->notifyNow($notification);

What is the correct approach to also store a notification in the database for this? We use the database notifications to display all send notifications to a user in Nova.
As I understand it, it's not possible to create a database notification anymore for anonymous users. However, this code doesn't create one for an anonymous user, right?
Notification::route('database', auth()->user()->notifications())
    ->notifyNow($notification);

We are allowed to send in the query builder object that points to the current user.
I think we need a fix for this. What do you think?

Hey @bobbybouwmann. That's odd. I'm wondering why you're using it like that? Seems to me you need:
$user->notifyNow(new CardActivationReminder($user, $card);

The database channel for anonymous notifiables makes no sense since we can't store any record in the database (because we have no context of who the notifiable is (no morph column values).
You posted:
Notification::route('database', $user->notifications())
    ->notifyNow(new CardActivationReminder($user, $card);

But that has no user context when sending the notification. So I'm wondering: does the CardActivationReminder class itself send the notification?

Just to clarify the above. The problem was that a conditional check needed to be made in the via method:
    public function via($notifiable): array
    {
        if ($notifiable->email) {
            return ['email', 'database'];
        }

        return ['database'];
    }

Thanks @driesvints for debugging this together and come up with a solution. We will work on a refactor for it in our code base 👍


[UI] Style edits to sideshift UI

Related to #

Description
Some general UI updates to the sideshift integration
Test plan

Okay added most of those. What were you referring to in point 4? The amount input?
As far as why there is another amount screen, That should only be visible when the altpaymentEditable attribute is set to true, otherwise it should just show the amount

Yeah sorry - I was talking about the amount input.

hmm yeah not sure whats happening there, I can look at the amount input


Dynamic contextmenu with AJAX

Hello,
I want to construct a different contextmenu for each node.
The entries of the contextmenu are retrieved with an AJAX call.
I currently do this:
$("#mytree").jstree({
    ...
    plugins: [
        "contextmenu"
    ],
    contextmenu: {
        items: function (node) {
            var entries= {};

            // Make the AJAX call to get the entries
            $.ajax({
                url: "....",
                async: false, // VERY BAD
                data: node.id,
                success: function () {
                    // Construct the entries
                    ...
                }
            });

            return entries;
        }
    }
});

However I have to make a non-async call to wait the entries variable to be filled but non-async calls are deprecated.
Is there a solution ?

As stated in the docs - the second param the items function accepts (besides node) is a callback function to invoke once the contextmenu is ready:
https://www.jstree.com/api/#/?q=items&f=$.jstree.defaults.contextmenu.items

I didn't see it, thank you very much it works !
If someone else is interested, here the solution in details:
items: function (node, buildContextMenu) {
    var entries= {};

    $.ajax({
        url: "....",
        data: node.id,
        success: function () {
            // Construct the entries
            ...

            buildContextMenu(entries); // <--- SOLUTION
         }
    });
}


TbHtml::buttonGroup() with radio inputs

I think the radio input name must not contain "[]"

Could you please point out the potential issue?

Radio button must pass a single value, not an array
line 3359 / TbHtml

Can you create PR with a fix for the issue that passes the unit tests? Thank you in advance.

I'm closing this issue due to inactivity.


ModuleNotFoundError: No module named 'huggingface_hub.inference._types'

Describe the bug
ModuleNotFoundError: No module named 'huggingface_hub.inference._types'
Reproduction
from llama_index.llms.huggingface import HuggingFaceLLM
Logs
python chatgpt-rag-test.py
Traceback (most recent call last):
  File "/mnt/d/Dropbox/Developer-Tools/RAG_Techniques/chatgpt-rag-test.py", line 3, in <module>
    from llama_index.llms.huggingface import HuggingFaceLLM
  File "/home/silvacarl/.local/lib/python3.10/site-packages/llama_index/llms/huggingface/__init__.py", line 1, in <module>
    from llama_index.llms.huggingface.base import (
  File "/home/silvacarl/.local/lib/python3.10/site-packages/llama_index/llms/huggingface/base.py", line 8, in <module>
    from huggingface_hub.inference._types import ConversationalOutput
ModuleNotFoundError: No module named 'huggingface_hub.inference._types'

System info
Name: huggingface-hub
Version: 0.27.0
Summary: Client library to download and publish models, datasets and other repos on the huggingface.co hub
Home-page: https://github.com/huggingface/huggingface_hub
Author: Hugging Face, Inc.
Author-email<EMAIL_ADDRESS>License: Apache
Location: /home/silvacarl/.local/lib/python3.10/site-packages
Requires: filelock, fsspec, packaging, pyyaml, requests, tqdm, typing-extensions
Required-by: accelerate, cached_path, ctransformers, datasets, diffusers, evaluate, faster-whisper, gradio, gradio_client, langchain-huggingface, lightning-whisper-mlx, llama-index-llms-huggingface, llama-index-llms-huggingface-api, llama_toolchain, modelscope, moshi, optimum, outetts, peft, pyannote.audio, sentence-transformers, skops, speechbrain, text-generation, text-generation-server, timm, tokenizers, transformers, vocos

Hi @silvacarl2, the issue you're encountering occurs because ConversationalOutput was removed from huggingface_hub in version 0.25.0, and you're running version 0.27.0. However, llama-index requires a version that is >=0.23.0 and <0.24.0 (see here), so downgrading huggingface_hub to an earlier version should fix your issue.
To resolve this, you can try downgrading huggingface_hub :
pip install "huggingface-hub>=0.23.0,<0.24.0"

or create a new virtual environment and run:
pip install llama-index-integrations/llms/llama-index-llms-huggingface

I'm closing this issue but feel free to comment if you have any other related question 🤗


Broken link to FAQ

Example: At the bottom of https://manpages.debian.org/stretch/dash/sh.1.en.html, the FAQ link points to https://manpages.debian.org/stretch/dash/faq.html, which then says "Manpage not found".

Thanks for the report!
@anarcat Since you introduced this, would you like to fix the link (just needs a preceding slash, I think) and trigger a full re-render please?

sure, will do now.

job started should be completed in a few hours (and propagated in a day or two?). i notice the 404 doesn't have the FAQ links though... is that normal?

the rendering crashed, not sure what happened there, and not much time to diagnose further this week:
2017/06/26 13:38:00 getcontents.go:85: getting "experimental/contrib/Contents-ppc64el.gz" (hash dd6c962d4adb01d3239be70adcb19acc38ada4506476e437cef0e874d938894f)
panic: runtime error: index out of range

goroutine 1 [running]:
main.getContents(0xc420398000, 0xc42f4cc027, 0xc, 0x9391f6, 0x7, 0xc43c256c40, 0xe, 0xe, 0xc4251c7aa0, 0x0, ...)
        /home/michael/go/src/github.com/Debian/debiman/cmd/debiman/getcontents.go:145 +0x13b1
main.getAllContents(0xc420398000, 0xc42f4cc027, 0xc, 0xc4201c46e0, 0xc4251c7aa0, 0x0, 0x0, 0x0, 0xf, 0xc439285bc0)
        /home/michael/go/src/github.com/Debian/debiman/cmd/debiman/getcontents.go:195 +0x245
main.buildGlobalView(0xc420398000, 0xc42039a000, 0x7, 0x7, 0x7fff95f5a76c, 0x2a, 0xbe4c6107dddb83d3, 0x1440c89a, 0xcb88a0, 0x0, ...)
        /home/michael/go/src/github.com/Debian/debiman/cmd/debiman/globalview.go:229 +0x3d0
main.logic(0x7fff00000030, 0x988ef8)
        /home/michael/go/src/github.com/Debian/debiman/cmd/debiman/main.go:86 +0x20b
main.main()
        /home/michael/go/src/github.com/Debian/debiman/cmd/debiman/main.go:177 +0x11b

Will have a look at the panic later today.
The 404 pages should be updated once the assets repository is pulled and debiman-auxserver is restarted on both manziarly and cgi-grnet-01

prod i'm a bit worried the interrupted run left things inconsistent... is that a problem?

Files are updated atomically, so there shouldn’t be any detrimental effects from crashes.

I can reproduce this issue locally. Having a closer look now.

Pushed a fix. Full re-render running now.


Failed getting oauth client

root@leightont:~# gdrive list
Authentication needed
Go to the following url in your browser:
https://accounts.google.com/o/oauth2/auth?access_type=offline&client_id=367116221053-7n0**removed for privacy**pps.googleusercontent.com&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&response_type=code&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive&state=state
Enter verification code: 4/MlOlRt84yH56removed for privacyr8tfeLptvqdU
Failed getting oauth client: Failed to exchange auth code for token: Post https://accounts.google.com/o/oauth2/token: x509: failed to load system roots and no roots provided

You are missing CA certificates in your system. Install them using following command:
apt-get install ca-certificates

Thank you, I am really struggling with this minimal install ;)

I'm facing the same issue, and I have 'ca-certificates' installed.
Any other ideas?

@diman82 Is your ca-certificates.crt installed/located in /etc/ssl/certs? Perhaps the https handler looks for ca-certificates.crt only in this folder.

Upload a file to my Google Drive via CLI, it works well but when doing it via crontab, I get this error:
Failed getting oauth client: Failed to exchange auth code for token: oauth2: cannot fetch token: 400 Bad Request Response: {   "error" : "invalid_request",   "error_description" : "Missing required parameter: code" }
OS: CentOS release 6.8 (Final)
Any ideas what could be wrong and how can it be fixed?
Thanks

Hi all,
I have finally gotten gdrive-linux-386 to work on my old microcore linux server, and got the following message when trying to enter the key
Enter verification code: 4/wlxxxxxxxxxxxx removed for privacy xxxxxxxxxDg4
Failed getting oauth client: Failed to exchange auth code for token: Post https://accounts.google.com/o/oauth2/token: x509: failed to load system roots and no roots provided
A suggestion above says that I need to installer missing CA certificates in my system.
But my distro of linux does not support apt-get, and I could not find any mession of CA certificates in tinycore 3.8.4's repository's.
Can anyone suggest how I would go about setting this up from scratch ?

I ran into the same problem I was able to solve this by authenticating as yourself once you are logged in which creates the token then using a bash script to run the drive command (in my case i was trying to run a crontab and it kept failing but worked in console). update the script to have both your current users PATH and HOME environment variables that seemed to do the trick

How can i install ca-certificates in FreeBSD?


Engine: Misc helpers

Miscellaneous changes I needed for my pet project.

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

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


net/url: stackoverflow in url.URL.String()

What version of Go are you using (go version)?
1.9.1
Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
OSX 10.12
GOARCH="amd64"
GOOS="darwin"

What did you do?
https://play.golang.org/p/cZ-BjpkD6D

This is not a bug.  Your MyUrl.String method simply calls itself.


Added open document by command-line arguments

Implementation for #7
I'm not sure if MainWindowViewModel.cs is the right place to implement this. But the MonoGame content must first be loaded before the texture can be loaded.

Yeah, I mean, maybe there's a better place for this code but what you've done is clean and easy to understand so I think the best approach is to just let it evolve over time.
In other words, great work :)


Validation Loss did not decrease in the HMDB51 notebook?

I trained your HMDB51 notebook in 10 epochs but the validation loss did not decrease? Why did it happened?

Can you provide more information? Maybe a log of the training.
It's probably due to the fact that it converges from the first epoch

I had the same problem.
When I trained Movinet with my own dataset. The training loss decreased but the validation loss increased from the first epoch.
( see the below image )
If I trained Movinet not using pretrained Kinetics with HMDB51 in the notebook sample and my own dataset (i did not save a log of the training), both losses had not decreased.
Can you explain it? Thank you

The notebook functions correctly, also I use the networks daily. It's unlikely these are problem related to part of the code of this repository. If you provide a colab short script that reproduces the problem I will look at it.

I will run your notebook with HMDB51 for 10 epochs and show to you a log of the training. Because I used the same function for my own dataset and got the same problem. I don't think  it converges from the first epoch with many datasets.  When you train Movinet with your dataset, the validation decreases or not?
Thank you

I trained your HMDB51 notebook in 10 epochs but the validation loss did not decrease? Why did it happened?

I want to train the HMDB51 notebook, but there is no define of transforms in line 8. How can you run this HMDB51 notebook successfully?

I trained HMDB51 dataset for 20 epochs with modelA0_stream_statedict_v3, the result is as follows:

@nguyenquibk1996
Hi， did you solve the problem? I met the same problem in my own dataset.  Without pretrained, the evaluation accuracy is as follows:

Did I miss any key points during finetuning or could you give any clues about this?

@nguyenquibk1996 Hi， did you solve the problem? I met the same problem in my own dataset. Then I tried to train hmdb51 without pretrained, the evaluation accuracy is as follows:
Did I miss any key points during finetuning or could you give any clues about this?

I think the dataset is primary cause, and the data processing method(one clip or multiple clips sampled from one video) is second cause. I have train the X3D and SlowFast on the HMDB51 by mmaction2(default config samples one clip from one video), top1 acc is also about 30%, and validation loss can decrease.

Have you tried any other datasets? BTW, I see in mmaction2 there's no training codes of X3D, could you tell me how to get the codes?

I have tried UCF101, the top1 can over 45%. I write the  codes of X3D by myself(of course refer to existing codes )

I have tried UCF101, the top1 can over 45%. I write the codes of X3D by myself(of course refer to existing codes )

I have tried UCF101, the top1 can over 45%. I write the codes of X3D by myself(of course refer to existing codes )

Have you tried any other datasets? BTW, I see in mmaction2 there's no training codes of X3D, could you tell me how to get the codes?

I have tried UCF101, the top1 can over 45%. I write the codes of X3D by myself(of course refer to existing codes )


[Publishing Guidance] Best practices for publishing component suites.

The guidance for publishing single components is excellent, but it would be useful to also include best practices for publishing a suite of components as a single bundle (how the entry point should be set up, etc.) and how to publish just the components in the src folder as root in the package and without all the dev dependencies, etc.
Also, maybe add a demo publish script to package.json, so that the demo folder can be bundled for separate distribution.

When you say "component suite", do you have a rough idea as to the size you'd like this sort of documentation to cover? Managing a set of "sub-elements" that come together to deliver a complete element (e.g. <select>, <option>) is very different than managing a "library of elements (e.g. <input>, <textarea>, <select>, etc). They share some things but differ in others, which is one reason that I've leaned away from forwarding more formal recommendations here.
For my work with https://github.com/adobe/spectrum-web-components we work with a monorepo to support the later idea but definitely work with elements in that monorepo that deliver the "sub-element" pattern. The was one recommendation encapsulates others make recommendations here more awkward. However, we are currently looking at the right way to formalize that "sub-element" pattern as well, and the pattern we're currently discussing building from the single element recommendation features in https://open-wc.org/publishing/ by way of the following:
- demo // as with a single element
- src
  - MyComponentClass.js
  - SubComponentClass1.js
  - SubComponentClass2.js
  - SubComponentClassn.js
- testing // as with a single element
- index.js // exports all of the classes
- my-component.js // registers `my-component`
- sub-component-1.js // registers `sub-component-1`
- sub-component-2.js // registers `sub-component-2`
- sub-component-n.js // registers `sub-component-n`
- // much the rest as with a single element

What are your thoughts on this approach? Would it make sense to begin to structure this into recommendations or does this area leave a little more up to the imagination of the project in a way that might not be worth being so formal about?
I am somewhat interested in adding capabilities to the generators that might allow for this sort of expansion via scripting, rather than manual copy/paste, but there's much to be discussed before spending time prepare that.

I typically structure my projects like this (for internal 'suites'):
- demo // as with a single element
- src
  - shared
    - //anything shared.
  - button
    - MyButton.js
  - checkbox
    - MyCheckBox.js
  - etc.
  package.json (build the npm package from src).
- testing // as with a single element
- // much the rest as with a single element

Basically, a single npm package is published from 'src' and the 'demo' is published as a separate application bundle. Lerna can optionally be used to publish separate npm packages from the mono-repo.


Add a bors-do-not-land label

This label prevents someone from accidentally landing code that is
not fit for production, but is in a draft state or otherwise for
testing or work in process purposes.

Generally we mark the PRs as draft as well. Does bors honor draft PRs? or can it land those as well... 🤔

Generally we mark the PRs as draft as well. Does bors honor draft PRs? or can it land those as well... 🤔

It does honor draft PRs.  Though, I think some people don't realize there are drafts.
Either way works, this was just a quick exercise in seeing what else we can add to bors if we need to.  Now I know how the labels work :)

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


SyntaxError: export 'Html' not found in '@kitajs/html' in the latest version

Prerequisites

[X] I have written a descriptive issue title
[X] I have searched existing issues to ensure the bug has not already been reported

Versions
in your latest version 4.2.0
Description
So right now I use Elysia.js to develop my application, and then I install @elysiajs/html and use it as documentation standard. After I wrote the code, it was supposed to work perfectly, but when I see the console, there is an error like this:
1 | (function (entry, fetcher)
    ^
SyntaxError: export 'Html' not found in '@kitajs/html'

This error appears in the latest version of @kitajs/html only. When I downgraded it to 4.1.0, it worked completely fine.
Steps to Reproduce
import { Elysia } from "elysia";
import { staticPlugin } from "@elysiajs/static";
import { html } from "@elysiajs/html";

const app = new Elysia()
  .use(html())
  .use(
    staticPlugin({
      prefix: "/",
    })
  )
  .get("/", () =>
    Bun.file(
      "/c/Users/Martio Husein Samsu/Documents/Perkuliahan/Semester 7/Workspace/BUN/crud-app/views/home.html"
    )
  )

  .listen(3000);

console.log(
  `🦊 Elysia is running at ${app.server?.hostname}:${app.server?.port}`
);

Expected Behavior
No error

Hi @Sketioo i just released 4.2.1 to fix this issue, can you confirm?

Its worked now, thanks!


Can we specify the computer name manually?

We have a strict requirement to name our computers a certain format and none of this is derived from data available on the machine (its not serial based where we can just look inside the BIOS using WMIC).
Is there a way to prompt for a computer name and use that?

That would be a lot more work.  It's impossible to prompt from a Win32 app, so the prompting would need to be once the user signs in.  But if that saved the name somewhere a script could find it, it could pick it up and process it with a scheduled task.


[b and ]b does not work when I disabled oni.useDefaultConfig

I want the indentation of two spaces, so I disabled oni.useDefaultConfig, but [b and ]b does not work.

@Dcryfm See: https://github.com/onivim/oni/wiki/How-To:-Minimal-Oni-Configuration on how to disable Oni's default config and allow for your own settings, like tabspace.
I use a similar setup and ]b and [b work.


Debugging of .NET Framework Unit Tests in VSCode got broken with vstest.console.exe from VS2017; worked with VS2015

Description
Debugging .NET Framework tests in VSCode natively, i.e. by clicking "Debug Test" link over a test, is broken as described in https://github.com/OmniSharp/omnisharp-roslyn/issues/1332. A workaround for the issue was to execute vstest.console.exe from VS2015 using VSCode's launch configuration. If a breakpoint was set on a test, VSCode will break into the debugger when vstest.console.exe is launched. Unfortunately with vstest.console.exe from VS2017 this workaround doesn't work anymore - the tests do get executed but VSCode doesn't stop at breakpoints anymore.
Steps to reproduce
(on Windows)

Prepare a machine with VS2015 and VS2017 installed, VSCode and C# OmniSharp extension installed (all of the latest versions).
Unzip UT_NET461_VS2015.zip to c:\tests\UT_NET461_VS2015
Open, as Administrator, "Developer Command Prompt for VS 2017"
CorFlags.exe /32BITPREF- /Force "%VSINSTALLDIR%\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe" (this is to work around the same "Only 64-bit processes can be debugged." error as described in https://github.com/OmniSharp/omnisharp-roslyn/issues/1332).
Close the prompt.
Open "Developer Command Prompt for VS 2017" as the regular user; cd /d c:\tests\UT_NET461_VS2015
msbuild /t:rebuild /p:DebugType=portable
code . (launches VSCODE which opens the UT project)
Click on UnitTest1.cs to open it in the text editor
Set breakpoint on line 11 (the first line of TestMethod1)
Press "F5" to launch 'Run Tests' configuration.

Expected behavior
VSCode breaks in to the debugger on line 11 as happens with vstest.console.exe from VS2015.
Actual behavior
Tests are executed by the breakpoint is not hit.
Diagnostic logs
diagnostic_logs.zip
Environment
dotnet --info
.NET Core SDK (reflecting any global.json):
Version:   2.1.403
Commit:    04e15494b6
Runtime Environment:
OS Name:     Windows
OS Version:  10.0.17134
OS Platform: Windows
RID:         win10-x64
Base Path:   C:\Program Files\dotnet\sdk\2.1.403\
Host (useful for support):
Version: 2.1.5
Commit:  290303f510
.NET Core SDKs installed:
2.1.403 [C:\Program Files\dotnet\sdk]
.NET Core runtimes installed:
Microsoft.AspNetCore.All 2.1.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.1.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 2.1.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
To install additional .NET Core runtimes or SDKs:
https://aka.ms/dotnet-download

@dmgonch Any reason as to why is this issue reported in the test platform repo ?

Also based on the info you have provided I don't see the test runner behave incorrectly. It looks like the debugger settings are not getting honored/picked up resulting in the breakpoint being hit. I don't have much context on the internal workings of the debugger. But do let us know if there's anything specific that you need help on with respect to the test platform.

@cltshivash: I chose this repo as the starting point for the issue because the only variable that I'm changing in the repro steps is the version of vstest.console.exe. The issue does repo on a machine with both VS2015 and VS2017 installed and with the same VSCode & OmniSharp.
Regarding the debugger settings not being honored: any idea what could have changed in VS test platform that could have caused the settings not being picked, given all other pieces of the puzzle being the same?
Thanks!

@dmgonch as of TPV2, vstest.console.exe has been moved to Common7\IDE\CommonExtensions\Microsoft\TestPlatform\vstest.console.exe,
For .4 try turning on flag for %VSINSTALLDIR%\Common7\IDE\CommonExtensions\Microsoft\TestPlatform\vstest.console.exe

@karanjitsingh : the file you are referring to doesn't seem to exist with VS2017 install but "%VSINSTALLDIR%\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe" does. Using it though doesn't fix the problem, Please see new logs attached logs1.zip.

@dmgonch, my bad the path is actually "%VSINSTALLDIR%\Common7\IDE\Extensions\TestPlatform

@karanjitsingh : tried this exe as well but fortunately with the same result, i.e. debugger wouldn't attach. I was wondering if you were able to follow the repro steps and get the same result (good with vstest.console.exe from VS2015 and bad from VS2017)

In your launch.json you should remove the argument /Platform:x64 as an argument to vstest.console.exe.
...
            "program": "${env:VSINSTALLDIR}/Common7/IDE/CommonExtensions/Microsoft/TestWindow/vstest.console.exe",
            "args": [
                "${workspaceRoot}/bin/Debug/UT_NET461_VS2015.dll",
            ],
...

What's happening here is that whenever /Platform:x64 or /InIsolation is set, vstest.console.exe starts another another process (testhost.exe) which eventually runs the test. VSCode successfully attaches to vstest.console.exe but since tests are being run in a separate process that VSCode is unaware of hence the breakpoint is never hit.

@karanjitsingh : indeed this worked - thank you very much for the hint!
Sounds like as long one has a choice of targeting AnyCPU platform they can debug their .NET Framework tests in VSCode.
UT_NET461_VS2015-x64.zip contains modified sample UT project that can target x64. To build it run:
msbuild /t:rebuild /p:DebugType=portable /p:Platform=x64 /p:Configuration=Debug
In this case it looks like debugging still is not working, with or without /Platform:x64, I'm presuming for the similar reason you described above.
Do you ideas for how this scenario be enabled as well giving the existing tools?

In that case you will have to manually attach to testhost.exe

Add a .NET attach configuration to your launch.json with type: clr. The environment variable VSTEST_HOST_DEBUG will set debug mode for the testhost process.

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": ".NET Attach",
            "type": "clr",
            "request": "attach",
            "processId": "${command:pickProcess}",
        },
        {
            "name": "Run Tests",
            "type": "clr",
            "request": "launch",
            "program": "${env:VSINSTALLDIR}/Common7/IDE/Extensions/TestPlatform/vstest.console.exe",
            "args": [
                "${workspaceRoot}/bin/x64/Debug/UT_NET461_VS2015.dll",
            ],
            "cwd": "${workspaceRoot}",
            "stopAtEntry": false,
            "console": "internalConsole",
            "justMyCode": false,
            "logging": {
                "programOutput": true,
                "exceptions": false,
                "moduleLoad": false,
                "engineLogging": false
            },
            "env":{
                "VSTEST_HOST_DEBUG": "1"
            }
        },
    ]
}

Run the Run Tests configuration and you should get something like this:

Attach to the testhost process using .NET Attach, the debugger will attach in paused state, continue the execution for your code to hit.

Note: If you're running multiple dlls in parallel vstest.console.exe will start multiple testhost processes in parallel with all of them waiting for a debugger to attach.

This works as well - I truly appreciate all your help folks! I believe you can close the issue now. Thanks!


m1014, Supernova

These guns are not really broken from what I've seen, and it would be a nice addition.

Actually not bad

Nevermind github moment

I've tested it ingame and it works as expected.

Thanks, will be a nice addition!


ALL_TABLES grant option

Issue Summary
While lakecli is a great tool to view and manage permissions for your lakeformation resources, i think it is missing the ALL_TABLES grant option. For instance, if there are say 500 tables within a database, is it possible to GRANT select on ALL TABLES in database to a principal instead of granting each table at a time?

boto3 or AWS Lakeformation API does not have the functionality to grant permissions to all tables. The closes is batch_grant_permissions or batch_revoke_permissions. However, these API take a maximum of 20 entries.
The nice part of lakecli is that it can be part of script - bash or python and you can automate granting permissions to a larger set. Happy to discuss if you want to try writing such a script.

Hi Rajat,
Thank you for your response.
Per boto3 documentation, batch_grant_permissions it can take a list of up to 20 entries.  However, granting permissions to ALL TABLES within a Database can be performed by using "TableWildcard" option.
TableWildcard (dict) --
A wildcard object representing every table under a database.

batch_grant_permissions
Alternatively, this works via the CLI as well:
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=<ARN_OF_THE_IAM_PRINCIPAL>  --permissions "SELECT" --resource '{"Table": {"DatabaseName": "<DBNAME>", "TableWildCard": {} } }'

The above command grants SELECT access to ALL TABLES within the  to the IAM principal.
Wonder if this feature could be added to lakecli, that would make it way easier to work with databases containing large number of tables.
Happy to discuss further.
Thank you once again!

Thanks for pointing this out. This is a valid feature request and it should be possible to support. I'll add it to the queue. Happy to also accept contributions :)

Hey @vrajat any idea when this enhancement request is being planned? Happy to pair with you on this.

Hi,
I havent had a chance to work on this feature. Most of my time is spent on tokern/data-lineage. However, I am happy to collaborate, work together to design and accept any contributions.
This will also motivate me to support other feature requests like #17 by integrating tokern/dbcat to pull more info from AWS glue.
Will you be able contribute code for this feature?


Integrate spee.ch link sharing from LBRY app content/channels

The Issue
As a LBRY app user and creator, I may want to share a web URL to the content I'm viewing or sharing so that others without the LBRY app can view it.  This would be in the form of a button/link on claim and channel pages.
If we are using spee.ch to do this, it would only apply to image and video file types. If we use create a separate view only site (https://github.com/lbryio/internal-issues/issues/100), more file types might be possible.
System Configuration

LBRY Daemon version:
LBRY App version:
LBRY Installation ID:
Operating system:

Anything Else

Screenshots

Added in #1222


PersonifyInc.ChromaCam version <IP_ADDRESS>

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

[x] Does your manifest conform to the 1.0 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow
Resolves #25907

Would it be possible to have a manual review of this package instead of the pipeline review as it will continue to fail since I do not believe Azure build boxes have the AVX instruction set unless running on the compute-optimized machines (Fsv2-Series)?

Community Moderators can only approve the PR if there's an Azure-Pipeline-Passed label or Validation-Completed so manual review isn't an option.


Fix Range#size results

Actual
$ mirb
mirb - Embeddable Interactive Ruby Shell

> (1.0..15.9).size
 => 16
> (0..Float::INFINITY).size
 => -2147483648

Expect
$ irb
irb(main):001:0> (1.0..15.9).size
=> 15
irb(main):002:0> (0..Float::INFINITY).size
=> Infinity

This fix passed all specs of that https://github.com/ruby/spec/blob/66daf290cb49707190481b4cf24e700010cd53bf/core/range/size_spec.rb

mrb_float would be better, although I saw a lot of doubles in old code.

Thank you, I fixed it!


[json-formatter] Cannot create a string longer than 0x1fffffe8 characters

Describe the bug
Convert message to Json error when string too big.
Cannot create a string longer than 0x1fffffe8 characters

To Reproduce
Steps to reproduce the behavior:

I have cucumber-report.ndjson after run test. file size > 512MB
Run cat report/message/cucumber-report.ndjson | cucumber-json-formatter --format ndjson > report/json/cucumber-report.json
See errorCannot create a string longer than 0x1fffffe8 characters

Expected behavior
Convert message to json is OK.
Your Environment

cucumber-js [v7.3.1]
cucumber-json-formatter/v7.0.1

Which cucumber are you using to generate your report? cucumber-js? cucumber-ruby? cucumber-jvm? Something else?
Could try to generate the json report with your cucumber in addition of the ndjson one? If so, does it work?
For information: we have decided to not deprecate the legacy json reporter anymore, but keeping it in maintenance mode: thus it won't be removed from the cucumber implementations, but it won't be enhanced anymore.

Which cucumber are you using to generate your report? cucumber-js? cucumber-ruby? cucumber-jvm? Something else?

He said cucumber-js 7.3.1
@nploi have you considered using the built-in json formatter directly?

Which cucumber are you using to generate your report? cucumber-js? cucumber-ruby? cucumber-jvm? Something else?

He said cucumber-js 7.3.1

Oh, yes, missed it. Sorry for that 😅

@nploi have you considered using the built-in json formatter directly?

 Something else?

He said cucumber-js 7.3.1
@nploi have you considered using the built-in json formatter directly?

I used it before switching to the message formatter.
when i use json formatter of cucumber-js, sometimes it get error like below
/my-project/node_modules/@cucumber/cucumber/src/formatter/json_formatter.ts:180
|     this.log(JSON.stringify(features, null, 2))
|                   ^
| RangeError: Invalid string length
|     at JSON.stringify (<anonymous>)
|     at JsonFormatter.onTestRunFinished (/my-project/node_modules/@cucumber/cucumber/src/formatter/json_formatter.ts:180:19)
|     at EventEmitter.<anonymous> (/my-project/node_modules/@cucumber/cucumber/src/formatter/json_formatter.ts:89:14)
|     at EventEmitter.emit (events.js:412:35)
|     at EventEmitter.emit (domain.js:470:12)
|     at Coordinator.onWorkerProcessClose (/my-project/node_modules/@cucumber/cucumber/src/runtime/parallel/coordinator.ts:155:29)
|     at ChildProcess.<anonymous> (/my-project/node_modules/@cucumber/cucumber/src/runtime/parallel/coordinator.ts:117:12)
|     at ChildProcess.emit (events.js:400:28)
|     at ChildProcess.emit (domain.js:470:12)
|     at maybeClose (internal/child_process.js:1055:16)
|     at Process.ChildProcess._handle.onexit (internal/child_process.js:288:5)
| error Command failed with exit code 1.

I used it before switching to the message formatter.
when i use json formatter of cucumber-js, sometimes it get error like below

Sometimes or always?
If sometimes, with the same features everytime?
Are you able to try identify the feature which seems to be responsible for that?

Sometimes or always?
If sometimes, with the same features everytime?
Are you able to try identify the feature which seems to be responsible for that?

Hi @aurelien-reeves
@nploi  is my teammate :)) we have used JSON fomatter before and get your suggestion to migration to  message formatter
Not always It only happen for larger file

I used it before switching to the message formatter.
when i use json formatter of cucumber-js, sometimes it get error like below

Sometimes or always?
If sometimes, with the same features everytime?
Are you able to try identify the feature which seems to be responsible for that?

Sometimes
Yes, the same features everytime.
i can't identify the feature, but i guess it happen when try JSON.stringify large object.

Do you have some attachments?

Do you have some attachments?

yes, i have, i attach texts and images every step.

Hi @aurelien-reeves
@nploi is my teammate :)) we have used JSON fomatter before and get your suggestion to migration to message formatter
Not always It only happen for larger file

Hi @vctqs1  :)
Ok, thanks for the tip.
I must say I am a little bit confused with your project :p
The message formatter to generate ndjson files is great when you want to integrate your own tooling.
There is no point into re-generating a json file with the cucumber-json-formatter standalone tool. If you still need a json file alongside the ndjson one for some reason, you can use both directly as output from cucumber (if I am not wrong 🤔)
Could you tell us more about what you are trying to achieve? What is your actual need?

1. Sometimes

2. Yes, the same features everytime.

3. i can't identify the feature, but i guess it happen when try `JSON.stringify` large object.

yes, i have, i attach texts and images every step.

It looks like your are reaching the limits of what is possible with your reports
A report of 512MB is actually increasingly huge! Your errors may be related to memory limit being reached.
For example: https://stackoverflow.com/questions/29175877/json-stringify-throws-rangeerror-invalid-string-length-for-huge-objects which leads to this issue: https://github.com/nodejs/node-v0.x-archive/issues/14170
It seems you are building an intensive tool which reach the limits of what will be possible to do with cucumber json format itself.
I would suggest to:

use your own custom formatter which output the data directly into the format you want using streams. That can work if you embed cucumber into your tool directly
rely on the ndjson format - which seems to work well in your case - but building a dedicated transformation tool which transform the data into the format you want using streams rather than reading the whole file at once. That can work if you want users to run their own cucumber tests and then ask them for their ndjson reports

The key here is to use streams. This is how works the ndjson formatter: it streams the data. And as you can see, it seems to work properly in your case. So you could create your own custom formatter which would stream directly into your custom report format, or rely on existing ndjson but using streams too to read it rather than processing it at once.

Hi @aurelien-reeves,

Could you tell us more about what you are trying to achieve? What is your actual need?

We need the json file for generate static html from other library.

It looks like your are reaching the limits of what is possible with your reports
A report of 512MB is actually increasingly huge! Your errors may be related to memory limit being reached.

For example: https://stackoverflow.com/questions/29175877/json-stringify-throws-rangeerror-invalid-string-length-for-huge-objects which leads to this issue: nodejs/node-v0.x-archive#14170

For now, I will split the test suite, it will generate small files.
Thanks for your suggestion.

Ok, thanks for your reply
For now I consider it won't be fixed. But if other users encounter that issue, feel free to re-open it

We need the json file for generate static html from other library.

Might be worth updating that library to supporting the ndjson format and process the report as a stream.

Might be worth updating that library to support the ndjson format and process the report as a stream.

Look good to me!. Maybe, i will contribute that library. 👍

I encounter the same issue when I use JSON format, especially with larger reports, such as 500MB in size.
/app/node_modules/@cucumber/cucumber/src/formatter/json_formatter.ts:185
this.log(JSON.stringify(features, null, 2))
^
RangeError: Invalid string length
at JSON.stringify ()
at JsonFormatter.onTestRunFinished (/app/node_modules/@cucumber/cucumber/src/formatter/json_formatter.ts:185:19)
at EventEmitter. (/app/node_modules/@cucumber/cucumber/src/formatter/json_formatter.ts:92:14)
at EventEmitter.emit (node:events:532:35)
at EventEmitter.emit (node:domain:488:12)
at Coordinator.onWorkerProcessClose (/app/node_modules/@cucumber/cucumber/src/runtime/parallel/coordinator.ts:185:29)
at ChildProcess. (/app/node_modules/@cucumber/cucumber/src/runtime/parallel/coordinator.ts:146:12)
at ChildProcess.emit (node:events:520:28)
at ChildProcess.emit (node:domain:488:12)
at maybeClose (node:internal/child_process:1105:16)


Fix Wasm capitalization

Wasm is never written in all uppercase (according to the spec https://webassembly.github.io/spec/core/intro/introduction.html), since Wasm is not an acronym.

Ah, I think I even knew that but then forgot about it -- thank you 👍
Needless to say I'd be very excited to get this working in Wasm... having server/client with such transparent "oh this actor happens to be on the server" would be lovely.

We'll see how that goes, I'm not sure yet how plain non-distributed actors will work in Wasm, there's still a lot to do on that front in our fork. Thanks for the detailed proposal! I will need some time to digest it all and to give any meaningful feedback 🙂

Right yeah, swift concurrency itself is a pre-requisite for these... I'm really looking forward to it all and Wasm to be honest, hope we can pull it off... Keep in touch :-)


Actively maintained?

Hiya @matcornic,
Is this project being actively maintained? There are a number of pull requests which have been awaiting feedback or awaiting merge since the start of the year.
I'm actively using this theme at work. I can offer some of my time it would be helpful.
Could you share your thoughts on maintaining this project in the future?
Thanks,
Matt

According to his twitter account, @matcornic has just got a new (exciting) job. Perhaps you may contact him at https://twitter.com/matcornic

Well, I twitted to @matcornic https://twitter.com/mfaure/status/1015166899402010625 Let see :)

Sent an invite to @matalo33 🎉

@matalo33 I created a draft wiki page for dev guidelines : https://github.com/matcornic/hugo-theme-learn/wiki/Guidelines
Feel free to share your thoughts.

Thanks @matcornic, Dev Guidelines look good, and I'll help out wherever I can

@matcornic you might have noticed I found some time to respond to tickets & review PRs :) I am planning to merge back some changes from a fork over the next couple of weeks.
Are you happy for me to merge PRs which are not my own? For my own PRs I will tag you and request review, and not merge my own

@matalo33 yes thanks a lot 🙏

@matalo33 Merge your own PRs when you want, once I approved it. It will be more convenient for you :)


Add Save/Load Button Functionality

Put the ref= back in, removed the false, and got rid of the unnecessary input variable. Let me know if I should make any other changes!

Awesome, merged and pushed to new.proofpad.org. Thanks so much for the contribution!
I did make a few changes. There were some TypeScript compilation errors that I fixed. In the process, I found that you weren't using this.fileInput but instead fileInput. This worked only because you also had id="fileInput" which creates an implicit global variable fileInput. A bit scary, since if this component had been used multiple times on the page the references would have been broken. JavaScript is full of bad old behavior like this, which is one of the reasons I really like TypeScript :)


Improvements to Nodegroup view

@saratge , can you kindly check if this PR is still relevant? Did we already include a better version of the nodegroup view after that in the latest releases?

@saratge , can you kindly check if this PR is still relevant? Did we already include a better version of the nodegroup view after that in the latest releases?

@pauls4GE  I don't think we have made changes to nodegroups view much before 0.7 release in august, have to test this and merge

The nodegroup store view looks much better now with the vertical scroll bar and all the columns displayed without truncation
Thank you @davidcok


Question: hand-implementing Deserialize for a newtype struct wrapping an already-Deserialize(able) value

Hi, I'm on stable and not wanting to use codegen because of the trade-offs, so I want to find a way to do this by hand.
Basically, I have a type wrapping serde_json::Value (I would just use Value for my type but I want to implement Default for it) and I'm trying to figure out how exactly to deserialize it:
pub struct SyncData(Value);
impl Serialize for SyncData {
    fn serialize<S>(&self, serializer: &mut S) -> Result<(), S::Error>
        where S: Serializer
    {
        self.0.serialize(serializer)
    }
}
impl Deserialize for SyncData {
    fn deserialize<D>(deserializer: &mut D) -> Result<Self, D::Error>
        where D: Deserializer
    {
        struct SyncDataVisitor;
        impl<'a> ::serde::de::Visitor for SyncDataVisitor {
            type Value = SyncData;

            fn visit_newtype_struct<D>(&mut self, deserializer: &mut D) -> Result<Self::Value, D::Error>
                where D: Deserializer
            {
                // What do I do here??
            }
        }
        deserializer.deserialize_newtype_struct("SyncData", SyncDataVisitor)
    }
}

I'm not clear at all on how to get the actual value I need to deserialize from deserializer or self in visit_newtype_struct. I can't find any examples of how to do this.
Any help would be greatly appreciated!

If you just need it to deserialize exactly as though it were deserializing a serde_json::Value, you don't need your own visitor. This should do the trick:
impl Deserialize for SyncData {
    fn deserialize<D>(deserializer: &mut D) -> Result<Self, D::Error>
        where D: Deserializer
    {
        Deserialize::deserialize(deserializer).map(SyncData)
    }
}

This works by inferring that Deserialize::deserialize(...) needs to be a Result<Value, D::Error> so it knows to use Value's implementation of Deserialize.

Ah it works!!! Thank you!


Fix default column expression

Retrieving DB MetaData for table which contains columns with defaults values, results in Exception no column default_expresseion in columns list database table name type default_type default_expression

Hi @alex-krash I think the actual issue has been fixed meanwhile, but please cherry-pick the test.

The issue has been fixed and the unit test is merged into #538.

The issue has been fixed and the unit test is merged into #538.


wrap lines to 80

also updated copyright year.

 You should sign our Contributor License Agreement in order to get your pull request merged.

The contents of this pull request have nothing to do with the title.

@Xe, you're right, I'll close.


v0.12 regression: Fix registration of children for Block

If the attribute is already declared (e.g. as None), the registration would fail.
Consider the following example:
class BaseClass(gluon.HybridBlock):
    some_block = None

class Implementation(BaseClass):
    def __init__(self):
        some_block = SomeBlock()

The regression was introduced by https://github.com/apache/incubator-mxnet/issues/7667

@szha

@leezu could you also include a fix from #8152 here? It is to add a self._clear_cached_op() call in HybridBlock's __setattr__: https://github.com/apache/incubator-mxnet/pull/8152/files#diff-29da832c2145752f3906a2f71c7b63baR335

@szha the fix is included now.

@leezu could you also include this part of the test? Thanks :)

@szha the tests are included now. Sorry, I overlooked that part of your message at first ;)


Add cross check to filters_target test.

This test requires a cross compiler target to be installed, so disable it if it is not.

r? @alexcrichton
(rust_highfive has picked a reviewer for you, use r? to override)

@bors: r+

:pushpin: Commit 8ee908d40ff21d7fca12430ca14cdaf3c454e0b3 has been approved by alexcrichton

:hourglass: Testing commit 8ee908d40ff21d7fca12430ca14cdaf3c454e0b3 with merge d8c8548d6f3627f5846ddb996d4a2cc488ae8150...

:sunny: Test successful - checks-actions
Approved by: alexcrichton
Pushing d8c8548d6f3627f5846ddb996d4a2cc488ae8150 to master...


mising libbfd.so file

Solution to issue cannot be found in the documentation.

[X] I checked the documentation.

Issue
related to https://github.com/conda-forge/binutils-feedstock/issues/60
this build v2.40 does not build libbfd.so file which is needed by a lot of existing software.
a fix of this would be appreicialted.
Installed packages
binutils                  2.40                 hdd6e379_0    conda-forge
binutils_impl_linux-64    2.40                 hf600244_0    conda-forge
binutils_impl_linux-aarch64 2.40                 h40ea8b1_0    conda-forge
binutils_impl_linux-ppc64le 2.40                 hef43fe1_0    conda-forge
binutils_impl_linux-s390x 2.40                 hfe9b18f_0    conda-forge
binutils_linux-64         2.40                 hbdbef99_2    conda-forge

Environment info
conda version : 23.3.1
    conda-build version : not installed
         python version : 3.10.12.final.0

this build v2.40 does not build libbfd.so file which is needed by a lot of existing software.

It does contain libbfd.a though. Is there a reason you cannot use the static library?


Need ability to export settings

Description of the new feature / enhancement
Ability to export all saved settings to a .json file
Scenario when this would be used?
After reformatting PC, or on another machine
Supporting information
No response

/dup #586


Otel fix deprecated function

Description
Fix deprecated function in opentelemetry
Dependencies
n/a
Checklist
If you are not familiar with our processes or don't know what to answer in the list below, let us know in a comment: the maintainers will take care of that.

[X] Will this change affect NetObserv / Network Observability operator? If not, you can ignore the rest of this checklist.
[ ] Is this PR backed with a JIRA ticket? If so, make sure it is written as a title prefix (in general, PRs affecting the NetObserv/Network Observability product should be backed with a JIRA ticket - especially if they bring user facing changes).
[ ] Does this PR require product documentation?

[ ] If so, make sure the JIRA epic is labelled with "documentation" and provides a description relevant for doc writers, such as use cases or scenarios. Any required step to activate or configure the feature should be documented there, such as new CRD knobs.

[ ] Does this PR require a product release notes entry?

[ ] If so, fill in "Release Note Text" in the JIRA.

[ ] Is there anything else the QE team should know before testing? E.g: configuration changes, environment setup, etc.

[ ] If so, make sure it is described in the JIRA ticket.

QE requirements (check 1 from the list):

[ ] Standard QE validation, with pre-merge tests unless stated otherwise.
[ ] Regression tests only (e.g. refactoring with no user-facing change).
[X] No QE (e.g. trivial change with high reviewer's confidence, or per agreement with the QE team).

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 68.56%. Comparing base (a5ad247) to head (02f542e).
Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #653      +/-   ##
==========================================
+ Coverage   67.43%   68.56%   +1.13%
==========================================
  Files         102      102
  Lines        7593     6426    -1167
==========================================
- Hits         5120     4406     -714
+ Misses       2162     1709     -453
  Partials      311      311

Flag
Coverage Δ

unittests
68.56% <100.00%> (+1.13%)
:arrow_up:

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

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

/lgtm

/approve


Handle grayscale images

Up until now, it was up to libvips how the colors were handled. This is relevant and a problem for cases where we apply the existing image to a new background: embedding (putting the image on a larger surface with a specific background color) and flattening (removing the alpha channel and replace it with a specific color).
If there were only 1 or 2 channels (grayscale), libvips simply used the first channel of the specified RGB values (i.e. red), the rest was discarded. In one case, however, it even failed: when embedding with transparency on.
To fix both, I introduced some kind of "smart" conversion: when a grayscale image is embedded or flattened to a grayscale background (R=G=B), everything's fine. We can safely just use the red channel. If, however, we embed on a color (!(R=G=B)), we convert the image to RGB first (adding the missing channels). That way we silently honor the wish for the given color.
I think this is the best handling, since if someone requests the image to be on a specifically colored background, there is likely a reason for this and it does not seem nice to silently ignore this and keep the image grayscale. If someone wants color, it's apparently not intended that the image was grayscale in the first place.

@stefan-scheidewig Your findings should be fixed in 730d0b4b.


Don't crash if data source unreachable

Title is self-explanatory.  Let's leverage those overly broad except statements (should actually fix those)!
Closes #26.

Thanks @gfyoung !


Custom material always requires vertex position, normal and UV

Bevy version
0.7
What you did
Created a custom material without using Vertex_UV attribute
What went wrong
The custom material requires vertex POSITION, NORMAL and UV attributes to be set on Mesh even if the custom material layout doesn't specifies so. This seems to be a requirement of the mesh pipeline.
Additional information
This was first reported and discussed here
superdump

This passes the mesh layout into the mesh pipeline specialization function: https://github.com/bevyengine/bevy/blob/9eb69282efe57b9e3922e66ade887e6239bff175/crates/bevy_pbr/src/material.rs#L263
Which requires these attributes: https://github.com/bevyengine/bevy/blob/9eb69282efe57b9e3922e66ade887e6239bff175/crates/bevy_pbr/src/render/mesh.rs#L576
So even if you want to override the vertex attributes and layout, that code already required them and if your mesh doesn’t have them, it will fail

cart

Gotcha that makes sense. Fixing that will probably require some design work. Ex: do we build an api to let people override vertex layouts (specifically), or add a lifecycle hook that allows people to specialize the mesh pipeline. Do we add another generic to MeshPipeline that lets users plug their custom logic in or take a more retroactive approach?

I also encountered this, alternative to this is writing a pipeline, which is a lot boilerplate. Here it is for reference:
https://discord.com/channels/691052431525675048/970964103516532746/970998522679816222

Seems to be fixed in 0.10. Am I mistaken? in mesh.wgsl I see all vertex attributes are conditionally added.
struct Vertex {
#ifdef VERTEX_POSITIONS
    @location(0) position: vec3<f32>,
#endif
#ifdef VERTEX_NORMALS
    @location(1) normal: vec3<f32>,
#endif
#ifdef VERTEX_UVS
    @location(2) uv: vec2<f32>,
#endif
#ifdef VERTEX_TANGENTS
    @location(3) tangent: vec4<f32>,
#endif
#ifdef VERTEX_COLORS
    @location(4) color: vec4<f32>,
#endif
#ifdef SKINNED
    @location(5) joint_indices: vec4<u32>,
    @location(6) joint_weights: vec4<f32>,
#endif
};


Support DTLS fingerprints declared at the media section or global level

We should look for fingerprints at both the media and global level. After parsing we should assert that they all match, and then move ahead.
Currently we only scan at the media level.

This is actually implemented properly! We just need to add some tests

Resolved by 6bb48a2a9243577e09c37a86bd146cd9cdb60697


New Metric: Line Impact

GitClear is promoting a metric "Line Impact".
I don't know if we already have it or whether it's worth adding it to our own metrics.
https://www.gitclear.com/blog/toward_developer_measurement_of_greatest_shared_benefit

I think it's worth adding it.  From my understanding, 'Line Impact' is a metric to clarify developer work.   The following is an example to test a project using 'Line Impact'.

from the figure, for each commit of a specific document, we can easily know how much does the commit get, so judge the importance of the commit.
Last but not least, it seems like that 'Line Impact'  has been registered as a trademark, which means others can not use the name.

Hey there, I'm the programmer who built this metric. 👋  Feel free to drop me a line if you would like to collaborate on how it could be used in your project. I've been actively seeking out kindred spirits who want to better quantify ground truth software metrics. After five years of iterating on Line Impact and using internally, I'm pretty confident that it provides a type of signal that is reliable/consistent, and heretofore unavailable. This video we recently released gives a visual high level explanation as to how we calculate it.
We have filed a trademark on the name, but that's just to prevent third parties from falsely claiming to provide their own version of the measurement. We're big proponents of open source and are happy to help promote measurement of it in any way that people find useful, thus the release of our Open Repos.

Hey @GeorgLink thanks so much for the kind words! Here's my stab at completing the metric template.
As alluded to in the responses, we are a relatively small, bootstrapped company. To the extent that the CHAOSS team or users could assist us in the effort to experimentally confirm the stability & utility of Line Impact for open source use cases, this partnership would be a win/win. 🚀
Let me know how else we can be of service. 🙏

Hey @sgoggins, thanks for following up on this! It's a bit unclear to me what sort of answer you might be after, but I'll try to answer a few of the questions that seem relevant. :)
Firstly, since my previous comment, we've published this research/dataset that illustrates the correlation between Story Points and each of commits, LoC, and Line Impact.  As we had suspected, Line Impact correlates better with this proxy for "software effort" than either of commits or LoC. We are hoping that our research will be reviewed by many who have interest in this area. Thus far we have gotten a few takers for reviewing it, including a CS professor with 15k research citations who believed that our research was sound.
In your question, you ask how one "really accomplishes [an approximation of cognitive energy invested] in an objective, consistent manner." The consistency is baked into the fact that each commit is being evaluated by a fixed algorithm, which would yield the same Line Impact result for however many times the same set of work was evaluated. The "objectivity" is a more nebulous target, and probably impossible to prove outright. To my mind, the most pragmatic goal in evaluating a git metric (Line Impact or others) is "does this correlate more strongly with human judgement of software effort than other available measures?" Thus our interest in collecting data on this topic, and our open call for interested researchers to work with us to design further experiments to confirm that Line Impact does correlate with software effort/cognitive energy.
If you happen to have any source data that you believe connects a human-estimate of "software complexity" or "software effort" (the two seem to be used relatively interchangeably) and a set of source code that satisfies the estimated complexity, then I'd love to put Line Impact through its paces with said data to further confirm the correlation that we have seen. That is the only & best path I've found so far to empirically validate that the metric does what we have designed it to do.

I moved this metric idea to the spreadsheet and linked to these comments so they weren't lost. Going to close this issue for now.

Thank you for copying that over @ElizabethN! I updated the spreadsheet to reflect that the metric is now called Diff Delta. Let me know if it would help for me to make a Google Doc that explains it, and link that from the spreadsheet?
Since I left the previous comment, we have done some additional resource in seeking to correlate business size with Diff Delta: https://www.gitclear.com/help/diff_delta_at_scale
To the extent there are other repos that are widely adopted whose source code could be analyzed, it could be interesting to evaluate the extent to which Diff Delta correlates with product outcomes

@wbharding -- could you get some of your thoughts down here?
I would like to help get the metric out there. I know that in the OSPO WG, there are a number of folks who may be interested in this.

Hey @germonprez, thanks for the helpful suggestion. I have updated the document such that all of the sections are complete, and screenshots are provided as applicable. Let me know if I can help in other ways.

This is great! Thanks for taking the time to do this. I've put it on the
CHAOSS Common WG meeting which meets next Thursday (April 27th at 10am US
Central)
https://chaoss.community/chaoss-calendar/
Thanks again.
On Tue, Apr 18, 2023 at 7:23 PM Bill Harding @.***>
wrote:

Hey @germonprez https://github.com/germonprez, thanks for the helpful
suggestion. I have updated the document
https://docs.google.com/document/d/1_E4WH1NeAMpRipO9nCOZTIPP9Cu5YdxAjd3AHHdVaRU/edit?pli=1#
such that all of the sections are complete, and screenshots are provided as
applicable. Let me know if I can help in other ways.
—
Reply to this email directly, view it on GitHub
https://github.com/chaoss/wg-evolution/issues/276#issuecomment-1513947812,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFAGUEFTLG2IOYSRPEJWEDXB4V7ZANCNFSM4JYJEKPA
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Mutual of Omaha Distinguished Chair of Information Science & Technology
Professor of Information Systems and Quantitative Analysis
College of Information Science & Technology
University of Nebraska Omaha
CV: https://github.com/germonprez/CV/blob/main/README.md
CHAOSS Board Member
https://chaoss.community/
@.***
he / him / his


Update Set-SPTrustedRootAuthority.md

The command Get-SPTrustedRootAuthority does not accept -name as parameter, only -identity.

Docs Build status updates of commit 6bed32c:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sharepoint/sharepoint-ps/sharepoint-server/Set-SPTrustedRootAuthority.md
:white_check_mark:Succeeded
View (sharepoint-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

@tseward

@Kateyanne Please merge this PR. Thanks

Docs Build status updates of commit 42211e7:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sharepoint/sharepoint-ps/sharepoint-server/Set-SPTrustedRootAuthority.md
:white_check_mark:Succeeded
View (sharepoint-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


feat: Corellium adapters

Related to #1799
Test Plan

How do we know the code works?

The example code should execute tests on Corellium devices and stream output from am instrument command
Is not needed to testing this PR carefully because the adapter implementation could change during further integration and the final MVP testing.

Should be reviewed and merged after #1878

@bootstraponline
The output result of running the selected test cases on the automatically created or invoked android instances.
commit: 372ac24dfb7b057aad8ba5d7dca4441d7781fe7e
console output: https://gist.github.com/jan-gogo/f633256cbdf6ca482e5b1577bc67fedb
The ADB log lines from the two consoles are mixed, this behavior will be fixed in further changes.
In the next step probably I will integrate multimodule sharding.

@jan-gogo  sounds good!


create react-native.js for babel for karma

use react-native.js for ios, android so my babel for karma doesn't complain './react-native' doesn't exist.

LGTM, this will fix my mocha tests as well.

Confirmed to work with react-native-desktop too. Thanks!

Same here. Just noticed the fix is not in 2.0.2.. so it's already fixed but not yet released.

It's released now.


draft:Enable CPP unit test on macOS CI

Enable CPP unit test on macOS CI

We should really move away from this custom Makefile...

Well we already have CMake, no reason to hardcode custom makefiles if we can generate them. This is of course out of scope of this MR, it's more important to actually fix the tests.

I think the Makefile in this case is just used as an alternative to a glorified script, not as a build tool.
Would you say it's better to use CTest in this particular case?

No, what I mean is that instead of manually making the glorified shell script one could define custom targets in CMake that would be also cross-platform (in this case CTest would probably really be the way forward though).

If we stay within the scope of the PR for a second, I'd say it's an improvement to run the tests in the CI.
Only thing is we have to make them pass this CI check in order to merge.

Yes, I completely agree! Just I comment so we keep these things in mind.

Hi everyone, I create this PR and just want to point out that our CPP unit tests are not enabled.
So if everybody supports turning it on, I will make all unit tests pass(There has a unit test to test the capability of the concurrent requests but the test sever looks can't support it, so I will migrate the test sever to Node or Boost).
And if the make file does not make sense, I could move the building code to the CI file.

@alanchenboy Full support for turning these tests on!

the test sever looks can't support it

These are our self-hosted runners, so if there is anything that needs to be installed you can let me know here.

And if the make file does not make sense, I could move the building code to the CI file.

For now it is OK in there, restructuring it will be part of another PR.

Now the CPP unit test in mac is back. I bring back the node js test server, so it looks a little bit complex now,  the origin server provided by httplib can't handle 50 concurrent requests, it misses some requests.

I'm making changes to this PR so that the test is run with CTest and the test server is stared and killed using FIXTURES_SETUP and FIXTURES_SETUP.

This is a continuation of #674 where @alanchengrab enabled C++ unit tests on macOS.
Instead of adding another entry to the Makefile I have changed things a bit so that the test can be built and ran through CMake & CTest (thanks @ntadej for the suggestion).
I removed the C++ wrapper around that forks and runs the Node.js server, and instead made a Node.js wrapper that forks to run the test. This approach is more platform indepentent, which will be helpful if we will use the Node.js based HTTP server for tests of other platforms in the future.

I merged my branch into this one. Hopefully the unit tests will run now. I forgot to install the npm packages in the root directory (which is used as working directory for the test).

Node.js test is unfortunetely flakey #720
So merge is possible without it passing.

It looks good to me @louwers ! Go ahead and merge it!


Split WSL and baremetal/VM settings

We can distinguish this by ansible_kernel contains "Microsoft".
Be sure that there is nothing wrong with Azure (Not currently using though as of 2018-03).

This partially works well as of 2018-04-06.


Export configuration or synchronize with Microsoft or work account

Powertoys configuration export/import to a file
I have several PCs and I would like to have the same Powertoys configuration on them. So could it be possible to export configuration to a Json file for example and import it on another PC. Or synchronize configuration with a Microsoft or Azure AD account?
If you'd like to see this feature implemented, add a 👍 reaction to this post.

Duplicate of https://github.com/microsoft/PowerToys/issues/3381


Automatically resizing SVG image to fit its content

Feature request
What are you trying to achieve?
I am trying to convert a few SVG images into PNG format for one of my projects and doing this dynamically avoid having to maintain multiple versions of the same asset. Sharp has been great at doing this but I ran into this issue.
Some of my SVG images have no "padding" meaning that their strokes are pretty much the same dimension as the viewport.
When converting those images to SVG, I noticed that some of the "shadow" effects are being truncated. See an example below:

I tried to implement some sort of auto-margin/resizing code but I either I am doing something wrong, or the way the rastering is done won't allow me to do this. Here is a sample of the code:
sharp(svgContent)
    .metadata()
    .then(async (metadata) => {
      const { width, height } = metadata

      if (!width || !height) {
        throw new Error(`error getting svg image dimensions`)
      }

      // Increase the image dimensions to get a better quality PNG image.
      const newWidth = width * 4
      const newHeight = height * 4

      // Add transparent margins around the image since converting to PNG might require extra space to avoid cropping-like effects.
      const marginWidth = Math.round(newWidth * margin)
      const marginHeight = Math.round(newHeight * margin)

      // Create a new canvas with increased dimensions.
      const canvasWidth = newWidth + 2 * marginWidth
      const canvasHeight = newHeight + 2 * marginHeight

      const newSvgContent = await sharp(svgContent)
        .resize({ width: newWidth, height: newHeight, fit: 'inside' })
        .toBuffer()
      const buffer = await sharp({
        create: {
          width: canvasWidth,
          height: canvasHeight,
          channels: 4,
          background: { r: 0, g: 0, b: 0, alpha: 0 },
        },
      })
        .composite([{ input: newSvgContent, left: marginWidth, top: marginHeight }])
        .png()

When you searched for similar feature requests, what did you find that might be related?
I search for "truncate" or "SVG" and couldn't find any opened or closed issue on this topic.
What would you expect the API to look like?
I'm not sure but I was thinking of something like .fitToContent() to automatically resize the SVG's size to fit to content, including stoke-width - and maybe a nice to add .addMargin() that would make it simpler to add margins... or maybe when converting to other formats it could automatically detect the "shadows" and or have some kind of option to automatically handle this?
What alternatives have you considered?
I thought about adding margins inside the SVG itself but from my research, there isn't an easy way to do this while keeping the content centered because there is no easy way to center content, and there is no concept of "margin" for SVG markup.

Typically the viewBox property of an SVG image defines the visible area. Are you able to share an example SVG image where this isn't working as expected?

You're right @lovell - I should have provided a bit more context but I was trying to keep the issue simple. Basically, I am using Svgr's Webpack loader to dynamically transform SVG properties without having multiple versions of the same image.
So, for example, I can change the color of the SVG, but where this is causing issues is if I change the strokeWidth. When I do change the strokeWidth of an SVG and use it as an SVG image I can have the same image behave like this:
<Phone stroke-width={0.2} />

<Phone stroke-width={1.2} />

This is the image I used for the example:
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
  <g
    class="center"
    fill="none"
    stroke="currentColor"
    stroke-linecap="round"
    stroke-linejoin="round"
    stroke-width="currentStrokeWidth"
    transform="matrix(1,0,0,1,0,0)"
  >
    <path
      d="M15.04,22.39l.012.007a5.533,5.533,0,0,0,6.884-.755l.774-.774a1.846,1.846,0,0,0,0-2.609L19.449,15a1.846,1.846,0,0,0-2.609,0h0a1.843,1.843,0,0,1-2.608,0L9.014,9.781a1.846,1.846,0,0,1,0-2.609h0a1.843,1.843,0,0,0,0-2.608L5.754,1.3a1.846,1.846,0,0,0-2.609,0l-.774.774a5.535,5.535,0,0,0-.756,6.884l.008.012A49.935,49.935,0,0,0,15.04,22.39Z"
    />
  </g>
</svg>

Having said that, while doing more tests, I did notice that if I put the strokeWidth thick enough, then the SVG image itself  also starts to be truncated.. which  might be the actual source of my issue:

If I change the viewbox to 35 for example, this is what happens:

As far as I know, there isn't a way to recenter the <g> path in the middle of the viewbox, at least not using SVG properties - is this something Sharp could help with?

Ok well apparently I found a solution to this, and it does work with Sharp, by using negative values in the viewbox this is the type of result I can get:
<Phone stroke-width={3} viewBox="-2 -2 28 28" />

I spent quite some time yesterday looking for this solution so apologies for opening this issue.. hopefully if anyone find it, it can help them as well.
I'm not sure if there could be anything on the Sharp side to make this easier but I think I can probably tweak my code and get rid of the margin stuff to resize the viewBox instead.


Added language_id to a search

With the new subscription system if a user changes languages they would still see all the keywords that aren't really relevant for that language.
This change seeks to store the language_id that the users were learning when they performed the search and they will only be retrieved if the user has that language set as current language.

I have tested this with a few languages in my local environment and it seems OK. However, I haven't got all the searches as I did some search deletion and as such there wasn't a lot of issues running the script.
Some situations to look out for is people subscribed / filtering the same keyword with different languages, who do we pick? Do we just delete these and they can re-add it at some point?

i guess we should migrate to MariaDB at some point:
https://aws.amazon.com/compare/the-difference-between-mariadb-vs-mysql/
support for mysql has ended end of last year ^^
https://mariadb.com/resources/blog/migrate-to-mariadb-server-from-mysql-5-7-using-a-single-command/
m.
On 26 Sep 2024 at 10.40 +0300, Mircea Filip Lungu @.***>, wrote:

<Attachment.png>
On 26 Sep 2024 at 10.37 +0300, Tiago Ribeiro @.***>, wrote:

@tfnribeiro commented on this pull request.
In tools/migrations/24-09-24--adding-language-to-search.sql:

@@ -0,0 +1,30 @@
+ALTER TABLE

zeeguu_test.search
+ADD
COLUMN language_id INT NULL
+AFTER
id,
CHANGE COLUMN keywords keywords VARCHAR(100) NULL DEFAULT NULL,
+ADD
INDEX search_ibfk_1_idx (language_id ASC) VISIBLE;
I am just using MySQLs workbench so that's just the default - which version of mysql is in the server?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you modified the open/close state.Message ID: @.***>

I have tested this with a few languages in my local environment and it seems OK. However, I haven't got all the searches as I did some search deletion and as such there wasn't a lot of issues running the script.

the migration script worked well on the server as far as I can tell.

Some situations to look out for is people subscribed / filtering the same keyword with different languages, who do we pick? Do we just delete these and they can re-add it at some point?

I'm not sure I understand this ^^
Is this something that could have happened during the migration? or is it for the future?

Well it could happen in Migration - essentially users could have the same keyword but different languages, which means the join would probably return 2 rows with the same search, I am not sure what happens in that situation. I am guessing the join would return two rows, e.g.:

search_id
keyword
language_id

1
Trump
2

1
Trump
5

I guess in this case the row with language_id = 5 would be saved. So some users might have lost their search because it was associated with a different language.

Now that I think about it, it could have also been implemented at the filter / subscription level.
As it is now, Trump is a different search for Danish and French for example. If we were to store it at the filter and subscription level then search would be the same id for french and danish users - and are only distinguished on the filter / subscription level.

i guess we should migrate to MariaDB at some point: https://aws.amazon.com/compare/the-difference-between-mariadb-vs-mysql/ support for mysql has ended end of last year ^^ https://mariadb.com/resources/blog/migrate-to-mariadb-server-from-mysql-5-7-using-a-single-command/ m.
…
On 26 Sep 2024 at 10.40 +0300, Mircea Filip Lungu @.>, wrote: <Attachment.png> On 26 Sep 2024 at 10.37 +0300, Tiago Ribeiro @.>, wrote: > @tfnribeiro commented on this pull request. > In tools/migrations/24-09-24--adding-language-to-search.sql: > > @@ -0,0 +1,30 @@ > +ALTER TABLE > + zeeguu_test.search > +ADD > + COLUMN language_id INT NULL > +AFTER > + id, > + CHANGE COLUMN keywords keywords VARCHAR(100) NULL DEFAULT NULL, > +ADD > + INDEX search_ibfk_1_idx (language_id ASC) VISIBLE; > I am just using MySQLs workbench so that's just the default - which version of mysql is in the server? > — > Reply to this email directly, view it on GitHub, or unsubscribe. > You are receiving this because you modified the open/close state.Message ID: @.***>

Doesn't this only apply to version 5.7?

https://endoflife.date/mysql

I thought I mentioned it above, but I don't find it in the discussion anymore: we're using 5.7.44 MySQL Community Server. So yeah, we're beyond the EOL

Let's find out what's easier to upgrade to: Maria or 8.0... 8.0 will also give us four more years of support. And Maria seems to be even faster in some use-cases. And it's more open than Oracle's..

I thought I mentioned it above, but I don't find it in the discussion anymore: we're using 5.7.44 MySQL Community Server. So yeah, we're beyond the EOL

That will explain why there will be conflicts with the SQL generated I feel!

Let's find out what's easier to upgrade to: Maria or 8.0... 8.0 will also give us four more years of support. And Maria seems to be even faster in some use-cases. And it's more open than Oracle's..

To me it's fine, I just wasn't sure of the version we had and if the migration is straight forward I don't see why not. My intuition is that we aren't using many features of MySQL, it's just a database so it shouldn't cause too many headaches.


Code Cleanup - Complex Column Types

Code cleanup for complex column types logic as the code readability is low.

@ayush-shah lets add as many unit tests as we can to get to 100% on this particular code. As this is the root of all of our work

cc @pmbrull code coverage and celeanup


Skip tables using regular expressions

Currently --skip-tables option accepts a list of table names.
Modify it to support a list of regular expressions, sometimes it can be way shorter than listing multiple similarly-named tables

Done in https://github.com/uaraven/rowcp/commit/24944b8cd983e15ef400b56e9126ad68066816cf


Regression following 'Use "read" command' change

Steps to reproduce the issue
Build the microwatt soc. It is a mixed language implementation (vhdl and verilog), so you need ghdl and the ghdl plugin.
git clone http://github.com/antonblanchard/microwatt && cd microwatt
make microwatt.bit

Expected behavior
With 2156e20db5b88ac7e3530abd2f27d27e12a412b2 (yosys-0.12) the soc builds correctly.
Actual behavior
With b07ca8756a6ca4fafd725f008ac871a0e24d75e8 (latest as of today) it fails to build at the nextpnr step:
nextpnr-ecp5 --json microwatt.json --lpf constraints/orange-crab.lpf --textcfg microwatt_out.config.tmp --um5g-85k --freq 48 --package CSFBGA285
...
ERROR: cell type 'uart_top' is unsupported (instantiated as 'soc0.uart0_16550.uart0')

The json is not recongised:
        "soc0.uart0_16550.uart0": {
          "hide_name": 0,
          "type": "uart_top",
          "parameters": {
          },
          "attributes": {
            "hdlname": "soc0 uart0_16550.uart0"
          },

I did a bisect and the commit the caused the regression is 0cbdb42dcd74090296aa3fe6bf11db1c288d9962, "Use "read" command to parse HDL files from Yosys command-line". If I revert this change I can build the soc again.
I assume I need to update the build script for microwatt to account for the change, but I was unable to work out what the change requires.
The yosys command is:
yosys -m ghdl.so -p " ghdl --std=08 --no-formal -gMEMORY_SIZE=8192 -gRAM_INIT_FILE=hello_world/hello_world.hex -gRESET_LOW=true -gCLK_INPUT=48000000 -gCLK_FREQUENCY=48000000 -gICACHE_NUM_LINES=4 -gUSE_LITEDRAM=true decode_types.vhdl common.vhdl wishbone_types.vhdl fetch1.vhdl utils.vhdl plru.vhdl cache_ram.vhdl icache.vhdl decode1.vhdl helpers.vhdl insn_helpers.vhdl control.vhdl decode2.vhdl register_file.vhdl cr_file.vhdl crhelpers.vhdl ppc_fx_insns.vhdl rotator.vhdl logical.vhdl countzero.vhdl multiply.vhdl divider.vhdl execute1.vhdl loadstore1.vhdl mmu.vhdl dcache.vhdl writeback.vhdl core_debug.vhdl core.vhdl fpu.vhdl pmu.vhdl wishbone_arbiter.vhdl wishbone_bram_wrapper.vhdl sync_fifo.vhdl wishbone_debug_master.vhdl xics.vhdl syscon.vhdl gpio.vhdl soc.vhdl spi_rxtx.vhdl spi_flash_ctrl.vhdl litedram/extras/litedram-wrapper-l2.vhdl litedram/generated/orangecrab-85-0.2/litedram-initmem.vhdl fpga/soc_reset.vhdl fpga/pp_fifo.vhd fpga/pp_soc_uart.vhd fpga/main_bram.vhdl nonrandom.vhdl fpga/clk_gen_ecp5.vhd fpga/top-orangecrab0.2.vhdl dmi_dtm_dummy.vhdl -e toplevel; synth_ecp5 -nowidelut -json microwatt.json  -abc2 -abc9" uart16550/raminfr.v uart16550/uart_defines.v uart16550/uart_receiver.v uart16550/uart_regs.v uart16550/uart_rfifo.v uart16550/uart_sync_flops.v uart16550/uart_tfifo.v uart16550/uart_top.v uart16550/uart_transmitter.v uart16550/uart_wb.v valentyusb/generated/orangecrab-85-0.2/gateware/valentyusb.v litesdcard/generated/lattice/litesdcard_core.v litedram/generated/orangecrab-85-0.2/litedram_core.v

Simplified:
yosys -m ghdl.so -p " ghdl --std=08 --no-formal files.vhdl -e toplevel; synth_ecp5 -nowidelut -json microwatt.json  -abc2 -abc9" files.v

Should be fixed with https://github.com/YosysHQ/yosys/commit/e1c7a9a64734d9fe81edec7d5bb9708b0ae88f26

Should be fixed with e1c7a9a

Thanks! I tested with latest 477eeefd9 which includes this change and I'm still seeing the issue.

Sorry @shenki, complete flow was not set on my end. Managed to reproduce now. Will investigate.

@shenki Maybe best way to solve this is to change line https://github.com/antonblanchard/microwatt/blob/master/Makefile#L214 to
$(YOSYS) -m $(GHDLSYNTH) -p "ghdl --std=08 --no-formal $(GHDL_IMAGE_GENERICS) $(synth_files) -e toplevel; read_verilog $(uart_files); synth_ecp5 -abc9 -nowidelut -json $@  $(SYNTH_ECP5_FLAGS)"

This way you can do explicit read_verilog and keep old behavior. Since read is calling read_verilog with -defer parameter, and that changes how things do work.

Can also confirm via bisect that 0cbdb42 broke my example MachXO2 bitstream demos:
William@DESKTOP-H0PMN4M MINGW64 ~/Projects/FPGA/nextpnr/machxo2/examples
$ ../../../yosys/yosys.exe -ql read.log -p "synth_machxo2 -json tinyfpga.json" tinyfpga.v
ERROR: Module top contains processes, which are not supported by JSON backend (run `proc` first).

Workaround
William@DESKTOP-H0PMN4M MINGW64 ~/Projects/FPGA/nextpnr/machxo2/examples
$ ../../../yosys/yosys.exe -p "read_verilog tinyfpga.v; synth_machxo2 -json tinyfpga.json"

Files
read.log

Can you check if https://github.com/YosysHQ/yosys/pull/3269 fixes this?

@whitequark this issue was not related to hierarchy pass, have undo Makefile change locally and run with latest oss-cad-suite build just to confirm. Issue here is that read now use read_verilog -defer and before it was just read_verilog, which creates this issue when using with GHDL. If you take latest code and add in line https://github.com/antonblanchard/microwatt/blob/master/Makefile#L236  defer option to read_verilog it will produce same issue.

The reason running with -defer breaks the design is that it reads modules in as abstract modules. Running hierarchy -auto-top should resolve these abstract modules to concrete ones that further passes can operate on, however due to the bug that you fixed in your patch, this was not occurring since modules not tagged with the top attribute were not identified


feat: allow $app/paths to be used without an app

This implements $app/paths as a virtual module. That allows components using $app/paths to work without setting up an entire application which makes things like component testing with Vitest, using Storybook, etc. easier. It's also less code for us and I think is a cleaner implementation
The $app alias was hijacking my virtual module, so I had to replace it with aliases for each of the individual app modules. Even with that, it's still less code

The test failures look legit

(which is unsurprising, since the set_paths(...) calls were removed from dev and preview)


When downloading batch id=1, do a direct ES query for that granule id to save resources for HLS

@hhlee445 this fix was only for R1 software. It will break R2 --batch-ids behavior as it's currently written. It's meant to merge into an R1 maintenance branch where only R1 code exists and is expected to deploy into existing R1 systems. Does such branch exist?
If we want to merge into develop anyway, I can add one more conditional so that it limits the behavior change to just R1 portion.

@hhlee445 I understand why we want to merge this into develop now. I will update the code so that only R1 business logic is affected by this change later today.

Will be implementing a different, more complete, solution on a different branch. Ignore this pull request and branch for now.


[bug]  ClickHouseRowBinaryProcessor.MappedFunctions#writeArray asArray strong turn indicates an error

java.lang.ClassCastException: class [Ljava.lang.Integer; cannot be cast to class [I ([Ljava.lang.Integer; and [I are in module java.base of loader 'bootstrap')
	at com.clickhouse.client.data.ClickHouseRowBinaryProcessor$MappedFunctions.writeArray(ClickHouseRowBinaryProcessor.java:76)
	at com.clickhouse.client.data.ClickHouseRowBinaryProcessor$MappedFunctions.serialize(ClickHouseRowBinaryProcessor.java:491)
	at com.clickhouse.jdbc.internal.InputBasedPreparedStatement.addBatch(InputBasedPreparedStatement.java:333)

Hi @duhanmin, serialization was refactored in PR #1124 with breaking changes. Could you try nightly build at here and see if it will work for you case?