[LightGBM] Regression: how to penalize negative predictions

I have a simple regression task (using a LightGBMRegressor) where I want to penalize negative predictions more than positive ones. Is there a way to achieve this with the default regression LightGBM objectives (see https://lightgbm.readthedocs.io/en/latest/Parameters.html)? If not, is it somehow possible to define (many example for default LightGBM model) and pass a custom regression objective?
Thx in advance!

The simplest way might be to duplicate positive examples in your training set so that they naturally carry more influence during training.

"define (many example for default LightGBM model) and pass a custom regression objective"
@brunocous unfortunately, we don't have this currently in the mmlspark wrapper of lightgbm, but it would definitely be a great feature to add at some point.

It is clear, no bugs, but the color scheme of the website must be suitable to it, it is going other way.

I should update this thread that custom objectives have been added recently, so this should be possible now

Hi @imatiach-msft could you let me know if I can work on this?

@DefUs3r sure, what do you want to work on specifically?  Are you thinking of adding an example on how to penalize negative predictions using a custom loss function?

Hii @brunocous everything is almost fine on your provided link, but it could be more Attractive by using some more UI features, color schemes, and images. Also in your Python code learning, you can give the idea for them starting from the basics.

@Mihir-Khandelwal are you commenting on the right thread?  I think you might have meant to comment elsewhere?

@imatiach-msft Sorry i am new to this, as an microsoft recruting task, i was assigned a task to comment a code correction on any of the 100+ stars github account.

I have a simple regression task (using a LightGBMRegressor) where I want to penalize negative predictions more than positive ones. Is there a way to achieve this with the default regression LightGBM objectives (see https://lightgbm.readthedocs.io/en/latest/Parameters.html)? If not, is it somehow possible to define (many example for default LightGBM model) and pass a custom regression objective?
Thx in advance!

I want to ask just for clarity purpose that here ,positive and negatives samples refer to overestimation and underestimation , correct?

I have a simple regression task (using a LightGBMRegressor) where I want to penalize negative predictions more than positive ones. Is there a way to achieve this with the default regression LightGBM objectives (see https://lightgbm.readthedocs.io/en/latest/Parameters.html)? If not, is it somehow possible to define (many example for default LightGBM model) and pass a custom regression objective?
Thx in advance!

I want to ask just for clarity purpose that here ,positive and negatives samples refer to overestimation and underestimation , correct?

Correct. In the end, I went with just using the quantile regression objective to penalise overestimations more. That worked enough for my task at hand. Second trick that helped a lot is assigning samples more prone to overestimate a higher sample weight. Not perfect solutions, but it does the trick.

Hi ,
Thanks for responding , that  resonates with me as well. Also, while I was
looking at it (the problem) I optimised objective function a bit for better
results since in the 50th percent quantile it turns out to be mae , I
changed it a bit for better results.Please have a look and let me know what
you think (I have submitted the pull request with that function).
Hoping it helps and awaiting your reply.
Thankfully
Navya
On Mon, Aug 30, 2021, 18:01 brunocous @.***> wrote:

I have a simple regression task (using a LightGBMRegressor) where I want
to penalize negative predictions more than positive ones. Is there a way to
achieve this with the default regression LightGBM objectives (see
https://lightgbm.readthedocs.io/en/latest/Parameters.html)? If not, is it
somehow possible to define (many example for default LightGBM model) and
pass a custom regression objective?
Thx in advance!
I want to ask just for clarity purpose that here ,positive and negatives
samples refer to overestimation and underestimation , correct?
Correct. In the end, I went with just using the quantile regression
objective to penalise overestimations more. That worked enough for my task
at hand. Second trick that helped a lot is assigning samples more prone to
overestimate a higher sample weight. Not perfect solutions, but it does the
trick.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/SynapseML/issues/918#issuecomment-908303142,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALH4H56VPQRNJKBSBFWUF53T7N22XANCNFSM4QS2APIA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

I want to ask just for clarity purpose that here ,positive and negatives samples refer to overestimation and underestimation , correct?

Correct. In the end, I went with just using the quantile regression objective to penalise overestimations more. That worked well enough for my use case. Second trick that helped a lot is assigning samples more prone to overestimate a higher sample weight for training. Not perfect solutions, but it does the trick.

Please assign me this @brunocous @imatiach-msft

Hi,
I have found a way to penalize the negative prediction in Regression by using the concepts of Adaboost penalization of wrong Classification Penalization. Basically what it does is, it updates the weight of the negative residual and increase its training example for the next model. This ensures that if the value is overestimated it penalizes it more.  It's a completely new concept which I researched and the work is still in progress.
Please find the attached Docx. which has the steps that I followed
and pdf for the code. Note that I haven't created the intervals due to the lack of time and to meet my Microsoft Project deadline. But I'll work on it later on.
Also, I am unable to create a pull request so I am sharing these files over here. Will love to hear your feedback. Thanks.
Penalizing the Negative Prediction in a Regression Problem.docx
M2LinearRegression.pdf

Penalizing.the.Negative.Prediction.in.a.Regression.Problem.docx
I have Created a pipeline using Azure ML for Regression Model


TypeAdapter with Union has Any type hint argument starting with Pydantic 2.7.0+

Initial Checks

[X] I confirm that I'm using Pydantic V2

Description
Hi, with Pydantic versions 2.7.0+, I cannot have proper type hints for TypeAdapter in combination with Union / |. Versions 2.6.x work properly (see example below). Note this is about type hints for the IDE and not about runtime validation. Most recent Pyright/Basedpyright v1.12.4 (pyright 1.1.365) is used as Language server, but issue is independent of its used version.
Pydantic v2.6.4
(Comments show static type hints by IDE)
from pydantic import TypeAdapter

ad1 = TypeAdapter(str | int) # ad1: TypeAdapter[UnionType]
ad2 = TypeAdapter[str | int](str | int) # ad1: TypeAdapter[str | int]

result1 = ad1.validate_python("foo") # result1: UnionType
result2 = ad2.validate_python(42) # result2: str | int

It would be best, if TypeAdapter for ad1 could infer str | int directly. At least I can annotate types manually.
If no manual type is given, type argument is UnionType.
Pydantic v2.7.0+
(Comments show static type hints by IDE)
from pydantic import TypeAdapter

ad1 = TypeAdapter(str | int) # ad1:TypeAdapter[Any]
ad2 = TypeAdapter[str | int](str | int) # ad2:TypeAdapter[Any]

result1 = ad1.validate_python("foo") # result1: Any
result2 = ad2.validate_python(42) # result2: Any

This is kind of downgrade, as UnionType is more specific than Any. Any also leads to IDE errors, if forbidden by linting rules, like configurable with basedpyright. Last I'd like to still annotate an explicit type argument [str | int], if type could not be inferred, which still results in Any with 2.7.0+.
Reproduction
For most simple error reproduction on command-line and to prove occurence of Any type, copy above snippet in main.py and invoke basedpyright on it (or use IDE of choice with pyright and hover over types):
(venv) $ basedpyright main.py
/path/to/proj/main.py
  /path/to/proj/main.py:8:1 - error: Type of "result1" is Any (reportAny)
  /path/to/proj/main.py:9:1 - error: Type of "result2" is Any (reportAny)
2 errors, 0 warnings, 0 notes

Same happens with older Basedpyright versions. Hence I assume, this must be some kind of issue with Pydantic. Thanks for any help.
Example Code
See above.
Python, Pydantic & OS Version
pydantic version: 2.7.2
        pydantic-core version: 2.18.3
          pydantic-core build: profile=release pgo=true
               python version: 3.12.3 (main, Apr 17 2024, 00:00:00)
                     platform: Fedora 39
             related packages: typing_extensions-4.12.0 typing_extensions-4.12.0
                       commit: unknown

Duplicate of https://github.com/pydantic/pydantic/issues/9147, https://github.com/pydantic/pydantic/discussions/7094
https://discuss.python.org/t/typeform-spelling-for-a-type-annotation-object-at-runtime/51435 is what's needed for TypeAdapter to work with special forms

Hi @Viicos, thanks for mentioning those issues.
Was a breaking change needed for Pydantic 2.7.x? What I tried to express is that current behavior is a regression to earlier Pydantic versions 2.6.x from start of this year.
It already was possible to narrow types by manually specifying the generic type argument for TypeAdapter, e.g. TypeAdapter[str | int](str | int). This is not possible with 2.7.x, given same development environment. Also  UnionType from 2.6.x would be a better choice than Any due to reasons mentioned above.

Closing as a duplicate!

Hi @Viicos, thanks for mentioning those issues. Has there been a breaking change for Pydantic 2.7.x? What I tried to express is that current behavior is a regression to earlier Pydantic versions 2.6.x from start of this year.
It already was possible to narrow types by manually specifying the generic type argument for TypeAdapter, e.g. TypeAdapter[str | int](str | int). This is not possible with 2.7.x, given same development environment. Alos UnionType from 2.6.x would be a better choice than Any without manual annotation due to above reasons.

This due to this change: https://github.com/pydantic/pydantic/pull/8923
I'm not sure why this was changed, but it is definitely a regression since 2.6. As a side note, the typing spec was recently updated (see https://github.com/python/typing/pull/1667) and the current TypeAdapter.__init__ overloads are now invalid wrt to the specification (mixing class based and function based type variables).
I'll come with a PR to update pyright -- which will catch this issue -- and update the overloads accordingly.


Version 2.0: add scrolling

Describe what problem your feature request solves
At the moment we can not scroll across the canvas. We can zoom out and place elements in parts of the canvas that are not accessible when we zoom back in
Describe the solution you'd like
It would be good to be able to scroll the canvas, ether by dragging an element or bumping the edge of the visible area of the canvas. Ideally the cursor / mouse pointer should stay within the visible area of the canvas
Additional context
This is probably already provided by antv/x6, and just needs enabling

I believe this is an easy config change, and would probably go here: https://github.com/OWASP/threat-dragon/blob/a400563b63ee5dc07da50b34d4913247a1e196cd/td.vue/src/service/x6/graph/graph.js#L9
Happy to knock this out quickly when I have a chance or anyone else can take it! :)

I think you have all the knowledge @lreading , so I will be a bit cheeky and assign it to you :)

Done! It should be deployed by the time you see this.  Vertical and horizontal scrolling is enabled by default now.  Additionally, mouse wheel works for vertical scrolling, and holding shift and using mouse wheel will scroll horizontally.

Agreed - works for me as well. Good to see this in place


The sequence is broken for me - there is no startup.cs created

Following the sequence specified on this page, there is no "startup.cs" file created in my project.
When clicking "Publish" there is an error saying that "AddSwaggerGen" needs to be in the Configure method of the Startup.cs file

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: d70145c2-e2ba-77fb-050d-44d18354e370
Version Independent ID: 19c98d91-e5fe-5832-6c75-23e677e469a3
Content: Publish an ASP.NET Core web API to Azure API Management with Visual Studio
Content Source: aspnetcore/tutorials/publish-to-azure-api-management-using-vs.md
Product: aspnet-core
Technology: aspnetcore-tutorials
GitHub Login: @codemillmatt
Microsoft Alias: masoucou

Hello @WayneMRoseberry ... Are you looking at an earlier version of the article. Try the current release version ...
https://learn.microsoft.com/en-us/aspnet/core/tutorials/publish-to-azure-api-management-using-vs?view=aspnetcore-7.0


Crash with GTCEu when create a new world.

Describe the bug
The game will crash when create the world with some seeds(for example:<PHONE_NUMBER>426792493).
Reproducibility

[X] I reproduced this issue with as few other mods as possible installed.
[ ] I am unable to reproduce this issue consistently.

Screenshots and/or videos
No response
Logs
https://mclo.gs/paClmUE
Debug Logs
No response
Crash Reports
https://mclo.gs/uwTAx7u
Alfheim Version
1.2
Forge Version
1.12.2-<IP_ADDRESS>80
MixinBooter Version
8.9
Java Version
1.8-051
Java Virtual Machine
Hotspot
Operating System
Windows 11
GPU Vendor
AMD
Code of Conduct

[X] I agree to follow this project's Code of Conduct

I encountered the same error while testing with Cleanroom, the message given in the log indicated that its a problem from some mod that modifies the world, then I removed RTG and BOP it works fine.
I also installed GregTech CEu 2.6.x (latest), but it is okay.

I encountered the same error while testing with Cleanroom, the message given in the log indicated that its a problem from some mod that modifies the world, then I removed RTG and BOP it works fine. I also installed GregTech CEu 2.6.x (latest), but it is okay.
However there is no RTG or BOP,I reproduced this issue with as few other mods as possible installed.

Could you try with this version: https://www.curseforge.com/minecraft/mc-mods/alfheim-lighting-engine/files/5201011

seems to be fix i was able to create a world with the seed<PHONE_NUMBER>426792493 with GTCEu

Amazing


fix: add missing FText Lua bindings and a global FText(string) function

Add metamethods for the Lua bindings of FText class allowing to construct it
Add global function FText(string) and a table during mod initialization
Add initial documentation for Lua global function

Most things were implemented in a dumb manner, by looking at FName implementation.

@UE4SS any last thoughts before merge?

@UE4SS any last thoughts before merge?

It looks good to me.


Recommendations from CAS Draft paper

As a [description of user]?
As a core team member
I want to [functionality]
I want to identify recommendations from CAS work with indigenous communities that could be acted on under the scope of our product.
So that [benefit]

We can include these in our backlog and plan to work on them at the right time, and keep CAS updated on our plans.
We can build on the work that CAS has already done, and avoid repetitive engagement with indigenous communities.

Additional context
Work includes:

notetakin/braindumping/mindmapping mural

Acceptance Criteria
Agreed-upon confirmation of the requirements when done can be deemed as complete

Related Mural to the users stories created
https://app.mural.co/t/gdxdmsworkspace3388/m/gdxdmsworkspace3388/1651251986018/6f2f1df731ba3c9fd9e7d61eed282a94f7b75898?sender=ud2c76c3f4f2cb9d192119597


Port Windows Forms Samples to VB

Summary
Port WindowsForms/Graphics from C# to VB Core 3.0
Describe your changes here.
Ported code, updated comments added VB Project to existing solution
Fixes dotnet/docs#Issue_Number or dotnet/dotnet-api-docs#Issue_Number (if available)

Is there a way to get the original .gitignore file and add it back?

Yes. Try this:

Change to your master branch (git checkout master).
Copy the .gitignore file to a temporary directory.
Change to your GitWinFormGraphicsVb branch (git checkout GitWinFormGraphicsVb)
Replace .gitignore with the file from the temporary directory.

 Then you can follow the steps above to get it into the GitWinFormGraphicsVb branch.

I think I did it using the first instruction.

Thanks, @paul1956. The .gitignore file has some inconsequential differences, and I've fixed a merge conflict involving three files, so this is ready to merge. Thanks for your patience.


Support declare modifier on class properties

The declare modifier is valid on class properties as of TS 3.7: https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-7.html
Right now, the following parses as if it didn't have the declare or public modifiers.
class Test {
    declare public prop1: string;
    declare prop2: string;
}

https://www.typescriptlang.org/play?ts=4.0.0-beta#code/MYGwhgzhAEAqCmEAu0DeBYAUNH0Am8oYATvNAA4CuARiAJbAXED25AjAFzTLF0B2AcwDcWXPkLhSTVgCYuPfsKwBfIA
It's important to note that this should generate a diagnostic:
class Test {
    declare #other: string;
}

https://www.typescriptlang.org/play?ts=4.0.0-beta#code/MYGwhgzhAEAqCmEAu0DeBYAUNH0Am8oYATvNAMQD2SAFvMQFzTLECWAdgOYDcWAvkA

I'm working on the parsing for this right now.


Add markdown file to ui_screens folder

This PR adds a markdown file to https://github.com/corona-warn-app/cwa-documentation/tree/master/images/ui_screens which informs that these screenshots are outdated.
Related #508

Closing this PR, will come back with better suggestion.


Background upload / download using URLSession transport

We are heavily using openapi to generate our REST library.
In this library we do files upload and download.
Everything works pretty well but now we want to allow background requests.
That means we need to use an URLSession with URLSessionConfiguration.background().
I saw we could override the URLSession but the most challenging part is we need a dedicate delegate for each API we have running in the background.
What's the best way to manage that with an openapi generated library?
For now, we are considering doing it manually, so removing this library from our code :'(

Hi @hivenet-erwanjestin,
I think it should be possible to make this work with the generated client. I can't offer much support on using background tasks with URLSession, but how you can proceed:

fork the URLSession transport repo only: https://github.com/apple/swift-openapi-urlsession
provide the forked version to your Client(...) initializer
see what changes you need to make to make background tasks work

After you have it working, you could contribute your changes back to https://github.com/apple/swift-openapi-urlsession so that it also works for others using background tasks.
But you should be able to use the generator in this repo, and the runtime library without any modifications, all the changes should be isolated to the URLSession transport.

+1 would be nice to have background support


JUST A PROTOTYPE: detect correct array size for ReadAnalogF64

What does this Pull Request accomplish?
Here is some code that calculates the correct array size for ReadAnalogF64. This is just a proof of concept - in my quick tests it seems to calculate the size correctly. (note that it doesn't build off of origin/main because it requires some attributes that haven't made it in yet)
To productize this we would have to:

Move the new code into a helper method that could be called by a bunch of Read*() functions.
Hopefully figure out how to make the Read*() functions call this without requiring us to write a custom implementation for each one.
Decide when to trigger the auto-detection of array size. The option implemented here is to do it when the passed-in array size is 0 (which is also what happens if no values is specified)
Decide how to represent READ_ALL_AVAILABLE - right now this is the constant -1.

Why should this Pull Request be merged?
It shouldn't, this is just for us to take a look at and discuss.
What testing has been done?
Minimal manual testing.

Hi @harsha-bhushan - my plan is to productize this next. Does that sound OK, or should I work on something else?
This seems like a nice-to-have - it makes it easier for users, who don't have to pass in a read buffer size. It is something that we could add later without breaking things, though.

Closing this proof of concept PR


question. bind to array works ?

Does this works with compiledbindings ?
// ViewModel
public string ErrorOf [string index]
{
// get and set accessors
}
// XAML
< textblock Text={x:Bind ViewModel.ErrorOf ["Username"]}
if yes, please considere to add binding to arrays in readme, if no please considere open an issue
UWP Bind supports bind to array property

Yes, you can access elements of an array or of the Item property.
The c# and xaml code in your example is not correct. You can't have named Indexer property in c#. Instead you can have something like this:
public class ErrorsCollection
{
   public string this[string index]
   {
   	get => // some logic
   }
}

class ViewModel
{
   public ErrorsCollection ErrorOf { get; }
}

<TextBlock Text="{x:Bind ViewModel.ErrorOf['Username']}"/>

and what about IndexerName attribute ?
UWP and WINUI recognize it in x:Bind
class ViewModel
{
....
[IndexerName("ErrorOf")]
public string this[string columnName] =>
string.Join(Environment.NewLine,
(from ValidationResult e
in GetErrors(columnName)
select e.ErrorMessage));
public void OnErrorsChanged(object sender, DataErrorsChangedEventArgs e)
{
    if (string.IsNullOrWhiteSpace(e.PropertyName))
    {
        OnPropertyChanged("ErrofOf['']");
    }
    else
    {
        OnPropertyChanged($"ErrorOf['{e.PropertyName}']");
    }
}

Does compiled bindings recognize [IndexerName] attribute ?

IndexerNameAttribute currently is not supported. I'll add it in the next version. Now the property with "Item" name is searched to find the indexer property.
IndexerNameAttribute is actually meant to be able to consume c# libraries in other programming languages. If your code is completely in c#, setting the attribute brings you nothing. You can’t use the name neither in Bindings nor in UWP/WinUI  x:Binds.
In your OnErrorsChanged you can just raise PropertyChanged event with any string. The generated code doesn’t check property names, just updates Binding on any event.
In UWP for this XAML:
<Grid>
  <TextBlock Text="{x:Bind _viewModel[3], Mode=OneWay}"/>
  <TextBlock Text="{x:Bind _viewModel[2], Mode=OneWay}"/>
</Grid>

this c# code is generated:´

public void CollectionChanged__viewModel(object sender, global::System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
{
     MainPage_obj1_Bindings bindings = TryGetBindingObject();
     if (bindings != null)
     {
          global::App7.MainViewModel obj = sender as global::App7.MainViewModel;
           if (obj != null)
          {
                bindings.Update__viewModel_I3(obj[3], DATA_CHANGED);
                bindings.Update__viewModel_I2(obj[2], DATA_CHANGED);
          }
     }
}

In my CompiledBindings notifications for element access expressions are currently not supported. I will also implement it in the next version.


Fix spec bug with assuming same order

Well down the rabbit hole of being frustrated with the build today :\
Fixes https://travis-ci.org/studentinsights/studentinsights/jobs/565549159#L3317, which looks like it's from a test bug mistakenly assuming the same order for records.

selfie


Production mode seems to break worklet detection

Bug report

What is the current behavior?
The following code gets correctly parsed in development mode but doesn't work in production mode.
// index.js
let audioContext = null;

if (audioContext === null) {
    audioContext = new AudioContext();
}

audioContext.audioWorklet.addModule(new URL("./worklet.js", import.meta.url));

Please note that the if statement in the snippet above is rather useless. The original code that made me aware of this issue was way more complicated but this seems to be enough to reproduce the issue.
If the current behavior is a bug, please provide the steps to reproduce.
Save the snippet above as index.js. Create a dummy worklet saved as worklet.js.
// worklet.js
import { TRUE } from './dependency.js';

class SomeProcessor extends AudioWorkletProcessor {
    process() {
        return TRUE;
    }
}

registerProcessor('some-processor', SomeProcessor);

Add another file to fake a dependency.
// dependency.js
export const TRUE = true;

Create a config file named config.js with the following content.
// config.js
module.exports = {
    module: {
        parser: {
            javascript: {
                worker: [
                    "*audioContext.audioWorklet.addModule()",
                    "*audioWorklet.addModule()",
                    "..."
                ]
            }
        }
    }
};

With all this in place running npx webpack --config ./config.js --entry ./index.js --mode production will not produce the expected result. The worklet.js file remains unprocessed and seems to be treated like an asset. The import statement remains untouched.
However running npx webpack --config ./config.js --entry ./index.js --mode development will produce the expected outcome. The worklet.js file gets processed as JavaScript and the dependency will be inlined.

What is the expected behavior?
I would expect the worklet.js file to get processed in both modes.

Other relevant information:
webpack version: v5.88.1
Node.js version: v18.16.1
Operating System: macOS
Additional tools: npm/npx v8.19.3

Sorry, I forgot to mention that this is probably related to the changes made in #17212.

I created a repo with the test case mentioned above.
https://github.com/chrisguttandin/webpack-audio-worklet-bug
The bug still persists with webpack v5.89.0.

bump


Multiple Workers per Test Case

Updates README and prep.sh to work with the new test configuration format that allows defining multiple instances and multiple test cases per instance with a varying number of workers per test case
Removes monitoring/k8s.json since its going to be tracked via https://github.com/hyperledger/firefly-helm-charts/pull/43 going forward
Refactors config structs to better reflect the test concepts of: performance test, runner, instance, test case, and worker.

Do we intentionally check in the tarball at charts/firefly-perfnode/charts/firefly-0.5.0-20220421-139.tgz @hfuss ?

@peterbroadhurst good call, on internal projects we like to vendor the chart deps but for these charts committing just the Chart.lock is sufficient.


Device equipment management is deprecated and needs to be removed from the source code.

Device equipment feature is not in use now, and provides unnecessary complexity in code, extends API, and produces pain rather than happiness, lets remove API that allows anyone to manage equipment assigned to device for now.
One equipment feature will be required it would not be difficult to add it.

Postponed so far, please see discussion in https://github.com/devicehive/devicehive-admin-console/issues/20#issuecomment-147693751


runtime test suite

I wasn't able to test everything but I think we have a good cover to start with.
./tests/runtime.sh to run the tests

I'm also seeing this warning: DeprecationWarning: Please use assertRegex instead.

I don't think we can include a precompiled binary (the exe file) as part of the tests. It won't run on every computer

We should include the source code and build as a pre-test step (ideally as a make dependency). Also:

I think we should be able to run those tests with make (maybe make test-runtime?)
Docs should be updated to explain how to run these tests.

I'm also seeing this warning: DeprecationWarning: Please use assertRegex instead.

Maybe it has to do with Python's version. I'm using 2.7

Can these tests be made to run on python 3 as well please? That's what python resolves to on my computer

Can these tests be made to run on python 3 as well please? That's what python resolves to on my computer

An easy solution would be running python2 instead of python. Does it work on your computer?

I'd prefer to have new code written in python 3 rather than 2 since it's where all the development of the python language is going now. I think it's been out long enough that almost every distribution supports it now

I'd rather call tests/python -> tests/runtime and runtimetest -> runtimetest-fixture, but this can be done in a follow up PR. Running those tests in Travis is also something we want (again, can be done in a follow up PR).
@ajor WDYT of the current state of this PR?

I agree with @mmarchini's suggested naming and at a quick glance I see that there are some more lines which need to go back from tabs to spaces. I'll have a bit more time at the weekend to go over it all though.

@ajor, about the pythonic solution would this be better:
    def test_kprobe(self):
        test_name = "kprobe"
        bpf_line = "'kprobe:do_nanosleep { printf(\"SUCCESS '$test' %d\\n\", pid); exit(); }'"
        expected = Utils.regex_uint(test_name)
        bpf_call = Utils.prepare_bpf_call(bpf_line, test_name, expected)
        Utils.run_test(self, bpf_call, expected)

I think there are two things we can not get rid of: The bpf_line and a regular expression to compare against. It is still calling the shell but it is quite hidden and it is more structured

Just an idea - to make it more clear what the tests are doing, perhaps the
tests should be in a separate text config file, that python parses. Eg:
NAME hello test
RUN bpftrace -e 'BEGIN { print("hello world\n"); exit() }'
EXPECT hello world
TIMEOUT 5

NAME string test
etc...

Or some syntax better than that.
On Thu, Nov 22, 2018, 3:23 PM Alastair Robertson<EMAIL_ADDRESS>wrote:

Yeah that looks a lot cleaner!
I agree about those two parts of the test needing to stay. The bpf_call
variable could be hidden inside Utils.run_test to further reduce the
amount of code in each test though. I would also just hardcode the printf
format string rather than using $test - I think a small amount of
duplication in tests is fine if it makes it clearer what the expected
output should be.
So maybe it could be reduced to something like this:
def test_kprobe(self):
prog = 'kprobe:do_nanosleep { printf("SUCCESS kprobe %d\n", pid); exit(); }'
expected = Utils.regex_uint("kprobe")
Utils.run_test(self, prog, expected)
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/iovisor/bpftrace/pull/226#issuecomment-441133072, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABDNm4Ef2TsGxV5cQG2krSPdnG8QwIy5ks5uxzH-gaJpZM4YCtjl
.

... my last comment is missing newlines.
On Thu, Nov 22, 2018, 3:23 PM Alastair Robertson<EMAIL_ADDRESS>wrote:

Yeah that looks a lot cleaner!
I agree about those two parts of the test needing to stay. The bpf_call
variable could be hidden inside Utils.run_test to further reduce the
amount of code in each test though. I would also just hardcode the printf
format string rather than using $test - I think a small amount of
duplication in tests is fine if it makes it clearer what the expected
output should be.
So maybe it could be reduced to something like this:
def test_kprobe(self):
prog = 'kprobe:do_nanosleep { printf("SUCCESS kprobe %d\n", pid); exit(); }'
expected = Utils.regex_uint("kprobe")
Utils.run_test(self, prog, expected)
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/iovisor/bpftrace/pull/226#issuecomment-441133072, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABDNm4Ef2TsGxV5cQG2krSPdnG8QwIy5ks5uxzH-gaJpZM4YCtjl
.

I like the idea of moving tests definitions to a text file. We can also add BEFORE/AFTER optional arguments for tests with a command to be run before or after running bpftrace (to generate working, avoiding sleep 1s & ... and sleep 15s && ./runtimetest ...).

my last comment is missing newlines

Can be done if EXPECT is a regexp.

Closing in favor of #288


Dataset agg

Codecov Report

Merging #49 into develop will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##           develop       #49   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           19        19
  Lines         1050      1062   +12
=========================================
+ Hits          1050      1062   +12

Impacted Files
Coverage Δ

src/zero_one/geni/core.clj
100.00% <100.00%> (ø)

src/zero_one/geni/dataset.clj
100.00% <100.00%> (ø)

src/zero_one/geni/sql.clj
100.00% <100.00%> (ø)

src/zero_one/geni/window.clj
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


use 'unstable sort' for sorting primitives

primitives can be safely sorted using unstable_sort for borderline homeopathic performance improvements

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @ehuss (or someone else) soon.
If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.
Please see the contribution instructions for more information.

@bors r+

:pushpin: Commit fd5b57c25b8031a245cd67eb97b1b43e722f7e9b has been approved by Eh2406

:hourglass: Testing commit fd5b57c25b8031a245cd67eb97b1b43e722f7e9b with merge 91a8f7944c5fd0aad11d6c6dbb4a4e2e454b6b4e...

@bors: r-
Oh sorry I'm personally not a huge fan of this because it arguably makes code less readable for no benefit. If there's no measurable difference I don't think there's any reason to use unstable_sort, and if there is then there should be a comment indicating why we're using it instead of the more readable sort.

:sunny: Try build successful - checks-actions
Build commit: 91a8f7944c5fd0aad11d6c6dbb4a4e2e454b6b4e (91a8f7944c5fd0aad11d6c6dbb4a4e2e454b6b4e)

@bors: r-
Oh sorry I'm personally not a huge fan of this because it arguably makes code less readable for no benefit. If there's no measurable difference I don't think there's any reason to use unstable_sort, and if there is then there should be a comment indicating why we're using it instead of the more readable sort.

i'm fine with that. happy for this to be closed


Comments

Would be great to have a comment system for markets. Could use whisper, orbit-db, or a fork of origins messaging stuff, not sure which is better. Each market is its own comment thread whereas chat is site wide

Dup #2373


Neovim plugin errors as soon as I try :Ghcid

I'm on Neovim v0.3.1, with the plugin for GHCid installed as per the instructions on this Github repo. I have the following in my .ghci file:
:set -fwarn-unused-binds -fwarn-unused-imports
:set -isrc

I have a Stack project with a single source file in src/AI titled Foo.hs (which is in the exposed-modules part of my cabal file), consisting currently of a module declaration and nothing more. If I open it from the toplevel directory of my project where my .ghci file resides (that is, I call nvim src/AI/Foo.hs), and then try to do :Ghcid, I get this error:
Error detected while processing function 8:
line    2:
Ghcid: Exited with status 127
Press ENTER or type command to continue

If I try again, I get the same error, only with the function number changing.
Am I missing something here, or have I hit a bug?

Upon further investigation, it appears this happens because I have a project-local build of GHCid (using stack build) rather than a global one (using stack install). I know this because manually removing .ghci and running stack exec ghcid works just fine. Is there something I can set in my config file to allow it to still work if I have a project-local ghcid executable?

You can try adding let g:ghcid_command = "stack exec ghcid" to your vimrc before the plugin is loaded. That might do it.


Add better support for CSS properties*

* or any words containing dashes, really.

Dynamically remove \- from the default word definition regex as it treats words containing - as two, causing broken completion.

I wonder if instead, we should fix the root issue causing the problem that this PR addresses. Namely: the wordRegexp that is used by the cursor in finding the beginning of a word in a .css or .less file could be enhanced such that the cursor does not skip to - as a boundary.

@benogle I wonder if instead of using 'word' boundaries as a way to find a prefix, we should instead use 'token' boundaries. Can you think of a better way to find the prefix (by default - i.e. currently, providers can choose to find the prefix in a different way, should they desire).

@stnvh This could also be addressed by dedicated CSS / LESS providers, which is something on @benogle's list of things to do, I believe.

I created a package to temporary fix this globally, by checking current syntax scope and amending the regex accordingly here.
Clearly changing regex on the fly is not ideal, but it's on the right tracks to a proper implementation. (also: please forgive code, as I'm not too familiar with coffeescript!)

This was solved here: https://github.com/atom/autocomplete-css / https://atom.io/packages/autocomplete-css. Closing this.


MWPW-135821 add ability to replace merch-card in mep

mep decorates whatever selected element with override path specified in manifest,
merch-cards fetches specified override paths and replace them if matching name properties

Resolves: MWPW-135821
with following manifest added to the page

action
selector
page filter (optional)
target-challenger name

replaceMerchCard
.merch-cards

/drafts/npeltier/fragments/merch/products/catalog/photoshop/promo

before & after personalisation (see photoshop card)
Test URLs:

Before: https://main--cc--adobecom.hlx.page/drafts/npeltier/promocard-test?milolibs=mwpw-135821--milo--npeltier
After: https://main--cc--adobecom.hlx.page/drafts/npeltier/promocard-test?milolibs=mwpw-135821--milo--npeltier&mep=%2Fdrafts%2Fnpeltier%2Fpromo-test.json--target-challenger+name

ok @chrischrischris then i guess i'll wait for that discussion before adressing your other comments :)

@chrischrischris @vivgoodrich can you point me to related PR? may be i could start build this one upon it


VRChat just added EasyAntiCheat

Game Title
VRChat
Status of the Anti-Cheat
⭐ Supported
Tinkering Steps
No response
Proof of Mention
https://canary.discord.com/channels/189511567539306508/189511567539306508/1001189606894600293 (in vrchat discord, screenshot: https://media.discordapp.net/attachments/899313429054128168/1001190784483196948/unknown.png)

whoops, accidentally used the update game template instead of the request new one, as mentioned anticheat is EasyAntiCheat, website is https://vrchat.com/

The FAQ might be a better source: https://hello.vrchat.com/blog/vrchat-security-update

Does this prevent people from playing VRChat on platforms like SteamOS on the Steam Deck? What about Linux via Proton?
No, we’ve tested this! EAC works fine on these platforms. Thanks to Valve and the Proton team for all their hard work.


expiration date in devices page

Greetings, and thank you very much for the excellent traccar system, is it possible to add the expiration date list to the devices tab, as well as it is in the users panel? That would help a lot with their controls

It's already available in the list of users. Added to the device list.


bump google-api-client to ~> 0.8, < 0.9.5

google-api-client dropped ruby 1.9 support in 0.9.5.
Ubuntu Trusty (current LTS) still have Ruby 1.9 by default, so it's
impossible to run beaker on this platform with official packaging.
See https://github.com/google/google-api-ruby-client/issues/397

We might need a release when this patch is merged, OpenStack CI is currently broken.
Thanks a lot!

Refer to this link for build results (access rights to CI server needed):
http://jenkins-beaker.delivery.puppetlabs.net//job/qe_beaker_btc-intn/2384/
Test PASSed.

@EmilienM, thanks for submitting this PR!  If you'd pre-pend your commit message with the (MAINT) tag, then everything should be up to our standards, and we can get this merged!

@kevpl done, thanks!

Refer to this link for build results (access rights to CI server needed):
http://jenkins-beaker.delivery.puppetlabs.net//job/qe_beaker_btc-intn/2395/
Test FAILed.

Jenkins didn't actually fail, I just killed it since everything looks the same. Thanks for updating this! :+1:


Help command

Enumerate all available commands.
(Kinda tempted to skip this because it'll be redundant when the discord library gets slash commands.)

Fixed with 8bc36ac50d0b0d4a4cf4c22994bed2412570349d


Updated DeviceClass for signal and battery sensor entities

The TRV and ROOM sensors had device classes for Battery and Signal entities set to HUMIDITY. This meant that some custom cards I was using to track battery levels weren't recongising the wundasmart entities. Updated these to use BATTERY and SIGNAL_STRENGTH respectively. Not noticed any ill effects in my usage of the integration for the past few days.

Good catch, thanks for the PR!


Add Slack as an extension API

Closes #https://github.com/boomerang-io/roadmap/issues/352
Implement new /apis/v1/extensions/slack endpoints to allow the integration with Flow via a Slack App. This PR addresses this and creates the first alpha PoC.
Changelog
New

/apis/v1/extensions/slack/commands endpoint for responding to Slash Commands
/apis/v1/extensions/slack/interactivity endpoint for responding to Modal submission
New SlackExtensionImpl

Changed

Updated Auth Filter to handle retrieving API token from access_token request parameter in addition to the existing x-access-token request header.

Testing / Reviewing
{{ Add descriptions, steps or a checklist for how reviewers can verify this PR works or not }}

Hey @amhudson @marcusdroy this is ready for review.
It is already tested in Flowabl's dev environment and part of it is already in our production environment.


WIP - allow custom pre-processors

This adds custom preprocessor support.
No automated test yet. Run the demo like this:
./cli.js --compilers=coffee:cofee-script/register ./test/fixture/custom-processor.coffee

Currently it runs our own Babel transform on the coffee-script transpiled code.  This allows the use of generators, async/await, etc. without users having to manually configure Babel. I am not sure this is the right strategy. While it provides an easy path to use ES2015 goodness in your coffee-script tests, there will likely be scenarios where users want to specify their own Babel setup, and just use our runner.

Should we include a flag to disable our Babel hooks?
Should automatically disable our Babel hook when we see --compilers= or --require=?
If we do 2, should we provide a way to reenable?

Rather than depending on coffeescript is it more illustrative to code up a simple .txt "compiler"?

I am not sure this is the right strategy. While it provides an easy path to use ES2015 goodness in your coffee-script tests, there will likely be scenarios where users want to specify their own Babel setup, and just use our runner.

This would work though wouldn't it? I bring my own Babel set up, and make sure my require hook is loaded first. Then AVA compiles power assertions and async/await on top of that. I don't have to worry about configuring either of those and AVA doesn't have to care how I write my code.

Rather than depending on coffeescript is it more illustrative to code up a simple .txt "compiler"?

Sure - I will probably steel from whatever simplified transforms you end up adding to the nyc test suite. :stuck_out_tongue_winking_eye:

This would work though wouldn't it?

I'm not sure, but I really doubt it. The issue blocking our Babel 6 adoption is actually related to Babel running a particular transform twice. (It transforms all typeof statements, but the generated code contains a typeof statement, which gets transformed again).
Perhaps (with Babel 6), we could fallback to only running the power-assert transform, instead of the full es2015 preset.

The more I think about this, we really can't run the power-assert transform after regenerator or asyncToGenerator transforms. power-assert needs to see the original AST - it uses it to pass a copy of the source to it's renderers.
t.is(await foo, await bar);

becomes (very approximately):
t.is(t._expr(t._capt(await foo), {source: 't.is(await foo, await bar'}), ...

applying after the asyncToGenerator transform, the source passed to power-assert would end up scrambled.
t.is(ctx.$0$0, ctx.$0$1)

I am beginning to wonder if it would not be best to just adopt a "take it or leave it" approach to the transform setup we provide. If users want to provide their own transform they need to provide a complete one, and we just don't touch it. We can provide documentation (and possibly convenience methods) for including the power-assert transform.
At a minimum, I think we need to provide a way for them to tell us to skip our transform via a flag in the CLI.
// @sindresorhus @vdemedes

Perhaps (with Babel 6), we could fallback to only running the power-assert transform, instead of the full es2015 preset.

That's what I was thinking, yes.

The more I think about this, we really can't run the power-assert transform after regenerator or asyncToGenerator transforms. power-assert needs to see the original AST - it uses it to pass a copy of the source to it's renderers.

Yes that sounds like a show-stopper for this. Too bad! (Unless we revert that line using a source map… but that gets too complicated.)

I am beginning to wonder if it would not be best to just adopt a "take it or leave it" approach to the transform setup we provide. If users want to provide their own transform they need to provide a complete one, and we just don't touch it. We can provide documentation (and possibly convenience methods) for including the power-assert transform.
At a minimum, I think we need to provide a way for them to tell us to skip our transform via a flag in the CLI.

:+1:


Add button to translate text resources using external translation service

It would be helpful to be able to confige the integration of an external translation service (Microsoft Translator, DeepL, Google Translate) to translate text resources  in bot responses and user input sample phrases by just one click primary language in one or many secondary languages.

Hi @Clooney24 and thank you for the feature request! We'll consider this for our roadmap. No plans to implement this at the moment.


Wrong parameter, should be url

The parameter u doesn't exist, it seems to be a typo of url

Ah yes. Embarrassing. Thanks.


k8s: multi-cluster does not show child elements of 2nd cluster

Using kind I created a two cluster k8s environment:
kind create cluster --name cluster1
kind create cluster --name cluster2

I then setup 3 analyzers:

main
cluster1 (k8s.config_file=/home/vagrant/.kube/kind-config-cluster1)
cluster2 (k8s.config_file=/home/vagrant/.kube/kind-config-cluster2)

I got the following:

me bad (I had wrongly configured cluster1 one to only show k8s.cluster resources) ... working:


Added multiplayer turns, reset and pass buttons

https://caalberts-scrabble-pr-3.herokuapp.com/
I think most of the interaction should be done. Pardon the ugly colour scheme, will leave that to the last part. Next is validations and scoring, which is the most complex.

making sure submitted word is valid English word (still looking for API or dictionary which can be used)
validating placement of submitted word e.g:
placed on starting tile
adjacent to existing letters
scoring the submitted word and applying bonus
scoring other words created by connecting to existing letters
@cbas

@cbas thanks. will look into refactoring and using stylus after I get the scoring up.
I have also made new commits from today to check on the letter placements. I have an idea on how to do it better but that has to wait until after scoring is done


add ms teams notifications

LGTM

Have you seen https://github.com/weaveworks/kured/pull/228, which would enable other notifications as well? AFAICS it would just need rebasing?

@yershalom @rossdotpink @dholbach what do you think about this approach instead?:
https://github.com/weaveworks/kured/pull/315

I like @atighineanu 's work and we tested the patch together a bit when we the PR first came up. It looks fairly comprehensive and like a good, more general solution.

@dholbach It's better approach, I'm closing this.
Thanks yall


websocketDidWriteError not used

It seems that the delegate method websocketDidWriteError isn't used (nor called) across the whole WebSocket.swift implementation.
To avoid confusion and missing features, it should be removed from the WebSocketDelegate protocol declaration.
Another option would be to mark it as optional (since it is currently mandatory to be implemented in delegate object but never called) but this wouldn't solve the 'missing feature' issue.
What do you think?

I agree and vote we just remove it. It appears to be something that was carried over from jetfire and got replace by the disconnect delegate method at some point. Thanks for pointing it out.


Problems on webpack and Symfony installation

Hi , i'm studying clmtrackr, and i want to add it to my symfony project .
I setup everything and seem i can get access to it , but when i run the project getCurrentPosition return false and i get a weird error  that maybe is related to the dependency of jsfeat , but i'm not sure.
I share some code , there is  my app.js file
import clm from 'clmtrackr';

console.log('Hello Webpack Encore! Edit me in assets/js/app.js');

console.log("video hello");
const constraints = {
   video: true
};

const video = document.getElementsByTagName("video")[0];
console.log(video);
navigator.mediaDevices.getUserMedia(constraints).
then((stream) => {
   console.log(stream);
   video.srcObject = stream

   var ctrack = new clm.tracker();
   //debugger;
   console.log("START!");
   var canvas = document.getElementById('mycanvas');
   ctrack.init();
   console.log(document.querySelector('video'));
   ctrack.start(video);
   //let dueContext = this.canvas.getContext('2d');
   // console.log(document.getElementById("monaimage"));
   //this.ctrack.start(document);
   let update = () => {
       window.requestAnimationFrame(update);
       let positions = ctrack.getCurrentPosition();

       ctrack.draw(canvas);
       console.log("position: " + positions);
       // console.log("LOL!@#!$")

   };
   update();
});

and that's the error i get
blob:http://localhost:8000/e5a722f8-80e3-4305-85b5-40e629b26fa5:5 Uncaught ReferenceError: module is not defined
at blob:http://localhost:8000/e5a722f8-80e3-4305-85b5-40e629b26fa5:5
at self.onmessage (blob:http://localhost:8000/e5a722f8-80e3-4305-85b5-40e629b26fa5:5)
I hope that someone can help me , thanks

Hi @AlboCode I'm currently facing the same issue. I'm implementing clmtrackr in my project too.
Have you got it working?
Thank you

Hi @laurent-kouassi ,  nothing to do , I also tryed to install jsfeat but it didn't works.
I will keep work on it .

@AlboCode please let me know asap as you find any better solution.
I will do let you know if I get it working too.
Keep it touch.
Thank you 🙂

@AlboCode by any chance does it has something to do with canvas size and video size as they have to be size within the same width and hight?

@AlboCode by any chance does it has something to do with canvas size and video size as they have to be size within the same width and hight?

@laurent-kouassi my video and canvas have the same size .
that's my html code.
 <video id="videoel" width="400" height="300" preload="auto" autoplay>
    </video>
    <canvas id="mycanvas" style="position: absolute;top: 0;left: 0;" width="400" height="300"></canvas>

I also tried to process an image , but seems that something miss.

It worked for me when I set useWebWorkers to false in parameters. It might have something to do with how the Worker is created?
var ctrack = new clmtrackr.tracker({
  faceDetection: {
    useWebWorkers: false,
  },
});

@janrozic that didn't work for me.  Have you installed jsfeat? If yes how does it affect your framework webpack.
Thank you,


[balance] Don't see random messages often enough

Increased from '1 to 3' to '2 to 4'.  Will be in next push.


Some service client calls are throwing exceptions that aren't annotated

Take for example PredictionServiceClient:
https://github.com/googleapis/google-cloud-php/blob/d108fd69a9150797863d194fd02eb6384b42ce22/Retail/src/V2/Gapic/PredictionServiceGapicClient.php#L423-L425
PredictionServiceClient::predict() declares that it can throw Google\ApiCore\ApiException, but there's no mention of the GuzzleHttp\Exception\GuzzleExceptions that it will throw e.g. as part of the authentication flow.
I brought this up in https://github.com/googleapis/gax-php/issues/474, but it seems on the side of google/gax this behavior is intended.
(see also that issue for a reproduction case)
Thus the exception signatures on these clients are currently unreliable.

@tscni thank you for reporting this issue! You are correct that the underlying auth library can throw a Guzzle exception. We can look at updating the PHPDoc to reflect this.
The interesting thing to me though is that using HTTP to call the OAuth2 token endpoint is something the the library should only be doing in very rare cases. As long as you use Service Account Credentials, the underlying auth library will sign a JWT token with those credentials and call the Retail API directly.
Looking at your example code (thank you for providing it!) in the linked issue, you're using user credentials (client_id/client_secret) instead of service account credentials (private_key_id,private_key). Is this intentional (e.g. your library is making calls on behalf of a 3rd party and so needs to use 3LO auth flow), or is this a case where you could switch to using Service Account Credentials instead?

The actual issue behind it is that we use several of these APIs (not just retail) in local dev environments that occasionally don't have an active internet connection. There we don't use service accounts but rather generated user credentials.
Obviously that's not too important. The more important part is that we start to doubt the reliability of the library and rather tend to put all related calls in a try ... catch(Throwable) block.
Maybe there are other exception types that might be thrown in some edge case circumstances?
(I.e. it's more a theoretical than a practical issue)
I actually don't quite understand why you wouldn't want to wrap the Guzzle exceptions in an ApiException to keep the API surface simple.


feat(@schematics/angular): remove ngOnInit from component template

This commit removes the constructor and ngOnInit as most of the users prefer to add this manually if needed.
Closes #23678

I like this change!


Metadata for discovered models?

Currently, from what I can tell, the persistent-discover function (discoverEntites is maybe the particular Haskell implementation) is one-way in the sense that information is lost about the file metadata for those models. So any analysis or transformation of the EntityDefs from those files can't be related back. This data would be really useful to have for tooling around linting and generation (I'm currently trying to write a generator for history tables).
So basically, I'd be be happy with a filepath on each entitydef, although I think ideally it'd be something like:

An extent: The filepath, lines and columns
When the entity was parsed
Maybe extra metadata that would be helpful for tooling persistent that I'm not thinking about or don't know enough about persistent to see the need for?

Hmm - that information isn't really lost, it's just never available in the first place. There are two things that happen here:

The pgmF formatter makes a big import list of every module in the subdirectory
There's a call to discoverEntities that calls reifyInstances to get the instances of PersistEntity into scope.

The EntityDef contains enough information to make a PersistEntity instance for it, so you could in theory have a function mkHistoryTable :: EntityDef -> Q [Dec] that converts the given definition into the splices rquired for a HistoryTable on that definition.
You can use Typeable to get a TypeRep, which has module definition information. I think you can discoverInstances that by making a class:
class (Typeable a, PersistEntity a) => TypeableEntity a
instance (Typeable a, PersistEntity a) => TypeableEntity a

typeableEntities :: [SomeDict TypeableEntity]
typeableEntities = $$(discoverInstances)

But I think I'd need to know more about what you want to do with the information you're requesting. Some of it isn't generally available to any part of the persistent process (ie true line or column numbers - you know it for a file, but not for a quasiquoter)

Ah ok, it sounds like what I'm asking for isn't available at this layer — will close


Getting stream metrics when using kvssink gstreamer element

It seems that there is no way getting the current status when using kvssink gstreamer element.
Some good metrics gets printed when the logging is set to DEBUG. Is there any way to get them via callback or something like this?
[DEBUG][2019-02-27 08:16:08] Kinesis Video client and stream metrics
	>> Overall storage byte size: 536870912
	>> Available storage byte size: 536768996
	>> Allocated storage byte size: 101916
	>> Total view allocation byte size: 144072
	>> Total streams frame rate (fps): 8
	>> Total streams transfer rate (bps): 22297200 (21774 Kbps)
	>> Current view duration (ms): 2
	>> Overall view duration (ms): 6005
	>> Current view byte size: 9765
	>> Overall view byte size: 100030
	>> Current frame rate (fps): 8.87216
	>> Current transfer rate (bps): 22297200 (21774 Kbps)

@ib1368 what is your scenario and what exactly are you trying to achieve? In general, we are not exposing any of the low-level callbacks in the kvssink element. It's an interesting option but I would like to learn a little more about your scenario. Perhaps, you need more information about the metrics instead of the callbacks? Are you building some custom logic on top of it?
On the other hand, if you are integrating with the SDK directly (similar to what the kvssink does) you can have full control over the callbacks.

@MushMal Yes. I need to expose these stream metrics to another module.

@MushMal Yes. I need to expose these stream metrics to another module.

Thanks. As I mentioned, we currently do not expose these metrics through the kvssink - this is something we will look into.
Meanwhile, if you can modify the source code of the kvssink then you could expose these metrics to your downstream consumers. There are two public APIs which expose these metrics:
Producer:
KinesisVideoProducerMetrics getMetrics() const;
Stream:
KinesisVideoStreamMetrics getMetrics() const;
In your code you could call these to get the metrics and expose these to the downstream. You could do something similar to the code in KinesisVideoStream::putFrame LN 50
The area where you can insert this in the sample processing in the kvssink just before this line:
https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp/blob/master/kinesis-video-gstreamer-plugin/plugin-src/gstkvssink.cpp#L1041
Please let us know if you need any help.

I investigated it more and saw that in the gst-inspect-1.0 kvssink output we have:
  qos                 : Generate Quality-of-Service events upstream
                        flags: readable, writable
                        Boolean. Default: false

So How can I used this field and what will be the outcome?
there are some ways of waiting for qos messages on gstreamer bus. But as I tested it nothing happened.

I investigated it more and saw that in the gst-inspect-1.0 kvssink output we have:
  qos                 : Generate Quality-of-Service events upstream
                        flags: readable, writable
                        Boolean. Default: false

So how can I use this field and what will be the outcome?
there are some ways of waiting for qos messages on gstreamer bus. But as I tested it nothing happened.

Also wanted to know if you have any plan to support it, in near future?

Hi @ib1368 , As @MushMal  has mentioned, the metrics are not exposed through the kvssink; we will update the Github release when this new feature is supported.  Thanks


Incorrect Child Node warning of devices and eventual crash within Homekit.

Describe The Bug:
Too many devices are reported per Child Node even though it is well under 150 per node, eventually after ~2-4 weeks, the entire system becomes unresponsive,  Bridge needs to be removed and re-added to homekit.
To Reproduce:

Have an environment with over 300 Accessories combined (dimmers, switches, shades).
Create 3 Child Bridges, and enable Switches to Child Bridge 1, Dimmers to Child Bridge 2, and Shades to Child Bridge 3.  This ensures that no single child bridge has over 150 devices.
Pair all three child bridges with Homekit.
Warning of"[12/8/2023, 6:46:17 AM] [Crestron Home Platform] Returning more than 149 devices, Homebridge may crash -  329" is reported in the error log for each child bridge.
Difficult to reproduce, but after about 3-4 weeks of running flawlessly, despite the warning, child node connected devices begin to report "Unresponsive" in homekit.  Ie., first Shades, then a week later Switches.
Accessories within Homebridge itself continue to report proper status and show online, its Homekit that begins to report Unresponsive.
Requires complete removal of each bridge from HomeKit, and pairing again.

Expected behavior:

because no individual Child Node has over 150 devices, it should not report this warning per child node.
Homekit connected bridges should not report Unresponsive per child-node accessories.

Logs:
12/8/2023, 6:50:56 AM] [Crestron Home Platform] Updating Devices state
[12/8/2023, 6:50:57 AM] [Crestron Home Platform] Updating Devices state
[12/8/2023, 6:50:57 AM] [Crestron Home Platform] Succsessfully authinticated, working with version:  2.000.0003
[12/8/2023, 6:50:57 AM] [Crestron Home Platform] Returning more than 149 devices, Homebridge may crash -  329
[12/8/2023, 6:50:57 AM] [Crestron Home Platform] Returning more than 149 devices, Homebridge may crash -  329
[12/8/2023, 6:51:16 AM] [Crestron Home Platform] Updating Devices state
[12/8/2023, 6:51:17 AM] [Crestron Home Platform] Returning more than 149 devices, Homebridge may crash -  329
Show the Homebridge logs here, remove any sensitive information.

**Plugin Config:**

        {
            "name": "Crestron Home Platform",
            "crestronHost": "<IP_ADDRESS>",
            "token": "XXXXX,
            "enabledTypes": [
                "Switch"
            ],
            "updateInterval": 60,
            "platform": "CrestronHomePlatform",
            "_bridge": {
                "username": "XXXXX",
                "port": 42490
            }
        },
        {
            "name": "Crestron Home Platform",
            "crestronHost": "<IP_ADDRESS>",
            "token": "XXXXX",
            "enabledTypes": [
                "Shade"
            ],
            "updateInterval": 50,
            "platform": "CrestronHomePlatform",
            "_bridge": {
                "username": "XXXXX",
                "port": 51730
            }
        },
        {
            "name": "Crestron Home Platform",
            "crestronHost": "<IP_ADDRESS>",
            "token": "XXXXX",
            "enabledTypes": [
                "Dimmer"
            ],
            "updateInterval": 40,
            "platform": "CrestronHomePlatform",
            "_bridge": {
                "username": "XXXXX",
                "port": 49157
            }
        }
    ]

**Screenshots:**

**Environment:**
Raspberry Pi - latest

1.1.5 (just upgraded and will be testing on 1.1.6)
* **Homebridge Version**:  latest
* **Node.js Version**: v18.18.2
* **NPM Version**: <!-- npm -v -->
* **Operating System**:  RaspberryPI - Debian GNU/Linux Bullseye (11)

<!-- Click the "Preview" tab before you submit to ensure the formatting is correct. -->

You can safely ignore the warning. Please try using version 1.1.6, there is a fix addressing stability issues.

Just updated to 1.1.6 the same day of that post.  I'll monitor it on the new version.  Thank you!

Fix in 1.1.6 didn't help. The issue the same as mentioned in the issue #3
As a workaround, you don't need to remove the bridge, deleting cached accessories will help.
In my case (running Homebridge on Raspbian):
Ssh to the Raspberry Pi
cd /var/lib/homebridge/accessories/
sudo hb-service stop
sudo rm cachedAccessories.[YOUR-BRIDGE]
sudo hb-service start
The Homekit should work properly after this.

I believe @mcm246 fixed the issue in 1.1.8 along with incorrect warning  Please try it.


Conversion of a pegjs file to BNF or vice versa ?

Hi,
I'm not javascript developer, but I have a set of pegjs file used in the frontend. However for various reasons, I'd like to reuse the grammar in another context and particularly in another language / ecosystem.
I haven't really found anything that suggest this is a common thing. Am I mistaken ? If that's the case is there any pointer on how to do this ?
Thank you in advance.

The node-abnf project just got a release that translates ABNF to Peggy.
Going the other way should be possible for a subset of Peggy syntax, but ABNF doesn't have support for assertions, or predicates.  Character classes are going to end up somewhat messy. Actions are obviously going to be stripped out.  If that's interesting, someone could decide to write a Peggy plugin that replaces JS generation with ABNF generation.
I don't think that generating ABNF belongs in this project, but it might belong in node-abnf.  If you'd like to re-open this there, I'll at leave it open as an enhancement request.

Hi.
Interesting, thanks for letting me know about this project. I don't know much about ABNF versus eBNF / BNF. Nor if the other tools could support this grammar.

If that's interesting, someone could decide to write a Peggy plugin that replaces JS generation with ABNF generation.

Maybe that's the interesting thing, but I'm not sure how to start (more so since JS / TS are not the language ecosystem I'm working with).
I also do believe this could be enhancement to this project, as it helps integrating grammars of several stacks. I.e. have a single grammar source that could be declined - I'm not yet sure what should be the grammar source format though.


Cannot import classes from shared library

Hello! Having a strange issue with TypeManager.TS.
We have multiple frontend [Vue, if it matters] applications that all have variations on some base entities common to all aspects of our business.
In my initial implementation, I started using TypeManager.TS in only one app. But I am trying to break those classes into a base class that I put into a common/shared library, and then I extend with app-specific classes. For example:
// common_lib/entities/User.entity.ts
import { Property, Type } from '@dipscope/type-manager'

@Type()
export class UserEntity {
  @Property()
  id: number
  ...
}

// common_lib/entities/Company.entity.ts
import { Property, Type } from '@dipscope/type-manager'

@Type()
export class CompanyEntity {
  @Property()
  id: number
  ...
}

// common_lib/index.ts
import { UserEntity } from './entities/User.entity'
import { CompanyEntity } from './entities/Company.entity'

export {
  ...
  UserEntity,
  CompanyEntity,
  ...
}

// client_app/entities/ClientUser.entity.ts
import { UserEntity, CompanyEntity } from 'common_lib'
import { Property, Type } from '@dipscope/type-manager'

@Type()
export class ClientUserEntity extends UserEntity {
  @Property()
  name: string

  @Property(CompanyEntity)
  company: CompanyEntity

  // Still should have id from UserEntity and should have a reference to a Company
}

Somehow, when I import from the common app, the UserEntity does not load/instantiate properly at all.
If I copy the base User.entity.ts into my client_app source and reference it, everything is just fine. The fact that it was exported into my library and reimported seems to break it somehow. (When I deserialize JSON, things would be weird or non-working. Like it would see that there's a company property referencing a class, but no data would have been deserialized to fill out that class.)
FWIW, I am using Vite as my tooling/builder, and referencing my common library by setting a linked dependency in my apps' package.json (e.g. "common_lib": "link:../common_lib"). So Vite does, I believe do things using symlinks if that affects stuff. But seemingly the only library that has trouble with this pattern is TypeManager.TS.
Thanks!

Hi Offlein, thanks for an issue.
Check finally compiled code and compilation config in general. It seems that entities or TypeManager.TS library is included twice for different modules. Library uses unique symbol to resolve its data. When code got duplicated this will end up having several symbols. In your case one pointing to a common library and another one to application.
Code duplication usually happens when shared component targets old JS modules which copy the whole external library code in its own scope and exposes some global variables. For scenarios where libraries code should not be included in a shared components - some additional configs are usually required.
We have kind of the same config as you in your project cross several libraries. For example our EntityStore.TS library uses TypeManager.TS decorators with custom serializer which later used in JsonApiEntityProvider.TS which later used in target application and so far had no issues. However we have these special configs for old targets to avoid code duplication cross projects.

Hi Dmitry. I'm sorry to let this issue languish so long. Your advice was invaluable when I received it -- thanks -- even though I didn't quickly reply.
I am using Vue3 with Vite, and I don't remember what the state of my configuration was at the time, but in case it helps any future developer, I will include a list of key things I believe I checked.
My project was structured to have multiple apps, let's call them vue-app-a and vue-app-b, as well as directory featuring common vue code, vue-common.

In each app's (vue-app-a's and vue-app-b's) tsconfig.json files:

Ensuring my include property references the common src code: "include": ["env.d.ts", "src/**/*", "src/**/*.vue", "../vue-common/src/**/*"],
Setting up rootDirs like this: ["./", "../vue-common/"]
Setting up paths like this: { "@/*": ["./src/*"], "@vue-common/*": ["../vue-common/src/*"] },

In each app's vite.config.ts file:

Setting up resolve with an alias property: { '@': fileURLToPath(new URL('./src', import.meta.url)), '@vue-common': path.join( __dirname, '../vue-common/src'), },
And probably most importantly, inside resolve, adding a dedupe property: [ '@dipscope/type-manager', ]

With this, I was able to include @dipscope/type-manager in my package.json for both the common code, handling shared entities, and also in vue-app-a and vue-app-b so they could have their own independent entities (which were sometimes children of the shared ones).
Thanks for your support.


Error: Cannot find module 'qs'

Using a fresh install of node-red version: 0.20.5, used the interface to add this package, failing to authenticate with spotify gives the error message "Cannot GET /spotify-credentials/auth"
Looking in the node red console it says
node-red-contrib-spotify:spotify-auth : Error: Cannot find module 'qs'

Attempted to fix by
npm install -g qs didn't work
also tried
npm install qs in the root directory of node red.

Just to add a little more, tried to npm install in the node_modules/node-red-contrib-spotify directory that didn't help.
And looking at node-red in the package browser it has a red arrow next to it, and the spotify objects are no longer selectable after refreshing.


Add a note about certificate file watching

Add a note about certificate file watching in Kestrel.
Fixes #30404

Internal previews

📄 File
🔗 Preview link

aspnetcore/release-notes/aspnetcore-8.0.md
What's new in ASP.NET Core 8.0

I don't think we usually document app context switches, since they are inherently transient.  Usually, we offer them as workarounds to affected customers (of which there are hopefully few).

Yea, I'd suggest dropping the last paragraph. Looks good to me otherwise :)

@tdykstra Can you help me with the correct format for the links?

Links fixed.

Thanks!  Good to go?


VT - Potential Service Interruption between June 2022 to Present

Problem statement
The Vermont Department of Health has been noticing that cases  identified by the Vermont Department of Corrections are not ending up in NBS.
What you need to know
Full Communication from User:
I’m reaching out to ask if you would be able to indicate whether there have been any interruptions or outages in Covid case reporting via Simple Report from Vermont between June 2022 to present. We are noticing that cases identified by the Vermont Department of Corrections are not ending up in NBS and our team is working to identify the source of the error. If you need additional information from me, please let me know.

...

Acceptance criteria

Confirm/determine the source of error and communiciate back to user on next steps.

@sliu1000 could you send me the email communication from them so I can try to investigate before moving this out of needs analysis?

@BerniXiongA6 I just fwd you.

Thanks @sliu1000 I'll handle it for now and if it needs to be escalated to a dev, I can coordinate that. BX to investigate.

Got it. Thank you Bernie.
Sharon

From: BerniXiongA6 @.>
Sent: Thursday, August 11, 2022 8:55 AM
To: CDCgov/prime-reportstream @.>
Cc: Liu, Sharon (CDC/DDPHSS/OD/HITSSU) (CTR) @.>; Mention @.>
Subject: Re: [CDCgov/prime-reportstream] VT - Potential Service Interruption between June 2022 to Present (Issue #6352)
Thanks @sliu1000https://github.com/sliu1000 I'll handle it for now and if it needs to be escalated to a dev, I can coordinate that. BX to investigate.
—
Reply to this email directly, view it on GitHubhttps://github.com/CDCgov/prime-reportstream/issues/6352#issuecomment-1211951226, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AYNCRN7TISWT7Z75WHQGX2TVYTZ3TANCNFSM56EWEINQ.
You are receiving this because you were mentioned.Message ID: @.***>

Resolved 8/11/2022:
Email sent:

Hi Lucy,
Nice to meet you, I'm the new Delivery Manager for ReportStream's Onboarding and Operations team. I investigated further on your question and here's what I was able to find out.
Per SimpleReport, Vermont Dept. of Corrections hasn’t submitted any test results since June 15, 2022 (that’s the last reported test date). The engineering team was wondering if they might’ve been back-dating results back in January/February (at that time, they were showing about 1-2 results per day)?
Also, in case there were any concerns about login issues, SimpleReport was able to confirm that the sender has active user access.
Please let us know if there's anything else!
Thanks,
Berni

<EMAIL_ADDRESS>8/18 12:24pm
Our Epidemiology team has been in communication with the Vermont Department of Corrections and they claim to have sent a “big batch” of test results through SimpleReport this week. Are you able to confirm whether these test results have been received on your end?


Time taken to execute the code of mnist-multi-gpu increases with increse in GPUs which is not expected.

Please submit pull request.

Hi,
I just took you code and run on a 8 GPU instance. I just recorded time taken for few thousand steps. All the while I observed that as the number of GPUs increasing, time taken to train model was increasing.
Thanks & Regards

Ok.
Which scripts did you run?

Hi,
I ran  mnist_multi_gpu_train.py from mnist-multi-gpu/older/ directory.
Thanks & Regards

Some of that older code is patchy and needs patches.
I’m sure the files in the root dir did work with two GPUs.
I didn’t look back once I discovered the source of this code:
https://github.com/fchollet/keras/blob/master/keras/utils/training_utils.py

@normanheckscher
Hi,
Do you have any working code for MNIST where we can see enhancement in training time.
I have taken clue from cifar10_multi_gpu_train example and written code to run MNIST example on multi gpu but faced issues that time taken to train model increases with increase in GPU.
Then I saw your Github code and executed. On similar line I saw an issue with the timing with your code also.
I am just curious and wanted to know what is going wrong.
Please help me or let me know if you have any working code for MNIST.
Thanks & Regards

You’ll have difficulty monitoring speed enhancements with MNIST using 8 modern GPU cards. The entire set and model is so small that it cant really utilise such hardware.
To test your hardware: use cifar-10 or cifar-100 or imagenet or jft or another suitably large data set.
With a multi-GPU rig you need to choose your parallelism paradigm: model or data.
If your model can fit on a single card and you have a single motherboard machine to host your GPUs, the the best approach I know of at the moment is data parallelism. I’ve a version of that code in the root of my repo. Keras has recently merged a similar algorithm. Here it is:
https://github.com/fchollet/keras/blob/master/keras/utils/training_utils.py
The alternative is model parallelism. There is a cifar example in the TensorFlow codebase. My code template uses this and I worked on adapting it to use the Sonet API with varying success. If your model is so large that it won’t fit on a single card, then I’d suggest starting with this TensorFlow dev video:
https://youtu.be/la_M6bCV91M
If you have code to share, please share. If you want to share access to your 8 GPUs, please send me ssh login details.

https://github.com/vahidk/EffectiveTensorflow/blob/master/README.md#multi_gpu


ATSketchkit not working in Xcode 8

I get fatal error:use of unimplemented initializer 'init(layer:)' for class ATSketchkit.ATSketchTopLayer

Please recheck if it still is the case with the latest PR

works perfect!!! Thanks a lot

Thanks @Tornquist :) and feel free to PR ;)


Create one Bazel build with dependency on macOS

This is now done, except that they are called quickstart builds now.


build finishes, but no upload for osx

@conda-forge/core
it seems like the build is working, but the upload does not:
https://travis-ci.org/conda-forge/staged-recipes/builds/351407930#L1314L1316

Seems to be there. What's the issue?
Should add uploading doesn't occur on staged-recipes only in the feedstock's CIs.

seems like I have mixed the links. now the link point to the correct build:
https://travis-ci.org/conda-forge/pivy-feedstock/jobs/355951038#L1143

Right. So still seeing the macOS packages in conda-forge. Screenshot below.
Feel like I'm missing something though. Please feel free to clarify.

ah now I see my mistake.
I need to make a brake. thanks for clarification.


New version: Unity.Unity.6000.WindowsServer version 6000.0.10f1

Created by 🥟 Dumplings in workflow run #6512.

Log
Updated: 6000.0.9f1 → 6000.0.10f1
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request
Pull request created: New version: Unity.Unity.6000 version 6000.0.10f1 - https://github.com/microsoft/winget-pkgs/pull/162531
Handling Unity.Unity.6000.Android...
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request
Pull request created: New version: Unity.Unity.6000.Android version 6000.0.10f1 - https://github.com/microsoft/winget-pkgs/pull/162532
Handling Unity.Unity.6000.iOS...
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request
Pull request created: New version: Unity.Unity.6000.iOS version 6000.0.10f1 - https://github.com/microsoft/winget-pkgs/pull/162533
Handling Unity.Unity.6000.tvOS...
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request
Pull request created: New version: Unity.Unity.6000.tvOS version 6000.0.10f1 - https://github.com/microsoft/winget-pkgs/pull/162534
Handling Unity.Unity.6000.visionOS...
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request
Pull request created: New version: Unity.Unity.6000.visionOS version 6000.0.10f1 - https://github.com/microsoft/winget-pkgs/pull/162535
Handling Unity.Unity.6000.LinuxIL2CPP...
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request
Pull request created: New version: Unity.Unity.6000.LinuxIL2CPP version 6000.0.10f1 - https://github.com/microsoft/winget-pkgs/pull/162536
Handling Unity.Unity.6000.LinuxMono...
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request
Pull request created: New version: Unity.Unity.6000.LinuxMono version 6000.0.10f1 - https://github.com/microsoft/winget-pkgs/pull/162537
Handling Unity.Unity.6000.LinuxServer...
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request
Pull request created: New version: Unity.Unity.6000.LinuxServer version 6000.0.10f1 - https://github.com/microsoft/winget-pkgs/pull/162538
Handling Unity.Unity.6000.MacMono...
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request
Pull request created: New version: Unity.Unity.6000.MacMono version 6000.0.10f1 - https://github.com/microsoft/winget-pkgs/pull/162539
Handling Unity.Unity.6000.MacServer...
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request
Pull request created: New version: Unity.Unity.6000.MacServer version 6000.0.10f1 - https://github.com/microsoft/winget-pkgs/pull/162540
Handling Unity.Unity.6000.UWP...
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request
Pull request created: New version: Unity.Unity.6000.UWP version 6000.0.10f1 - https://github.com/microsoft/winget-pkgs/pull/162541
Handling Unity.Unity.6000.WebGL...
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request
Pull request created: New version: Unity.Unity.6000.WebGL version 6000.0.10f1 - https://github.com/microsoft/winget-pkgs/pull/162542
Handling Unity.Unity.6000.WindowsIL2CPP...
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request
429 Too Many Requests: retry after 31
Pull request created: New version: Unity.Unity.6000.WindowsIL2CPP version 6000.0.10f1 - https://github.com/microsoft/winget-pkgs/pull/162543
Handling Unity.Unity.6000.WindowsServer...
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request

Microsoft Reviewers: Open in CodeFlow

Depends on https://github.com/microsoft/winget-pkgs/pull/162531

/azp run

Verifying that this version is available before retrying again:
PS C:\ManVal> find-winGetPackage Unity.Unity.6000

Name                                                Id                             Version     Source
----                                                --                             -------     ------
Unity 6000                                          Unity.Unity.6000               6000.0.10f1 winget

/azp run

Automatic Validation ended with:

Installation failed with exit code -1978334960
2024-07-16 10:46:00.547 [CLI ] ShellExecute installer failed: 2

Automated error analysis suggests -1978334960 may mean Failed to install package dependencies.
(Automated response - build 886.)

Manual Validation ended without errors. I'm not sure why the pipelines can't find the dependency.


Dynamically import svelte component instead of theatre studio

The latest @threlte/theatre can't seem to resolve the dynamic import for @theatre/studio. I think that this may be a consequence of removing direct dependencies in this PR. When packaging for npm, studio is no longer bundled into the published files, and the dependency installed in the user project will instead be used. I'm not exactly sure of the root cause here - I've found that dynamic imports with Vite can sometimes be tricky, but I was able to fix this issue (tested with npm link on another threlte project) by instead dynamically importing the InnerStudio component via a relative path.
Not sure if this is the best solution, but it seems to fix the issue, and allowed a little simplification of InnerStudio in the process.

Thanks @michealparks, good idea to dynamically load the component instead of the dependency 👍


Incomplete data

If a council is still collecting information about a data set, say public toilets. They have all of the toilet locations, and are collecting additional data, such as open times, wheelchair access, etc.
If they have some information for these fields, ie - some toilets have an opening time, but others havent yet been collected, is it worth still uploading the data?
For field values that have not yet been collected, should these just be left blank?
Toilets is a simple example but other more complex data may take months/years to get complete data set.

Yeah, I think generally any row that has all its "required" fields (in this case, just lat and lon) is fine to include - other fields should just be blank (either ,, or ,"", in CSV).


Provide small signal analysis before run

Should we provide the users with info about the small-signal characteristics of the system before running?

It is almost free to do this, but reducing the Jacobian and checking eigenvalues it may have some issues that I think is not a good idea to do by default. Maybe using a keyword to allow that can be an alternative.


Model endpoints refactoring

Signed-off-by: Andrey Sobolev<EMAIL_ADDRESS>Refactor model Endpoint and workspace registry to be better testable and usable.
Description
Refactor model Endpoint and workspace registry to be better testable and usable.
Motivation and Context
Required for next changes related to NSM healing.
How Has This Been Tested?

[x] Covered by existing integration testing
[ ] Added integration testing to cover
[x] Tested locally
[ ] Have not tested

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

@nickolaev @edwarnicke  Please take a look, it is extracted part of https://github.com/networkservicemesh/networkservicemesh/pull/795 related to Endpoint and workspace management changes.


Readme update

That config injection drove me crazy. The new provider name is options
Further I removed/fixed deprecated jwtInterceptorProvider injections

thanks for this!


Correct rounding error in number of pixel computation and grid drawing

I realized the indexing of the grid was wrong due to a rounding error. I corrected it and tested it is correct while updating grid_border example to have different width and height. It highlighted another error in the full grid drawing with an added column. It is corrected too.

Just apply this diff - essentially just changing step to 0.64f so that the text for the grids in grid_border all show.
diff --git a/examples/grid_border.cpp b/examples/grid_border.cpp
index 9fc7051e..04994027 100644
--- a/examples/grid_border.cpp
+++ b/examples/grid_border.cpp
@@ -42,7 +42,7 @@ int main()
         data[ri][0] =  static_cast<double>(std::rand()) / RAND_MAX ; // Range 0->1
     }

-    float step = 0.6f;
+    float step = 0.64f;
     // Add a GridVisual to display the Grid within the morph::Visual scene
     morph::vec<float, 3> offset = { -step * grid.width(), step * grid.height(), 0.0f };

@@ -175,7 +175,7 @@ int main()
     gv->setVectorData (&data);
     gv->cm.setType (morph::ColourMapType::Twilight);
     gv->zScale.setParams(0.0f, 0.0f);
-
+
     gv->showgrid = true;
     gv->grid_colour = morph::colour::red;
     gv->grid_thickness = 0.2f;

Thanks for spotting it, I corrected it. Let me know if there is anything else to change


Support clip in SVG serializer

At the moment clipping doesn't work in SVG serializer.

PR "Add clip, mask, transformedLocus to serializer #453" fixed that


[8.x] @includeScoped directive

This pull request adds a new @includeScoped directive to Blade. This directive is similar to @include, but it doesn't include the outside environment / variables. / get_defined_vars().
view.blade.php
@php($user = User::first())

@includeScoped('partial')

partial.blade.php
{{-- The `$user` variable isn't inherited here. --}}

I'm not 100% set on the name of the directive, but I couldn't actually think of a better name. This would have similar behaviour to components where the scope isn't inherited.
If this isn't something that is wanted / needed in core, I'll create a package instead but I figured it was worth a try.

Components have this behavior right?

Components have this behavior right?

Yeah, they do. That's not very useful in this instance though as you are then forced into using the components directory, component classes or registering component manually.

I meant the ’@component’ directive. That still exists right? No need to register etc.


Visitor count inaccurate behind Cloudflare

On my site, I had 310k unique visitors yesterday according to GoAccess (with --ignore-crawlers) and 60k according to Cloudflare's analytics dashboard. Can you help me understand why there is such a big difference?
In the "VISITOR HOSTNAMES AND IPS" panel, the top 50 IP addresses with hundreds of visitors each seem to belong to Cloudflare, which makes me assume that the true number of unique visitors is closer to their estimate.

Sure, but before I can give you an answer, do you know what counts as a visitor according to cloudflare?

Thank you for your reply! This is the definition of "unique visitor" from the Cloudflare docs: Once Cloudflare identifies a unique IP address for a request, we identify such request as a visit.
As I understand it, a GoAccess unique visitor is a request with same IP, user agent and date.

From their docs, my understanding is that the combination of one request file and the IP counts as a unique visitor. Not sure how they account for things like folks behind a NAT where multiple people can use the same static IP.
In any event, if that's all they take into account, I'd assume the number would be much lower, as you pointed out. For instance, someone with X IP could access the same html/file/etc 10 times on different dates and using different browsers and would still be counted as one visitor. I think the closest to that in goaccess would be the unique count that you get from the HOSTS panel. e.g.,

Please let me know if that helps.


Work in Progress: Version 2

Changes in version 2:

change the in-memory cache implementation:

provide an immutable cache data-structure
the mutable cache should be based on the immutable one

also make it distribute the load over a configurable number of atomic references for performance

SpyMemcached futures now expose addListener, so we no longer have to use its dirty internals for exposing futures and tasks
provide integration with the Monix Task, in addition to the methods exposing CancelableFuture
split the project in shade-local and shade-memcached, the idea being that Shade should be a project for "caching" and it should maybe provide other integrations meant for caching stuff (e.g. Redis?)

For review, it might be easier to just review the files in the version2 branch.

Just skimmed over and it looks promising :+1: I'll have a look over the weekend.
Any idea what kind of performance impact this has?


added static footer images

Issue #234

@Abbe98 added the svg file for wikidata

Thank you @ankitdas09 :rocket:


Invalid image in version 0.5.3

In version 0.5.3 operator is trying to pull the image
registry.redhat.io/3scale-amp2/apicast-rhel7-operator@sha256:ccd64090b85536ddaf1b81ca07d40279c9f277b1c5911628f11d678b98dc3bad that aparently doesn't exists

Fixed https://catalog.redhat.com/software/containers/3scale-amp2/apicast-rhel7-operator/5e18b97cbed8bd66f81c07d6?tag=1.14.1-14


Changed inconsistent conv1d docs to use 'value' param instead of 'input'

Fixed inconsistency in documentation for conv1d.  Partial fix for issue #6379

Can one of the admins verify this patch?

Jenkins, test this please.

Jenkins, test this please.


Change username to authorName in email template

Social logins might not have a username, but they will always have an
authorName.  This fix changes {{username}} to {{authorName}} in email
templates, avoiding the "new user account: undefined" bug.

Are you sure? authorName refers to a comment or post author's name, I'm not sure why a user would have an authorName? I think it makes more sense to figure out why some users don't have usernames.

What if we replace username with displayName here? https://github.com/TelescopeJS/Telescope/blob/master/packages/nova-users/lib/notifications.js#L6

Thanks, great suggestion!  I will try this out.

Should I close this?

Yes, thanks :) haven't had time to play with this

Support added on devel 👍


Fix community anchor link to make it clear on all desktop/laptop screens

This PR Fixes Issue: #3121
Screenshots
Before

After

Thanks for your first React contribution @RusimbiP!