Rename params to inputs

This PR resolves #77
Also:

Adds vertical align to color input so that swatch aligns better with value
Fixes a bug, undetected until now, that appeared when adding SVG optimization and was throwing when trying to export an animation that used SVG as a base.
Added a new validation function and error message throw to let the user know when browser doesn't support WebP generation.
Contains v0.5.0 release with most recent updates containing this PR.

Amaaazing! What is the best way to test this? Let's talk it through in our meeting today!


Make unit tests more robust for local environment

The unit tests test the use of argparse, so argv should be set in the test. With that, the test is more robust on how you call it.
Background: The test failed in my local setup using VSCode and its test explorer.

Isn't there some way to pass argv to the test without modifying the global sys.argv?
Something like unittest.main(argv=["pipeline.py"])?

Isn't there some way to pass argv to the test without modifying the global sys.argv?

What would be the difference? In what scenario would it harm? I think the unittest.main would have to manipulate sys.argv anyway since this is what argparse is reading in the end, isn't it?

I think there is no functional difference. For me, it just looks a little bit less hacky and we even only need it for VSCode.
But I'm also fine with your solution.

Something like unittest.main(argv=["pipeline.py"])?

This will only work if __main__ is called and it worked in this case before.

... only need it for VSCode.

I don't think that is true. IMHO opinion, the tests were broken. The tests are testing sys.argv without setting its value. This problem should also occur in other runners using arguments.

For me, it just looks a little bit less hacky ...

I changed it to use mock.patch. This introduced a dependency to mock which will come handy sooner or later anyway.

Sounds reasonable. I really like the simplicity of the new mock.patch() approach.
Unfortunately, I don't like the dependency on the mock module. But it's just a trade-off and I'm not sure which is the better solution.

Unfortunately, I don't like the dependency on the mock module. But it's just a trade-off and I'm not sure which is the better solution.

I totally agree. I tend to mock.patch, because mock.patch is very useful and can help us down the road. But I haven't found where to add the new dependency. Is there no requirements.txt?

I totally agree. I tend to mock.patch, because mock.patch is very useful and can help us down the road. But I haven't found where to add the new dependency. Is there no requirements.txt?

If the module mock will be useful in the future, I will approve this PR, as it looks very clean now.
I think we dont have a requirements.txt because we dont use any other module than the modules that are already included in Python. But maybe we should add a requirements.txt.

I will open another PR  (based on this) to make it work locally to keep this PR small.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: c0d1ngm0nk3y:x: HaegiYou have signed the CLA already but the status is still pending? Let us recheck it.


Feat: two stage heuristic

This pr adds infer properties for heuristic optimizer in optd core.
It splits the two passes for heuristic and cascades. Now heuristic rules can be used on the first heuristic optimizer as registering them as default_heuristic_rule and these rules are able to traverse the whole plan tree as there are no placeholder in heuristic stage.
The properties are not shared among heuristic pass and cascades pass though. It is recalculated in cascades.
The pr is for enabling more complicated heuristic rules and one can register their rules as either heuristic or cascade to test its usability and performance.
The logic for the rule creation is the same as previous heuristic rule wrapper:
heuristic rule either return 0 or 1 node. Returning 1 node means that the rule is successfully applied. Returning 0 node means it fails some constraints for the rule and heuristic optimizer will use the original node.

All looks good to me at a glance, great job making this PR so quickly.


Nickname auto-completion.

Can I have @nick... trigger completion in wee-slack?

Uhm, it does?

ah, It's gitter channel that fails.


Quarkus support. Now throws NPE in Hibernate53Integrator.

Description
There is a repo with reproducer.
Actual behavior
dumps NPE short stacktrace to stdout
Caused by: java.lang.NullPointerException
	at com.blazebit.persistence.integration.hibernate.Hibernate53Integrator.integrate(Hibernate53Integrator.java:58)
	at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:275)
	at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:462)
	at io.quarkus.hibernate.orm.runtime.boot.FastBootEntityManagerFactoryBuilder.build(FastBootEntityManagerFactoryBuilder.java:64)
	... 13 more

Steps to reproduce
This commit
https://github.com/soberich/marvel/commit/66e29c94071b75345b132b453c092a12575e8b0f
on this branch bigfix/blaze-fails-to-integate-with-hibernate
shows how I added blaze to try it out with quarkus.
git clone -b bigfix/blaze-fails-to-integate-with-hibernate git@github.com:soberich/marvel.git;
cd marvel;
./gradlew quarkusDev -S

On startup there would be an exception.

Environment

Version:            [1.3.2,1.4.1)
JPA-Provider:       Hibernate 5.4
DBMS:     H2
Application Server: Netty/Undertow

@soberich
I am receiving the following error when I run your project with gradlew.bat quarkusDev -S on Windows:
Caused by: org.gradle.internal.resolve.ArtifactNotFoundException: Could not find guice-no_aop.jar (com.google.inject:guice:4.2.0).
Searched in the following locations:
    file:/C:/Users/<User>.m2/repository/com/google/inject/guice/4.2.0/guice-4.2.0-no_aop.jar

The directory only contains guice-4.2.0.jar.

@Mobe91 This is funny because makes no sense for me. What does it have to do with Guice? this project have nothing to do with Guice. I see exception pointing to internals of Gradle which is even more confusing, and also, I rarely use local artefacts repos. Project lists a lot of repositories to lookup for dependencies, so it can get them in as many places as possible as it is a playground.
Please try to check these:

Are you sure you are in the right folder?
Are you using firewall, proxy which can limit web-access?
Are there any Gradle specific company-wise or machine wise properties applied (e.g. in ~/.gradle/...properties
Are you sure you are not supplying implicitly some flags like --offline or something with similar semantics to make gradle only resolve in restricted manner.

Last two are most viable candidates.
Hope I am already too late and you have figured out what was wrong.
Please, let me know @Mobe91
thank you.

Below I provide as full stacktrace as I could get.
The error in question, unfortunately prints to stdout in quite, so it is still trimmed no matter what.
2019-07-17 00:30:50,323 DEBUG [io.qua.arc] (main) ArC DI container shut down
2019-07-17 00:30:50,323 ERROR [io.qua.dev.DevModeMain] (main) Failed to start quarkus: java.lang.RuntimeException: Failed to start quarkus
        at io.quarkus.runner.ApplicationImpl1.doStart(ApplicationImpl1.zig:142)
        at io.quarkus.runtime.Application.start(Application.java:84)
        at io.quarkus.runner.RuntimeRunner.run(RuntimeRunner.java:121)
        at io.quarkus.dev.DevModeMain.doStart(DevModeMain.java:171)
        at io.quarkus.dev.DevModeMain.main(DevModeMain.java:89)
Caused by: javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory
        at io.quarkus.hibernate.orm.runtime.boot.FastBootEntityManagerFactoryBuilder.persistenceException(FastBootEntityManagerFactoryBuilder.java:106)
        at io.quarkus.hibernate.orm.runtime.boot.FastBootEntityManagerFactoryBuilder.build(FastBootEntityManagerFactoryBuilder.java:66)
        at io.quarkus.hibernate.orm.runtime.FastBootHibernatePersistenceProvider.createEntityManagerFactory(FastBootHibernatePersistenceProvider.java:54)
        at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:79)
        at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:54)
        at io.quarkus.hibernate.orm.runtime.JPAConfig$LazyPersistenceUnit.get(JPAConfig.java:109)
        at io.quarkus.hibernate.orm.runtime.JPAConfig.startAll(JPAConfig.java:57)
        at io.quarkus.hibernate.orm.runtime.HibernateOrmRecorder.startAllPersistenceUnits(HibernateOrmRecorder.java:77)
        at io.quarkus.deployment.steps.HibernateOrmProcessor$startPersistenceUnits22.deploy_0(HibernateOrmProcessor$startPersistenceUnits22.zig:51)
        at io.quarkus.deployment.steps.HibernateOrmProcessor$startPersistenceUnits22.deploy(HibernateOrmProcessor$startPersistenceUnits22.zig:70)
        at io.quarkus.runner.ApplicationImpl1.doStart(ApplicationImpl1.zig:82)
        ... 4 more
Caused by: java.lang.NullPointerException
        at com.blazebit.persistence.integration.hibernate.Hibernate53Integrator.integrate(Hibernate53Integrator.java:58)
        at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:275)
        at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:462)
        at io.quarkus.hibernate.orm.runtime.boot.FastBootEntityManagerFactoryBuilder.build(FastBootEntityManagerFactoryBuilder.java:64)
        ... 13 more

An NPE at line 58 indicates that the Database service binding is not available. Missing services indicate a classpath problem. Java's Service Provider mechanism is described in for example this blogpost. The services are usually registered through resource files in META-INF/services/. Recently I stumbled upon a very similar  issue myself, when I was creating a WildFly module for Blaze-Persist (documented on Slack). I don't know how Quarkus works, but I suppose it creates some sort of special classpath where services from libraries are hidden, or the Service Provider API is not available at all. From a simple Google search I cannot easily find examples of the Service Provider API within Quarkus.
One thing that you might want to try is to copy the contents of the META-INF/services folder of the jar dependencies to your applications META-INF/services folder.
This should at least contain the files:
com.blazebit.persistence.integration.hibernate.base.HibernateAccess
com.blazebit.persistence.spi.EntityManagerFactoryIntegrator
org.hibernate.boot.spi.MetadataContributor
org.hibernate.integrator.spi.Integrator
org.hibernate.persister.spi.PersisterClassResolver
org.hibernate.service.spi.ServiceContributor

(these are the ones from blaze-persistence-integration-hibernate-5.3:1.3.2, but the other jars  probably have services too)

@soberich were my remarks any useful?

@JWGmeligMeyling yes. It should be something about writing extension
https://quarkus.io/guides/extension-authors-guide
But does library considers that kind of support? There are some frameworks like Micronaut, Quarkus etc, which would be really nice to have.

At this time, I do not anticipate to work on this as there are other features I consider more important. At some point I will look into this, but the hibernate integration and entity views relies heavily on reflection, so I guess it will be a lot of work to get Blaze-Persistence fully running with Quarkus. If anyone wants to work on this, I can help with explaining what is necessary or provide guidance.

@beikov @JWGmeligMeyling I have raised a feature-request there as you see. Let's leave this open.

In case anyone stumbles over the issues I had with running the demo project: This is a gradle issue.
You need to delete the parent directory of the guice dependency in your local maven repository, otherwise gradle won't attempt to download the no_aop version of the dependency, i.e. delete ~/.m2/repository/com/google/inject/guice/4.2.0 and then it should work.


Template literal string types in Record not showing error

🔎 Search Terms
Template literal type as key in Record not enforcing type/throwing error when in function
🕗 Version & Regression Information

This is the behavior in every version I tried, and I reviewed the FAQ for entries about string literals

⏯ Playground Link
https://www.typescriptlang.org/play?ts=5.3.3#code/GYVwdgxgLglg9mABFApgZygMXBAFAQwC5EAlFCOAJwBMAeAA2DjgH0ASAbw0pjAHMAvvQA0iAEbMANinxgAfAEpEHAFCJElFFBCUk+ANwqBKlRTAZEcMQCtEAXmVrETVmPyViUSiBSiA9H4AtvhQEAAW6BrkVNTIAJ4ADihObh7I3r6IAYjUcJFgcFCIwaFhURQ08UlGJiqoGNiQuFbWCvpZfohoYXAgkrHdcADuiCiUlFSIALRVKJY2iDBoiAVF+GhoMHxg+GLSyHCI9GQVdIzM7FxevIIi4lIy8vRAA
💻 Code
function testFunc(a: Record<`foo_${string}`, boolean>) {
  return a;
}

const obj = {
  foo_bar: true, //matches record type
  bar: true, // does not match record type
}

testFunc(obj); // should show error - type obj is not assignable to `Record<`foo_${string}`, boolean>`

🙁 Actual behavior
testFunc should show an error because obj is does not match the Record type.
🙂 Expected behavior
I would expect an error along the lines of obj is not assignable to Record<foo_${string}, boolean>, because bar is not assignable to foo_${string}.
Additional information about the issue
No response

This is working as intended.
Objects are not sealed, they can have additional properties. All your record says is that all properties named starting with foo_ must be of type boolean, and that's the case with the object you pass.


Replace in multiple files

From the HotKey wiki the Ctrl + R allows Find & Replace/All in current editor but I didn't find a way to search & replace in multiple files.

This would be amazing. Checkbox for "All open files" or something like that. I use codiad primarily for editing my Home-Assistant home automation configuration, and it is split up into dozens of files to keep it manageable. If an entity ID Changes (say I replace a light switch) I have to replace it in the customize section, the groupings, and automation that uses that switch. My current method when that happens is using vim, but it would be nice to be able to do it in codiad instead.


Inference Error

ImportError

Running the Colab workbook: Following step by step,
After successful compilation of the default (PaDiM) model is trained,
I'm getting the following error on both "tools/inference/lightning_inference.py" inferencers:

Traceback (most recent call last):
  File "/usr/local/lib/python3.7/dist-packages/tensorboard/compat/__init__.py", line 42, in tf
    from tensorboard.compat import notf  # noqa: F401
ImportError: cannot import name 'notf' from 'tensorboard.compat' (/usr/local/lib/python3.7/dist-packages/tensorboard/compat/__init__.py)

During handling of the above exception, another exception occurred:

RuntimeError: module compiled against API version 0xe but this version of numpy is 0xd
Predicting DataLoader 0: 100% 1/1 [00:00<00:00,  3.23it/s]

To Reproduce
Follow the Google Colab steps provided, inference throws an error?
 by @bth5
Expected behavior

Successful inference & anomaly detection

Hardware and Software Configuration

Standard Google Colab + GPU

NOTE
I've noticed that although command [1] throws an error, it still produces the heatmapped anomaly image in the results direcotory, whereas command [2] does not produce any results. The only difference is the argumnet "--visualization_mode full".
Command [1]
!python tools/inference/lightning_inference.py \
    --config anomalib/models/padim/config.yaml \
    --weights results/padim/mvtec/bottle/weights/model.ckpt \
    --input datasets/MVTec/bottle/test/broken_large/013.png \
    --output test_result

Command [2]
!python tools/inference/lightning_inference.py \
    --config anomalib/models/padim/config.yaml \
    --weights results/padim/mvtec/bottle/weights/model.ckpt \
    --input datasets/MVTec/bottle/test/good/012.png \
    --output test_result \
    --visualization_mode full

Sorry, I missed this. This might be a similar to this issue https://github.com/openvinotoolkit/anomalib/issues/749. I am closing this. Free free to re-open in case that solution does not work for you.


✨ NEW: Use psutil for cross-platform support

Codecov Report

Merging #2 (3be0010) into main (68cd1c7) will increase coverage by 7.01%.
The diff coverage is 89.87%.

:exclamation: Current head 3be0010 differs from pull request most recent head 5b94109. Consider uploading reports for the commit 5b94109 to get more accurate results

@@            Coverage Diff             @@
##             main       #2      +/-   ##
==========================================
+ Coverage   80.11%   87.12%   +7.01%
==========================================
  Files           3        3
  Lines         181      132      -49
==========================================
- Hits          145      115      -30
+ Misses         36       17      -19

Flag
Coverage Δ

pytests
87.12% <89.87%> (+7.01%)
:arrow_up:

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

Impacted Files
Coverage Δ

process_plot/cli.py
81.92% <80.00%> (-4.66%)
:arrow_down:

process_plot/api.py
95.74% <95.74%> (ø)

process_plot/__init__.py
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 68cd1c7...5b94109. Read the comment docs.


docs: amend how F expression works explanation

I think that the existing wording is fine. Changing it to "uses and manipulates" leaves open the implication that it may have been provided to Python, even if Python never did anything with it... Which would be incorrect.


Rename old member to name where applicable

Changes
Looks like we missed a couple of places where member was renamed to name. Found it when deleting a member tonight!
Checklist

[x] have tested my change
[ ] updated relevant documentation
[ ] Remove any/all console.logs I added
[ ] eslint is not complaining
[ ] have added myself to the contributors' list in CONTRIBUTING.md
[ ] for feature PRs: PR only includes one feature enhancement.

Also need to check about updating member text in this PR.


The order of traversing the element tree when creating

WPF: tunnel bypass, parent -> children
Avalonia: bubble bypass, children -> parent
If the parent sets the ViewModel to the child elements (as it was in WPF), now we get null in the child elements, since they are created before parent

Could you explain? I have trouble understanding what you're saying here.

Constructor off child elements works earlier than parent. Initialization to elements begin with children elements.
Example:
All child elements will be create earlier  than current UserControl.

Just want to make it clear.
Are you talking about order of creating control objects or order of attaching control to the visual tree? Or both?

Constructor off child elements works earlier than parent.

@RomanSoloweow that's not true. You can look at the code generated by the XAML compiler to confirm, for example this XAML:
<Window xmlns="https://github.com/avaloniaui"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:AvaloniaApplication11"
        mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
        x:Class="AvaloniaApplication11.MainWindow"
        Title="AvaloniaApplication11">
  <Border>
    <Button>Hello</Button>
  </Border>
</Window>

Produces the following IL (decompiled by ILSpy):
static void !XamlIlPopulate(IServiceProvider P_0, MainWindow P_1)
{
	XamlIlContext.Context<MainWindow> context = new XamlIlContext.Context<MainWindow>(P_0, new object[1]
	{
		!AvaloniaResources.NamespaceInfo:/MainWindow.axaml.Singleton
	}, "avares://AvaloniaApplication11/MainWindow.axaml");
	context.RootObject = P_1;
	context.IntermediateRoot = P_1;
	((ISupportInitialize)P_1).BeginInit();
	P_1.Title = "AvaloniaApplication11";
	Border border;
	Border border2 = border = new Border();
	((ISupportInitialize)border2).BeginInit();
	P_1.Content = border2;
	Button button;
	Button button2 = button = new Button();
	((ISupportInitialize)button2).BeginInit();
	border.Child = button2;
	button.Content = "Hello";
	((ISupportInitialize)button).EndInit();
	((ISupportInitialize)border).EndInit();
	((ISupportInitialize)P_1).EndInit();
	StyledElement styled;
	if ((styled = (P_1 as StyledElement)) != null)
	{
		NameScope.SetNameScope(styled, context.AvaloniaNameScope);
	}
	context.AvaloniaNameScope.Complete();
}

You can see that the Border is created before the Button.


[discretefunction.local] refactor local DoF vector

This pr adds a complete rewrite of the way local DoF vectors are handled. It may have some severe consequences (see the commit message of 51ebd777ffda72f003bf1020215c4bfeaffa2bc4).

We want to make sure we understand the implications.
We need to test if this breaks parallel code (we = @renemilk). I would hope not, but it might as well be. Compared to the situation before there might be a value mismatch as long as local discrete functions exist, while before it was only while the internal data race on accessing the global vector held. This might even be a good thing, but I can not say for sure.

So please test this and think about this thoroughly and do not merge this pr directly. This is of course related to #5.

Results differ in parallel runs. So not gonna happen atm...


Add a receipt processing cookbook

I added a receipt processing cookbook.

Uses Qwen or Pixtral
General purpose message templating, no messy model-specific token adding
Easy function for compressing images down for lower processing/memory requirements

Should help illustrate a simple use case for vision models.

Could you fix the merge conflict? Looks good otherwise.

Yep, fixed!


Adding support for caching to the Repository

When 1000 per second request  to get the list of courses. The server slow down.
So, we need to add support for caching to the Repository.
implementing a cached repository by overriding the methods of the base repository.

In our project, ReadRepository does the job of the cached repository.


Add slack reporting

I have already created a slack app that will accept incoming messages via the webhook.
Added webhook URL as a repo secret on this repo.

@delucchi-cmu, this looks fantastic! Do you have any message sample? I'm curious to see what one of these rich messages looks like!

This is what it looks like for a RAIL failure from a few weeks ago.

the weird looking square is an animation caught in the middle
there's a link to the failed action so you can head straight there
it's provided as a message that you can reply to or react to, so it's clear who's looking into it or if there was a quick resolution


COMException ocurred at end of Exercise 4.

When selecting same date on the CalenderViewWrapper control, then following error is occurred.

I think that you need the length check before accessing AddedDates property at the SelectedDatesChanged event handler like below:
private void CalendarView_SelectedDatesChanged(CalendarView sender, CalendarViewSelectedDatesChangedEventArgs args)
{
    // Add using System.Linq;
    if (args.AddedDates.Any())
    {
        SelectedDate = args.AddedDates[0];
    }
}

Fixed in 6781dd0


Fixing Wrong Examples

I fixed some wrong examples i found.

I figured out, that i mistaken something in vc. so i restored it.


tests/classification: Tests to exercise classification.config validation

Continuation of #687
This PR

Adds 2 test cases for classification.config to ensure legacy behavior when not in test mode and that an invalid classification.config file raises an error when in test mode
Adds a classification.config file for an extant test using test mode so the test can check/validate empty rules and not stop on an empty classification.config file.

Suricata PR 6878

https://github.com/OISF/suricata/pull/7518

Merged in #900


Fix deprecation warning in console

Thanks for the PR. This isn't quite correct though, as losBackend to use needs to be move. In any case, a fix for the deprecation warnings is pushed as 44590a56.


class method name list does not work

{file} - Unexpected token: list

It's PHP Mess Detector, not JavaScript.


Fix flaky gauge value issue

Fix for #13629
Currently, we maintain a map _gaugeValues in the AbstractMetrics class for gauge values. When adding a new gauge, we lock the entire operation of adding the gauge to the _gaugeValues map and the metricsRegistry factory simultaneously. However, there was a bug where the removal was not done under a lock. This led to a race condition when removeGauge and setValueOfGauge were called almost simultaneously. This could result in a scenario where the gauge is removed from the _gaugeValues map, then setValueOfGauge takes a lock on the map, adds it back to _gaugeValues, and registers it with _metricsRegistry, but then removeFromMetricsRegistry from the removeGauge method kicks in, removing it from _metricsRegistry.
This was specifically caught in our scenario by the way we have implemented our _metricsRegistry. We have a thread where we loop through all the gauges every 10 seconds and emit the value. In our scenario, _metricsRegistry was missing the gauge altogether because of the above race condition.

Thanks @tibrewalpratik17 for identifying the issue, really appreciate it! Could you help add a unit test in AbstractMetricsTest class that can help better test out the functionalities for that?

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

Project coverage is 0.00%. Comparing base (59551e4) to head (a8fd649).
Report is 795 commits behind head on master.

Files
Patch %
Lines

...g/apache/pinot/common/metrics/AbstractMetrics.java
0.00%
4 Missing :warning:

:exclamation:  There is a different number of reports uploaded between BASE (59551e4) and HEAD (a8fd649). Click for more details.
HEAD has 53 uploads less than BASE

Flag
BASE (59551e4)
HEAD (a8fd649)

integration
7
1

integration2
3
1

temurin
12
1

java-21
7
1

skip-bytebuffers-true
3
1

skip-bytebuffers-false
7
0

unittests
5
0

unittests1
2
0

java-11
5
0

unittests2
3
0

integration1
2
0

custom-integration1
2
0

Additional details and impacted files
@@              Coverage Diff              @@
##             master   #13679       +/-   ##
=============================================
- Coverage     61.75%    0.00%   -61.76%
=============================================
  Files          2436     2479       +43
  Lines        133233   136891     +3658
  Branches      20636    21312      +676
=============================================
- Hits          82274        0    -82274
- Misses        44911   136891    +91980
+ Partials       6048        0     -6048

Flag
Coverage Δ

custom-integration1
?

integration
0.00% <0.00%> (-0.01%)
:arrow_down:

integration1
?

integration2
0.00% <0.00%> (ø)

java-11
?

java-21
0.00% <0.00%> (-61.63%)
:arrow_down:

skip-bytebuffers-false
?

skip-bytebuffers-true
0.00% <0.00%> (-27.73%)
:arrow_down:

temurin
0.00% <0.00%> (-61.76%)
:arrow_down:

unittests
?

unittests1
?

unittests2
?

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

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


How can I lock down a ktd-grid-item? Preventing any movement or replacement!

Is there any possibility that we can lock an individual grid item and it cannot be moved, nor replaced by another ktd-grid-item

Yes, I am talking about this scenario where, if we lock the line chart grid item, it will fix his position and the bar chat grid item or any grid item can't take his place,

I created a Draft PR for this feature. It would be nice if you could test it. That said, I am not fully convinced of how it is working right now. More particularly, I wrote a test use case that is not behaving as expected, and should be fixed IMO (it is the only test that is not passing). I will try to investigate and fix it. Meanwhile, I will keep this feature as a draft.
Feedback is welcome!

Perfect, I will look into it, and get back to you thankyou. :)

I find this feature would be very useful. It is quite common need to create header rows or columns which are not expected to be dragged or replaced in any way. The way I see it, this feature request has two parts:

specific cells should not be draggable - there is already a boolean property for this in KtdGridLayoutItem called 'draggable'.

specific cells should not collide with one another - this may be a generalization of KtdGridComponent's 'preventCollision' property - which applies to every cell inside the grid. A property with the same name could be added to KtdGridLayoutItem which does exactly the same just on cell level instead of grid level.

Hi,
First, thanks a lot for the library. It is really powerful and easy to use.
My use case is having the possibility to set as a header some grid items, but allow the user to change the others. I have currently defined some grid items as not draggable, but those grid items can be moved my other dragging other items before them.
Is there any progress on this?


couldn't run new app on Android, Windows 10

1: Task failed with an exception.
Where:
Script 'C:\Users\inan\projects\IgniteJHipsterSampleApp\node_modules\react-native-navigation\lib\android\prepare-robolectric.gradle' line: 6
What went wrong:
A problem occurred evaluating script.
Could not find method testImplementation() for arguments [org.khronos:opengl-api:gl1.1-android-2.1_r1] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.
2: Task failed with an exception.
What went wrong:
A problem occurred configuring project ':react-native-navigation'.
compileSdkVersion is not specified.
I have used react-native 0.59, can you help me ?

1: Task failed with an exception.

Where:
Script 'C:\Users\inan\projects\IgniteJHipsterSampleApp\node_modules\react-native-navigation\lib\android\prepare-robolectric.gradle' line: 6

What went wrong:
A problem occurred evaluating script.

Could not find method testImplementation() for arguments [org.khronos:opengl-api:gl1.1-android-2.1_r1] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

2: Task failed with an exception.

What went wrong:
A problem occurred configuring project ':react-native-navigation'.

compileSdkVersion is not specified.

I searched the React Native Navigation repository for that stack trace and it looks like it's due to some outdated Android libraries.  Tthe recommended solution is to "Open the project with android studio and accept every update we ask for."  Can you try that?

Thanks for answering me! My all Android libraries is up to date. I install android sdk 28, 29 versions. I will install other versions of it.

In Android Studio, if you open the project's android folder and run the gradle sync (File -> Sync Project with Gradle Files), it should notify you what libraries need to be installed/updated.  I was able to build and launch an Android app this morning on Mac, but I don't have a Windows computer to test with.

Closing in favor of #83

If you're still having issues, please open a new bug with the template filled out.  I can't debug this based on that stacktrace.

Thanks ...


Specify branch

I'm feeling the need to be riding the develop branch during the initial development phase of a project. Have you considered this as an option, and if so what are your thoughts? I did have a look at modifying, but I'm hesitant since there are a few refactors needed and I can't run tests
https://github.com/DispatchMe/mgp/issues/31.

it would be nice to do mgp branch=dev - but this would only be applied repos not already fixed on a commit right?

I was thinking more just as an alternative to 'version':
{
"my:private-package": {
"git": "git@github.com:my/private-packages.git",
"branch": "develop",
"path": "optional/directory/path"
}
}

Any thoughts on this @jperl ?

@rhyslbw if you dont provide a version, mgp loads the current HEAD. You can change your default branch in github to dev. If you do so, you only need to specify the version for production deploy.

Thanks @sokki, however really we're finding the need to be pegging a feature branch on a dependant repo.

Thanks for the PR -- I'll check it out tonight. FYI the tests only work on travis when I run them, because it only adds the private key then.


Find other places we can use async RwLock

          There's probably other places in the codebase we can do this too, would be a good followup

Originally posted by @benthecarman in https://github.com/MutinyWallet/mutiny-node/issues/924#issuecomment-1874681808

Well, clippy warns when you're using a non async mutex over an await so we aren't doing it currently but maybe we benefit from doing that swap anyways.


Fairscale integration not working for me

🐛 Bug
When I try to train a model with Fairscale (ddp_sharded), I get this error always:
  File "/home/ubuntu/anaconda3/envs/torch/lib/python3.7/site-packages/fairscale/nn/data_parallel/sharded_ddp.py", line 500, in _setup_backward_hooks
    assert p_tmp.grad_fn is not None
AssertionError

Could anyone please point me at an example I could run?

PyTorch Version (e.g., 1.0): 1.8
OS (e.g., Linux): Ubuntu 18.04
How you installed PyTorch (conda, pip, source): conda install -c pytorch pytorch
Build command you used (if compiling from source):
Python version: 3.7
CUDA/cuDNN version: 10.2
GPU models and configuration: 8xV100
Any other relevant information:

Hey @aced125, could you share a reproducible script ?

Hi @aced125 this may be the same as https://github.com/PyTorchLightning/pytorch-lightning/issues/6876! Could you try using pytorch-lightning master and fairscale master?
pip install git+https://github.com/facebookresearch/fairscale.git
pip install git+git@github.com:PyTorchLightning/pytorch-lightning.git

@aced125 friendly ping :)


Retain cycle?

Hey! Awesome project! Your code is so inspiring!
I just have one short question, in your ViewModels transform:input method you do use capture list to weakify self, e.g. in EditPostViewModel
        let savePost = saveTrigger.withLatestFrom(post)
                .flatMapLatest { post in
                    return self.useCase.save(post: post)
                            .trackError(errorTracker)
                            .asDriverOnErrorJustComplete()
                }

You use self.useCase.save, isn't this a retain cycle? Dont we have to use:
        let savePost = saveTrigger.withLatestFrom(post)
                .flatMapLatest { [weak self] post in
                    guard let `self` = self else { return someStuff }
                    return self.useCase.save(post: post)
                            .trackError(errorTracker)
                            .asDriverOnErrorJustComplete()
                }

Thanks!

I saw that you actually use capture list in CreatePostViewModel:
.flatMapLatest { [unowned self] in
                    return self.createPostUseCase.save(post: $0)
                            .trackActivity(activityIndicator)
                            .asDriverOnErrorJustComplete()
                }

But you use unowned self which would result in a crash if it were to be deallocated right?

Hi, @Sajjon
Regarding:

I just have one short question, in your ViewModels transform:input method you do use capture list to weakify self, e.g. in EditPostViewModel

I do not think it's a retain cycle as we do not keep reference to the savePost observable. It's retained by the disposeBag in the ViewController which will release everything on deinit.
So there is no need even for unowned in the CreatePostViewModel


can not run masif_seed_pdl1.ipynb

when run the refinement steps,
with open(os.path.join(refined_dir, 'input.list'), 'w') as f:
    f.write('\n'.join([target + ' ' + m for m in matches]))

got error
NameError                                 Traceback (most recent call last)
Cell In[14], line 2
      1 with open(os.path.join(refined_dir, 'input.list'), 'w') as f:
----> 2     f.write('\n'.join([target + ' ' + m for m in matches]))

Cell In[14], line 2, in <listcomp>(.0)
      1 with open(os.path.join(refined_dir, 'input.list'), 'w') as f:
----> 2     f.write('\n'.join([target + ' ' + m for m in matches]))

NameError: name 'target' is not defined

Hi, the tutorial is not clear. For the first step in the pdl1 Jupyter notebook (Collect MaSIF matches and scores), do you know how to get the data for the 5jds_A? Thank you for your help! @nongbaoting

I have the same error at the moment. Is there any update on this?

Hi, the tutorial is not clear. For the first step in the pdl1 Jupyter notebook (Collect MaSIF matches and scores), do you know how to get the data for the 5jds_A? Thank you for your help! @nongbaoting

I am also experiencing the same issues.


Outreach

This is a tracker of outreach to various other persons, groups or projects:
Legend

Icon
status

:white_check_mark:
completed

:clock1030:
In progress

:white_large_square:
Planned, not started

:clock1030: https://joinup.ec.europa.eu/solution/eu-fossa-pilot : intro email sent on 2019-10-07
:clock1030: https://github.com/google/vulncode-db : one ticket and one ping via Github as of 2019-10-07

This is not something to track as an issue.


Readme file enhancement

Prerequisites
Please answer the following questions for yourself before submitting an issue. YOU MAY DELETE THE PREREQUISITES SECTION.

[x] I am running the latest version
[x] I checked the documentation and found no answer
[x] I checked to make sure that this issue has not already been filed
[x] I'm reporting the issue to the correct repository (for multi-repository projects)

The Readme file can be enhanced by adding a list of all the Open Source programs in which this project was listed in. Also there are a few grammatical errors in the Readme file that needs correction.

Hi! Please assign this issue to me under GSSOC.

@anirudhsai20  This issue is solved If you still like to do changes  in updated read me file please let us know here

Hi! I would still like to add a few changes that will enhance the Readme file.

Hi! I would still like to add a few changes that will enhance the Readme file.

details please?

I will add something like this:

I think idea is good but should not look Oversized you can add just logo or
something like that @himanshu007-creator/SFC-foundations
@.***>  will
tell you yes or no
On Thu, Apr 15, 2021, 5:05 PM Anirudh Sai S B @.***>
wrote:

I will add something like this:
[image: pda]
https://user-images.githubusercontent.com/63279440/114862966-c8c3bf80-9e0c-11eb-9a9b-9bf96605d776.png
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/himanshu007-creator/SFC-foundations/issues/132#issuecomment-820354549,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASIJKM6N2N3WCC7UEMRFDFDTI3FR3ANCNFSM42OXFHBQ
.

@anirudhsai20  cool, get started. Keep in mind the sizing thing, rest its awesome. Use GIF's, badeges (codecov specially).
Best of luck

Hi,
I am a gssoc'21 participant and I would like to work on this issue.
It would be if you can assign me on this issue & elaborate a little more on it.

@anirudh, you were inactive, so sorry, @sugatoBagchi, best of luck!

@himanshu007-creator  What changes are we looking for ?  I will like to suggest one of the deployment link can be shifted up below the title  or somewhere like that. This will help the new user to get to the link soon and also add the link in the description

@himanshu007-creator What changes are we looking for ? I will like to suggest one of the deployment link can be shifted up below the title or somewhere like that. This will help the new user to get to the link soon and also add the link in the description

@SugatoBagchi , please note this , development link can be just after the badges. development link is GitHub pages link in present readme

@himanshu007-creator What changes are we looking for ? I will like to suggest one of the deployment link can be shifted up below the title or somewhere like that. This will help the new user to get to the link soon and also add the link in the description

@SugatoBagchi , please note this , development link can be just after the badges. development link is GitHub pages link in present readme

Got it. Thanks. Will start working from today!👍

And Please let us know if any more changes you want to add @SugatoBagchi !! Great to have you in team ! Keep Working !


[Reports] Inquiry Regarding Integration of End User Requests into ManageIQ Services Table

Hello,
I am writing to address a concern related to our ongoing ManageIQ project, specifically regarding the development of end-user buttons that trigger requests.
Currently, we have successfully implemented end-user buttons; however, we have observed that the associated requests do not appear in the "Services > Requests" table. This limitation is hindering our ability to generate reports on the usage of these buttons.
Given the importance of tracking and analyzing end-user interactions, we would like to inquire if there is a possibility to incorporate these requests into the "Services > Requests" table. This enhancement would greatly contribute to our reporting capabilities and provide valuable insights into the utilization of the implemented features.
Alternatively, if this functionality is not currently supported, we would appreciate guidance on whether it could be considered for inclusion in a future ManageIQ version. Understanding the roadmap for future releases will help us plan our reporting strategy more effectively.
Your assistance in addressing this matter is highly appreciated. If further clarification or discussion is required, please do not hesitate to reach out. We look forward to your guidance on this matter and appreciate your ongoing support.
Thank you for your time and attention.
Best regards,

Our requirement is to be able to generate daily reports to be sent to PowerBI. We already do this for requests launched through our service catalogs. However, for actions performed via end-user buttons, we currently lack the means to generate these reports. Here is an example of a buttons:

ex: Restart button triggers a request that is located in /services/request.

when a user uses the button, the request does not appear either in services > Requests or in Tasks.
is there a way to get these reports?

here's an example of a report we send to powerBI.

when a user uses the button, the request does not appear either in services > Requests or in Tasks.

I would expect that at a minimum, it appears in Tasks, and that is probably a bug.  The fact that the automation lives in /Services/Requests is more of a naming coincidence, and so I wouldn't expect these to appear in Requests, since the Requests page is specifically for Catalog Orders / Reconfigures / Retirement.


[Documentation] When GITHUB_TOKEN is provided automatically through the UI

What problem or use case are you trying to solve?
I don't know when the GITHUB_TOKEN is provided to the agent through the UI, and I don't believe this is documented anywhere.
It would be good to have this documented in the documentation. Does anyone have an idea under what conditions the GITHUB_TOKEN is provided?

https://github.com/All-Hands-AI/OpenHands/blob/eeb23425090286523ab4fcf5d6a86a98c4b4bb4d/frontend/src/routes/_oh.app.tsx#L273-L278
Once the user arrives at /app, we check if there is a ghToken present. This is obtained after either inputting the token directly (OSS) or through GitHub OAuth (SaaS). userId is retrieved via GET request to the GitHub /user API.
If it is present, we export it to the shell environment.

OK, great. This should probably be added to the docs for GUI mode. Assigning to openhands-agent.
https://docs.all-hands.dev/modules/usage/how-to/gui-mode


Sync encrypted store for ids

Task/Issue URL: https://app.asana.com/0/488551667048375/1203773736913472/f
Description
Steps to test this PR
Feature 1

[ ]
[ ]

UI changes

Before
After

!(Upload before screenshot)
(Upload after screenshot)

Current dependencies on/for this PR:

develop

PR #2737

PR #2740   👈

This comment was auto-generated by Graphite.


Bugxfixes

Codecov Report

Merging #228 into master will increase coverage by 0.08%.
The diff coverage is 83.33%.

@@             Coverage Diff              @@
##             master     #228      +/-   ##
============================================
+ Coverage        58%   58.08%   +0.08%
- Complexity     2700     2705       +5
============================================
  Files           327      327
  Lines          6862     6869       +7
============================================
+ Hits           3980     3990      +10
+ Misses         2882     2879       -3

Impacted Files
Coverage Δ
Complexity Δ

...ller/External/Traits/FilterAuthenticationTrait.php
80% <ø> (ø)
2 <0> (ø)
:arrow_down:

src/Controller/External/Share/FilterController.php
0% <0%> (ø)
3 <0> (-1)
:arrow_down:

...Controller/External/Api/Share/FilterController.php
81.81% <100%> (ø)
8 <0> (+2)
:arrow_up:

src/Entity/Filter.php
80.64% <100%> (+2.86%)
72 <2> (+2)
:arrow_up:

src/Api/Transformer/Register/IssueTransformer.php
100% <100%> (ø)
5 <0> (ø)
:arrow_down:

src/Api/Entity/Register/Issue.php
100% <100%> (ø)
28 <2> (+2)
:arrow_up:

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 e507d7e...9ceb42c. Read the comment docs.


Hyprland crashes when clicking mouse while fuzzel is opening

Already reported ? *

[X] I have searched the existing open and closed issues.

Regression?
No
System Info and Version
 System/Version info
Hyprland, built from branch  at commit 4520b30d498daca8079365bdb909a8dea38e8d55  (version: bump to 0.44.1).
Date: Wed Oct 9 12:54:39 2024
Tag: v0.44.1, commits: 5309
built against aquamarine 0.4.2

flags: (if any)

System Information:
System name: Linux
Node name: Corio
Release: 6.11.5-arch1-1
Version: #1 SMP PREEMPT_DYNAMIC Tue, 22 Oct 2024 18:31:38 +0000

GPU information:
04:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Cezanne [Radeon Vega Series / Radeon Vega Mobile Series] [1002:1638] (rev c1) (prog-if 00 [VGA controller])

os-release: NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues"
PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
LOGO=archlinux-logo

Description
If I click my mouse while fuzzel logout menu is opening, hyprland crashes
script opening logout menu:
#!/bin/bash

SELECTION="$(printf "Log out\nSuspend\nReboot\nShutdown" | fuzzel --dmenu -l 4)"

case $SELECTION in
	*"Suspend")
		systemctl suspend;;
	*"Log out")
		hyprctl dispatch exit;;
	*"Reboot")
		systemctl reboot;;
	*"Shutdown")
		systemctl poweroff;;
esac

How to reproduce
Open fuzzel logout menu via running following command, while repeatedly clicking left mouse button on screen
printf "Log out\nSuspend\nReboot\nShutdown" | fuzzel --dmenu -l 4
Crash reports, logs, images, videos
crash-report.txt

what about -git?

Okay, what I think is happening is fuzzel just automatically chooses one of the option, suspend, logout, reboot or shutdown when clicked outside of the window. I guess it's not the problem with Hyprland then


[22.05] mariadb: patch release

Description of changes
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

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

73 packages marked as broken and skipped:

libsForQt512.akonadi
libsForQt512.akonadi-calendar
libsForQt512.akonadi-calendar-tools
libsForQt512.akonadi-contacts
libsForQt512.akonadi-import-wizard
libsForQt512.akonadi-mime
libsForQt512.akonadi-notes
libsForQt512.akonadi-search
libsForQt512.akonadiconsole
libsForQt512.akregator
libsForQt512.calendarsupport
libsForQt512.eventviews
libsForQt512.incidenceeditor
libsForQt512.kaddressbook
libsForQt512.kalarm
libsForQt512.kalendar
libsForQt512.kdepim-addons
libsForQt512.kdepim-runtime
libsForQt512.kgpg
libsForQt512.kmail
libsForQt512.kmail-account-wizard
libsForQt512.kmailtransport
libsForQt512.knotes
libsForQt512.kontact
libsForQt512.korganizer
libsForQt512.libgravatar
libsForQt512.libkdepim
libsForQt512.libksieve
libsForQt512.mailcommon
libsForQt512.mailimporter
libsForQt512.mbox-importer
libsForQt512.messagelib
libsForQt512.pim-data-exporter
libsForQt512.pim-sieve-editor
libsForQt512.pimcommon
libsForQt512.zanshin
libsForQt514.akonadi
libsForQt514.akonadi-calendar
libsForQt514.akonadi-calendar-tools
libsForQt514.akonadi-contacts
libsForQt514.akonadi-import-wizard
libsForQt514.akonadi-mime
libsForQt514.akonadi-notes
libsForQt514.akonadi-search
libsForQt514.akonadiconsole
libsForQt514.akregator
libsForQt514.calendarsupport
libsForQt514.eventviews
libsForQt514.incidenceeditor
libsForQt514.kaddressbook
libsForQt514.kalarm
libsForQt514.kalendar
libsForQt514.kdepim-addons
libsForQt514.kdepim-runtime
libsForQt514.kgpg
libsForQt514.kmail
libsForQt514.kmail-account-wizard
libsForQt514.kmailtransport
libsForQt514.knotes
libsForQt514.kontact
libsForQt514.korganizer
libsForQt514.libgravatar
libsForQt514.libkdepim
libsForQt514.libksieve
libsForQt514.mailcommon
libsForQt514.mailimporter
libsForQt514.mbox-importer
libsForQt514.messagelib
libsForQt514.pim-data-exporter
libsForQt514.pim-sieve-editor
libsForQt514.pimcommon
libsForQt514.zanshin
unixODBCDrivers.mysql

2 packages failed to build:

kmymoney
snabb

56 packages built:

automysqlbackup
calligra
diesel-cli
digikam
libsForQt5.akonadi
libsForQt5.akonadi-calendar
libsForQt5.akonadi-calendar-tools
libsForQt5.akonadi-contacts
libsForQt5.akonadi-import-wizard
libsForQt5.akonadi-mime
libsForQt5.akonadi-notes
libsForQt5.akonadi-search
libsForQt5.akonadiconsole
libsForQt5.akregator
libsForQt5.calendarsupport
libsForQt5.eventviews
libsForQt5.incidenceeditor
libsForQt5.kaddressbook
libsForQt5.kalarm
libsForQt5.kalendar
libsForQt5.kdepim-addons
libsForQt5.kdepim-runtime
libsForQt5.kgpg
libsForQt5.kmail
libsForQt5.kmail-account-wizard
libsForQt5.kmailtransport
libsForQt5.knotes
libsForQt5.kontact
libsForQt5.korganizer
libsForQt5.libgravatar
libsForQt5.libkdepim
libsForQt5.libksieve
libsForQt5.mailcommon
libsForQt5.mailimporter
libsForQt5.mbox-importer
libsForQt5.messagelib
libsForQt5.pim-data-exporter
libsForQt5.pim-sieve-editor
libsForQt5.pimcommon
libsForQt5.zanshin
lua51Packages.luadbi-mysql
lua52Packages.luadbi-mysql
lua53Packages.luadbi-mysql
luajitPackages.luadbi-mysql
mariadb
mariadb_107
mariadb_108
ocamlPackages.caqti-driver-mariadb
ocamlPackages.mariadb
perl532Packages.MySQLDiff
perl534Packages.MySQLDiff
shmig
sogo
sope
trojita
zoneminder


Single-SPA with Angular 17 and Zone.js

Question
I can't seem to get single-spa to work with angular 17 because of changes to zone.js
Zone.js no longer exports /dist/zone so I can't put import 'zone.js/dist/zone' in my main.single-spa.ts file anymore (it was working with that import for Angular 14-16). Removing that import causes this error when trying to load my-app in the root app:
application 'my-app' died in status SKIP_BECAUSE_BROKEN: NG0908: In this configuration Angular requires Zone.js
If I try to put import 'zone.js' in main.single-spa.ts, then I get this error when trying to load my app:
application 'my-app' died in status LOADING_SOURCE_CODE: Unable to resolve bare specifier 'zone.js' from http://localhost:9001/main.js (SystemJS Error#8 https://git.io/JvFET#8)
I'm not sure how to solve this dilemma. I'm not even sure if I need zone.js, but I tried passing NgZone: 'noop' to singleSpaAngular function (according to this issue) and removing my zone.js dependency entirely, but that didn't resolve it either (still complains NG0908: In this configuration Angular requires Zone.js).
I'm probably misunderstanding something with Zones in Angular 17 here.
Environment
Libs:
Angular 17.3.7
"single-spa-angular": "^9.1.2",
"zone.js": "~0.14.5"

Im using angular 16 @angular/core": "^16.1.0", for my micro front end and Im running into the same issue. When I try putting the zone.js script tag mentioned https://single-spa.js.org/docs/ecosystem-angular/ it's getting commented out when I inspect it in the browser. Not sure if its build setting within the root application because Angular does that also when building your application.
Im not sure how Im supposed to provide zone.js so it's loaded once before any micro front ends load.

With angular 16, if you put import 'zone.js/dist/zone'; at the top of your main.single-spa.ts file, it should work. I didn't ever try putting the script tag zone.js in the index.ejs file so I don't think you need to. But for angular 17, dist/zone is no longer available so that's my issue.

import 'zone.js/dist/zone';

Are you talking about within your microfrontend app or your host single-spa app?

@ethan-gerardot  No luck with that solution unfortunately. I added import 'zone.js/dist/zone'; to the top of my angular microfrontends main.single-spa.ts and commented out the script tag in the index.ejs file loading zone.js. Still getting the same error.

I ended up figuring out the issue. I had multiple instances of zone.js loaded. I had to remove the import of zone.js in the main.single-spa.ts file that came with it. After doing that it worked.

Could you provide a minimal running example?

Unfortunately I can't provide more than I did in the description (technically the code is proprietary). I used single-spa libs and docs to generate the code bases (root app and microfrontend app) so I'm not doing anything unusual I don't think. Are you suggesting Angular 17 should be supported with the Environment dependencies I'm using? Or is it just not fully supported yet?

I have a working configuration working with Angular 17, that's what I have:

no import of zone.js in the main-single-spa.ts
polyfill present in the angular.json

{
  polyfills: [
    "zone.js"
  ]
}

in the index.ejs of the root config app, it is clearly indicated in a comment to uncomment the line with the import of zone.js, so, in that file:

      <!--
    If you need to support Angular applications, uncomment the script tag below to ensure only one instance of ZoneJS is loaded
    Learn more about why at https://single-spa.js.org/docs/ecosystem-angular/#zonejs
  -->
      <script<EMAIL_ADDRESS>
And that's it. It all works fine (well at least for that part :) )

I have a working configuration working with Angular 17, that's what I have:
...

This worked. Especially uncommenting the script and updating it to what you have (zone.js@0.14.6/+esm).
Thanks!!


Feature Request: add options to specify admin port, IP and secret on command line

Reviewing the code I only see the config class referencing the admin IP, port and secret values in the XML config file:
<admin port="9022" secret="cymru"><IP_ADDRESS></admin>
When running a Docker container it is less desirable to hard-code these types of properties in a configuration file that requires complex configuration (file) management. This is especially true when setting these types of properties in a very dynamic environment with service discovery.
Ideally, these values would be referenced/passed via environment variables or the command line parameters. This concept is similar to the way that we can pass --contact and --external-ip config parameters.
Perhaps (very likely!) I'm overlooking something in the code but I don't see any way to perform this type of configuration.
Thanks for releasing such a great project to the open source world!
Regards,
Lucas

Update: I see in the README that the admin port can be specified on the command line, but I don't see the listening admin IP or secret in the list of available command line parameters.

you're right, I have not exposed those.  I will look into adding those...

here is the best documentation on command line arg FYI
https://drachtio.org/docs/drachtio-server#command-line-arguments

added in v0.7.4-rc1


cmd/link: DWARF line tables seem to be off by 1 instruction

go version go1.5.1 darwin/amd64
I was noticing that values printed in the debugger often seem to be uninitialized when stepping past a line that initializes them. It appears that the DWARF line tables are advancing the line number one instruction too early. For example, with this go code
23 func main() {
24 	lf, err := os.OpenFile("test", os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666)
25 	if err != nil {
26 		log.Fatalf("error opening file: %v", err)
27 	}
28 ....

dwarfdump shows this for the line table:
0x000063e4: DW_LNE_set_address( 0x0000000004002e90 )
0x000063ef: DW_LNS_advance_line( 22 )
0x000063f1: address += 0,  line += 0
            0x0000000004002e90      1     23      0 is_stmt

0x000063f2: DW_LNS_advance_pc( 100 )
0x000063f4: address += 0,  line += 1
            0x0000000004002ef4      1     24      0 is_stmt

0x000063f5: DW_LNS_advance_pc( 70 )
0x000063f7: address += 0,  line += 1
            0x0000000004002f3a      1     25      0 is_stmt

It shows line 25 starting at 0x4002f3a. However, from the disassembly this appears to be the last instruction of line 24. Line 25 starts at 0x4002f42:
test`main.main:
    0x4002e90 <+0>:    movq   %gs:0x8a0, %rcx
    0x4002e99 <+9>:    leaq   -0x160(%rsp), %rax
    0x4002ea1 <+17>:   cmpq   0x10(%rcx), %rax
    0x4002ea5 <+21>:   jbe    0x4003d32                 ; <+3746> at test.go:23
    0x4002eab <+27>:   subq   $0x1e0, %rsp
    0x4002eb2 <+34>:   xorl   %eax, %eax
    0x4002eb4 <+36>:   movq   %rax, 0x1c0(%rsp)
    0x4002ebc <+44>:   movq   %rax, 0x1c8(%rsp)
    0x4002ec4 <+52>:   movq   %rax, 0x1d0(%rsp)
    0x4002ecc <+60>:   movq   %rax, 0x1d8(%rsp)
    0x4002ed4 <+68>:   movq   %rax, 0x170(%rsp)
    0x4002edc <+76>:   movq   %rax, 0x178(%rsp)
    0x4002ee4 <+84>:   movq   %rax, 0x130(%rsp)
    0x4002eec <+92>:   movq   %rax, 0x138(%rsp)
    0x4002ef4 <+100>:  leaq   0x3b6865(%rip), %rbx      ; go.string.* + 93856
    0x4002efb <+107>:  movq   %rbx, (%rsp)
    0x4002eff <+111>:  movq   $0xb, 0x8(%rsp)
    0x4002f08 <+120>:  movq   $0x20a, 0x10(%rsp)
    0x4002f11 <+129>:  movl   $0x1b6, 0x18(%rsp)
    0x4002f19 <+137>:  callq  0x40b8cb0                 ; os.OpenFile at file_unix.go:85
    0x4002f1e <+142>:  movq   0x20(%rsp), %rbx
    0x4002f23 <+147>:  movq   %rbx, 0x70(%rsp)
    0x4002f28 <+152>:  movq   0x28(%rsp), %rcx
    0x4002f2d <+157>:  movq   0x30(%rsp), %rdx
    0x4002f32 <+162>:  movq   %rdx, 0xe8(%rsp)
->  0x4002f3a <+170>:  movq   %rcx, 0xe0(%rsp)
    0x4002f42 <+178>:  cmpq   $0x0, %rcx

I looked at gc's assembly output, and it shows the same issue, so this isn't a problem with the dwarf generation. Also I can't seem to reproduce it if I use --gcflags "-N -l" to disable optimization, so it may not be worth digging in to.

It's not an off-by-one. The instruction you identified is the spill of a variable to memory. Spills don't really have a "correct" line number. They can be arbitrarily delayed, too, so certainly line 24 could end and parts of line 25 could continue to execute before the spill happened. In this sense the current line number reporting is probably better. Anyway, it's a very hard problem.

In that case I guess that the problem is that the debug info says the variable is located in memory for the entire function, but it should instead reference the register at this instruction.


Research approvals plugins

We are talking about improving approvals workflow.
Needs UX Research, experience decisions, then scope & build.

Closing - we will rescope the review issues.


Synchronise (?) Kubernetes and crictl

Is your feature request related to a problem? Please describe.
It's unclear but it appears (!?) that cri-tools (including crictl) are version-sync'd with Kubernetes:
https://github.com/kubernetes-sigs/cri-tools/tags
The E2E test runner has been using crictl v1.17.0 for all (>=1.18) versions of Kubernetes:

https://github.com/deislabs/akri/blob/fd2ed66c30c9fe4a7820a9b2feecfd3420da717e/.github/workflows/run-test-cases.yml#L170
https://github.com/deislabs/akri/blob/fd2ed66c30c9fe4a7820a9b2feecfd3420da717e/.github/workflows/run-test-cases.yml#L225

Confirm whether Kubernetes and crictl are version-sync'd and then decide whether to apply this to the E2E tests.

According to https://github.com/kubernetes-sigs/cri-tools, it looks like versions between 1.11 and 1.15 are aligned, but maybe that 1.16 and above should all work together.
Our tests do this:

Microk8s v1.16 & v1.17 => crictl v1.16 ... otherwise crictl v1.17
K3s v1.16 & v1.17 => crictl v1.16 ... otherwise crictl v1.17
K8s => use crictl that aligns to version

Our docs demonstrate installing:

k3s (most recent version) with crictl v1.17
microk8s (v1.19) with crictl v1.17
for k8s, no install for crictl needed

From this, it seems our tests align to our documentation.  We can probably afford to assume this is a happy path until someone has a need to try some specific version of crictl and finds it doesn't work.


How to pass additional arguments to objective function

Hello,
First of all thank you for your nice L-BFGS-B wrapper. The first argument of function lbfgsb is fcn which is the function that computes the objective function value and gradients. Input argument to fcn is x which is the vector of parameters to be optimised. I need to send additional arguments to fcn. Could you please tell me how I can do this. I tried to use varargin in input arguments of lbfgsb and then use varargin as input to callF in line 199 :
[f,g] = callF(x, varargin{1}, varargin{2});
but varargin is already used in lbfgs code so it is not possible to use varargin like what I have in mind. Could you please point me in the right direction? Thank you in advance.
Best regards,
Navid

Hi Navid,
You can use an anonymous function. Suppose you have a function implemented like
`function [f,g] = myGradientFunction( x, parameter1, parameter 2)`

then give the L-BFGS-B wrapper a function handle
`f = @(x) myGradientFunction( x, parameter1, parameter2)`

So that f is now a function of x only.
See https://blogs.mathworks.com/loren/2012/08/29/thoughts-about-anonymous-functions/
e.g., where she goes to myline = @(x) straightline(x,m,b); as an example.
Best,
Stephen

Thank you for your reply. It really helped!


Update README.md

Github trending in WeChat Official Account Platform

Deploy preview for ghapi ready!
Built with commit e00a1e4240ada2afd5445ebd3f2f0f4a260b87ff
https://deploy-preview-129--ghapi.netlify.app

Thanks!


Remove intellij configuration from the repository

I don't like to have it there.
As far as I know we don't do it with other projects and I find annoying to have it change every time somebody push something or I decide to tweak a bit my IDE.

Alright so I tried this out and indeed on this project the import seemed to work smoothly (first time that's worked for me) without the .idea directory. Perhaps because this project was initially created as a simple, clean gradle build.
The only thing I dislike is that of course it uses the global settings for code style, which is a pain because Hibernate uses tabs whereas the other projects I work on all uses spaces. Still, that's not so bad compared to my experiences with the hibernate-orm and query-validator projects.

The only thing I dislike is that of course it uses the global settings for code style, which is a pain because Hibernate uses tabs whereas the other projects I work on all use spaces

You only need to set the code style only once, or am I missing something? Checkstyle also make sure that there are no errors and while this is annoying in the beginning I think people tend to get use to it quickly.
I'm going to add a CONTRIBUTING.md to the project with some specific information.


Add WebhookResponseTest.java

Summary
This pull request adds test_locally.app_backend.outgoing_webhooks.WebhookResponseTest.java to this project.
Requirements (place an x in each [ ])

[x] I've read and understood the Contributing Guidelines and have done my best effort to follow them.
[x] I've read and agree to the Code of Conduct.

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

close this pull request because I want to change branch name.


Tileview object related questions

Hi，
The tileview object depends on the page object implementation, but there is no macro judgment in the lv_tileview.h header file.
In the lv_test_tileview_1 test function, without changing the contents of the vp array, using #if0 #endif to expand the created objects one by one will find many interesting problems. I don't know if this is a usage problem or a bug.
For example, when only p01 and p11 objects are created, you can switch from p01 to p11, but you cannot switch from p11 to p01.
After creating the p01, p11, list12 objects, after switching to the list12 object interface, you can slide to the left blank page.
After creating the p01, p11, list12, p10 objects, you cannot slide to the left blank page after switching to the list12 object interface. However, when sliding from p01 to the right for the first time, it will slide to p10 instead of p11, and then switch between p01 and p11 when switching back and forth.
After creating the p01, p11, list12, p10, p21 objects, you can slide to the blank page on the right after switching to the list12 object interface or slide down to the blank page after switching to p21, afterwards whether it is left or up Can't recover.

The problem is in the latest master branch。
If you mask out the last line of lv_tile_tileview_1 function lv_tileview_set_tile_act, you can drag to the top blank page or the blank page below for the first time.

@kisvegabor

It's because when you create e.g. only the first two tiles vp doesn't make sense. It describes the whole tileview with the 6 tiles of the example. For example, if you return after the creation of the second tile, the tileview will think it has only one row and will interpret vp accordingly.
I see that it's not intuitive but I have a possible improvement in my mind. set_valid_drag_dirs can be improved to check the children of the tileview and if there is a child on a neighbor tile then allow scrolling there.

Yes, in the complete case, the last line of lv_tileview_set_tile_act function is masked, then you can drag to the space above or below.

If you don't call lv_tileview_set_tile_act LittlevGL will think that you are on the (0;0) tile. So you should set valid tile when you create the tileview.

But there is no explicit (0,0) in the array vp. Is this a bug?

But there is no explicit (0,0) in the array vp. Is this a bug?

When you create the tileview, in lack of better idea, LittlevGL sets the (0;0) tile as active. But when you set the valid positions LittlevGL can see that an invalid tile is selected but still doesn't know which tile to choose. So you need to set tile explicitly with   lv_tileview_set_tile_act.

That is to say, the lv_tileview_set_tile_act function must be called when using the tileview object.
It would be more reasonable to let the lvgl library internally select a valid tile page without the user calling the lv_tileview_set_tile_act function function.

Still let the user call it himself, this is more clear

Ok, thank you for your answer.

For the novice to use tileview two points, if the array does not match the actual creation of the object may be wrong, the other is necessary to call lv_tileview_set_tile_act function to activate a page.

@chenshijianworkgit For future reference, it's easier to read one comment rather than four. Please edit additional information into your existing comment.

@chenshijianworkgit
I fixed it in dev-6.0. In lv_tileview_set_valid_positions if an invalid tile is shown then the first element of the valid_positions array is selected.
https://github.com/littlevgl/lvgl/blob/dev-6.0/lv_objx/lv_tileview.c#L164


[W09H01] Legality of Homework Checker

tests wether homework uses illegal imperative java statements such as loops and conditions

Danke @MaximilianAnzinger! 🐧


Improve resolver locks

Task
Currently, Resolver relies on RWMutex and has suboptimal locking.
Improve concurrency by adding WaitGroups.
Acceptance criteria
No changes in functionality, no concurrency issues.

@paxthemax , if you have some energy, would be good to look into this (smart-contract is obviously priority).


Node.js SDK : Error handling

Currently, if an error occur, it's printed out but the exit code is still 0.
We should trigger a more appropriate process.exit(1).

discord context, so we can follow up with user once completed - https://discord.com/channels/707636530424053791/1040027260155088956/1042802626649141298

Maybe borrow the pattern from hardhat to achieve exit codes and add this pattern to the examples and guides.
This way the SDK just throws "better errors" and the user can do with them what they want.
Dagger just provides a sensible example of how to deal with errors per default.

async function main() {
   ...
}

main().catch((error) => {
   console.error(error);
   process.exitCode = 1;
});

Another option is
connect(async (client: Client) => {
    ....
}).catch((error) => {
   console.error(error);
   process.exitCode = 1;
});

@benjaminstrasser - how the example below should be modified to "exit 1"?
Execute the modified get-started/step3/build.ts example containing an injected error command node none. Run node --loader ts-node/esm ./build.ts
import Client, { connect } from<EMAIL_ADDRESS>
// initialize Dagger client
connect(async (client: Client) => {
  // get Node image
  // get Node version
  const node = await client.container().from("node:16").exec(["node", "none"])

  // execute
  const version = await node.stdout().contents()

  // print output
  console.log("Hello from Dagger and Node " + version.contents)
}).catch((error) => {
   console.error(error);
   process.exitCode = 1;
})

To reproduce:

Use the following DockerfileFROM node:18.12.1-alpine3.16

# Install docker-cli
RUN apk update \
    && apk add shadow docker-cli \
    && rm -rf /var/cache/apk/*

# Allow node to execute docker commands without sudo
RUN addgroup -S docker && adduser node docker

# Configure sudo
RUN apk update \
    && apk add sudo \
    && rm -rf /var/cache/apk/*
RUN echo '%wheel ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/wheel
RUN adduser node wheel && sudo -lU node

USER node

WORKDIR /app

CMD ["sleep", "infinity"]

Executedocker rm -f dagger
docker build -t dagger:latest .
docker run -d --rm --name dagger -v /var/run/docker.sock:/var/run/docker.sock -v $PWD:/app dagger:latest sleep infinity
docker exec -it dagger sh -c "sudo groupmod -g \$(stat -c '%g' /var/run/docker.sock) docker"
docker exec -it dagger sh -c "npm install ts-node"
docker exec -it dagger sh -c "npm install @types/node"
docker exec -it dagger sh -c "npm pkg set type=module"
docker exec -it dagger sh -c "echo '{\"compilerOptions\":{\"moduleResolution\":\"Node\",\"module\":\"ESNext\",\"target\":\"ES2020\"}}' > tsconfig.json"
docker exec -it dagger sh -c "npm install<EMAIL_ADDRESS>docker exec -it dagger sh -c "node --loader ts-node/esm ./build.ts"

Output:
(node:86) ExperimentalWarning: Custom ESM Loaders is an experimental feature. This feature could change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
{
  "response": {
    "data": {
      "container": {
        "from": {
          "exec": {
            "stdout": null
          }
        }
      }
    },
    "errors": [
      {
        "message": "process \"/_shim docker-entrypoint.sh node none\" did not complete successfully: exit code: 1",
        "locations": [
          {
            "line": 2,
            "column": 82
          }
        ],
        "path": [
          "container",
          "from",
          "exec",
          "stdout",
          "contents"
        ]
      }
    ],
    "status": 200,
    "headers": {}
  },
  "request": {
    "query": "\n            {container{from(address:\"node:16\"){exec(args:[\"node\",\"none\"]){stdout{contents}}}}}\n          "
  }
}
Hello from Dagger and Node undefined

echo $?
0

@marcindulak
I don't think you can currently use my approach since no Errors are thrown by dagger.
Introducing sensible error handling is part of the discussion. Once sensible errors are thrown catching them as per my example will work.
Her you can see how errors coming from the graphql backend just get logged and ignored.
  protected async _compute() : Promise<Record<string, any>> {
    try {
      // run the query and return the result.
      const query = queryBuilder(this._queryTree)
      const computeQuery: Awaited<Promise<Record<string, any>>> =  await this.client.request(gql`${query}`)

      return queryFlatten(computeQuery)
    } catch (error) {
      console.error(JSON.stringify(error, undefined, 2))
      return {}
    }
  }

What you can do for now is simply to check if a value is undefined every time a call is made. In your example  this would be something like
import Client, { connect } from<EMAIL_ADDRESS>
// initialize Dagger client
connect(async (client: Client) => {
  // get Node image
  // get Node version
  const node = await client.container().from("node:16").exec(["node", "none"])

  // execute
  const version = (await node.stdout().contents()).contents
  if (!version){
    throw Error("Custom Error")
  }

  // print output
  console.log("Hello from Dagger and Node " + version)
}).catch((error) => {
  console.error(error);
  process.exitCode = 1;
})

Another less general apraoch is to check the exit code og the last executed comand
  if ((await node.exitCode()).exitCode != 0){

There is also a question what is the exposed contents when an error occurs: graphl's did not complete successfully: exit code: X is not enough when debugging failures.
At least these issues are relevant for the discussion: https://github.com/dagger/dagger/issues/3496#issuecomment-1295245671 and https://github.com/dagger/dagger/issues/3182

Maybe borrow the pattern from hardhat to achieve exit codes and add this pattern to the examples and guides. This way the SDK just throws "better errors" and the user can do with them what they want. Dagger just provides a sensible example of how to deal with errors per default.

async function main() {
   ...
}

main().catch((error) => {
   console.error(error);
   process.exitCode = 1;
});

If this is the way we want to proceed just @ me and I'll open a PR. Am obviously open to input/suggestions.

@benjaminstrasser totally keen to let you open a PR if you want 🙏 .

Opened draft here #3947


Distributed TensorFlow hangs at the end of one iteration when using DataSet api

Training epoch by epoch, the program will hangs on some random nodes forever at the end of one iteration, namely the end of one epoch. It appears certainly when using DataSet api, while it is fine when using old Queue based data api. I have set inter_op_parallelism_threads=1, intra_op_parallelism_threads=1. @mrry
Env:
Distributed running on Yarn.
Node information: CentOS, linux kernel 3.10.0. Only CPU.
TensorFlow: r1.12, built from source.
Demo(It's independent of the model. It's easier to reproduce by using more worker nodes. Here, I use 50 worker nodes and 20 ps nodes.)
flags.DEFINE_string("ps_hosts", "", "Comma-separated list of hostname:port pairs")
flags.DEFINE_string("worker_hosts", "", "Comma-separated list of hostname:port pairs")
flags.DEFINE_string("job_name", "", "One of 'ps', 'worker'")
flags.DEFINE_integer("task_index", 0, "Index of task within the job")

FLAGS(sys.argv)

class Job(object):
    def __init__(self):
        self.ps_hosts = FLAGS.ps_hosts.split(',')
        self.worker_hosts = FLAGS.worker_hosts.split(',')
        self.job_name = FLAGS.job_name
        self.task_index = FLAGS.task_index
        self.cluster = tf.train.ClusterSpec({'ps': self.ps_hosts, 'worker': self.worker_hosts})
        self.server = tf.train.Server(self.cluster, job_name=self.job_name, task_index=self.task_index)
        self.is_chief = (self.task_index == 0 and self.job_name == 'worker')
        worker_prefix = '/job:worker/task:%s' % self.task_index
        self.cpu_device = '%s/cpu:0' % worker_prefix
        self.param_server_device = tf.train.replica_device_setter(
            worker_device=self.cpu_device, cluster=self.cluster,
            ps_strategy=tf.contrib.training.GreedyLoadBalancingStrategy(len(self.ps_hosts), tf.contrib.training.byte_size_load_fn))
        self.num_ps = self.cluster.num_tasks('ps')
        self.num_worker = self.cluster.num_tasks('worker')

    def data_iter(self, batch_size=1000, file_pattern='./input/part-*'):
        def _parse_function(examples):
            features = {}
            features['label'] = tf.FixedLenFeature([], tf.float32)
            features['user_id'] = tf.FixedLenFeature([1], tf.int64)
            features['item_id'] = tf.FixedLenFeature([1], tf.int64)
            instance = tf.parse_example(examples, features)
            return instance['label'], instance['user_id'], instance['item_id']

        with tf.name_scope('input'):
            files = tf.data.Dataset.list_files(file_pattern)
            dataset = files.apply(tf.contrib.data.parallel_interleave(
                        lambda file: tf.data.TFRecordDataset(file),
                        cycle_length=1, sloppy=True))
            dataset = dataset.prefetch(buffer_size=batch_size*2)
            dataset = dataset.batch(batch_size)
            dataset = dataset.map(_parse_function, num_parallel_calls=1)
            iterator = dataset.make_initializable_iterator()
            return iterator

    def model(self, user_id, item_id):
        user_embedding_variable = tf.get_variable('user_emb_var', [1000000, 32], initializer=tf.random_uniform_initializer(minval=-0.5, maxval=0.5, dtype=tf.float32))
        item_embedding_variable = tf.get_variable('user_emb_var', [500000, 32], initializer=tf.random_uniform_initializer(minval=-0.5, maxval=0.5, dtype=tf.float32))
        user_embedding = tf.nn.embedding_lookup(user_embedding_variable, user_id)
        item_embedding = tf.nn.embedding_lookup(item_embedding_variable, item_id)
        user_embedding = tf.reshape(user_embedding, [-1, 32])
        item_embedding = tf.reshape(item_embedding, [-1, 32])
        cross = tf.reduce_sum(user_embedding * item_embedding, 1, keep_dims=True)
        bias = tf.get_variable('bias', initializer=tf.constant(np.zeros((1), dtype=np.float32)), dtype=tf.float32)
        layer = cross + bias
        weight_np = np.zeros((1, 2), dtype=np.float32)
        weight_np[:, 1] = 1
        weight = tf.get_variable('weight', initializer=tf.constant(weight_np), dtype=tf.float32, trainable=False)
        logits = tf.matmul(layer, weight)
        return logits

    def train(self):
        if self.job_name == 'ps':
            with tf.device('/cpu:0'):
                self.server.join()
        elif self.job_name == 'worker':
            with tf.Graph().as_default():
                with tf.device(self.param_server_device):
                    train_iterator = self.data_iter()
                    train_label, train_user_id, train_item_id = train_iterator.get_next()
                    train_logit = self.model(train_user_id, train_item_id)
                    train_label = tf.to_int64(train_label)
                    train_cross_entropy = tf.nn.sparse_softmax_cross_entropy_with_logits(logits=train_logit, labels=train_label)
                    train_loss = tf.reduce_mean(train_cross_entropy, name='loss')
                    opt = tf.train.AdamOptimizer(learning_rate=0.001)
                    train_op = opt.minimize(train_loss)
                    saver = tf.train.Saver()

                    sess_config = tf.ConfigProto(allow_soft_placement=True,
                        log_device_placement=False,
                        device_filters=["/job:ps", "/job:%s/task:%d" % (self.job_name, self.task_index)],
                        operation_timeout_in_ms=60000,
                        inter_op_parallelism_threads=1,
                        intra_op_parallelism_threads=1)
                    with tf.train.MonitoredTrainingSession(master=self.server.target,
                                                           is_chief=self.is_chief,
                                                           config=sess_config) as sess:
                        epoch_num = 0
                        while epoch_num < 10:
                            epoch_num += 1
                            sess.run(train_iterator.initializer)
                            while True:
                                try:
                                    sess.run(train_op)
                                except tf.errors.OutOfRangeError:
                                    saver.save(sess=sess._sess._sess._sess._sess,
                                            save_path="some_hdfs_path/model.checkpoint."+str(epoch_num),
                                            latest_filename='checkpoint.'+str(epoch_num))
                                    break

def main(_):
    job = Job()
    job.train()

if __name__ == '__main__':
    tf.app.run()

Fully pstack:
https://github.com/formath/TensorFlow-Bugs/blob/master/39024.pstack

A few questions, since we don't have a way to reproduce your job:

What Python line of code is executing when the process freezes?

The inter_op_parallelism_threads and intra_op_parallelism_threads configuration is not having an effect, because you're using a tf.train.Server (which sets those values once for all sessions on the server). Try the following change to server creation:
server_config = tf.ConfigProto(inter_op_parallelism_threads=1,
                               intra_op_parallelism_threads=1)
self.server = tf.train.Server(self.cluster, job_name=self.job_name,
                              task_index=self.task_index, config=server_config)

Can you generate new stack traces with this configuration? (This will cut down on the number of irrelevant threads in the trace.)

From the stack traces, all we can see is that the process is blocked waiting for a response from some remote worker. It doesn't appear to be doing anything else. Can you gather a stack trace from the worker(s) in /job:ps that it might be using? If you can reproduce this using a single PS task, it will make it easier to debug.

Is the call to self.data_iter() inside a with tf.device(self.param_server_device): block intentional? Usually, each worker would create an iterator on the local CPU device. If you do that instead, does it still hang? (One possibility is that the single PS task that is responsible for all 50 workers' input pipelines is massively oversubscribed, and it starts paging or dropping packets. However, that should not cause an indefinite hang, just very bad performance.)

@mrry This time I add
server_config = tf.ConfigProto(inter_op_parallelism_threads=1,
                               intra_op_parallelism_threads=1)
self.server = tf.train.Server(self.cluster, job_name=self.job_name,
                              task_index=self.task_index, config=server_config)

and reproduce it using 2 ps and 50 worker because I can't reproduce it using 1 ps. About self.data_iter(), I prefetch data from hdfs to worker nodes and read data from local disk so ps has no relation with data part.
pstack information for two ps and one blocking worker (Sorry, I don't know why it still has so many threads.):
ps_0: https://github.com/formath/TensorFlow-Bugs/blob/master/ps0.pstack
ps_1: https://github.com/formath/TensorFlow-Bugs/blob/master/ps1.pstack
worker_22: https://github.com/formath/TensorFlow-Bugs/blob/master/worker22.pstack
I can give more information when you needs.

This time I set

server_config = tf.ConfigProto(inter_op_parallelism_threads=1,
                               intra_op_parallelism_threads=1)
self.server = tf.train.Server(self.cluster, job_name=self.job_name,
                              task_index=self.task_index, config=server_config)

and have tested with num of ps 1 to 4. I can't reproduce the problem with this config. Any suggestions?

About self.data_iter(), I preftech data from hdfs then the worker nodes just read data from local disk so ps has no relation with data part.

@mrry

If set

server_config = tf.ConfigProto(inter_op_parallelism_threads=1,
                               intra_op_parallelism_threads=1)
self.server = tf.train.Server(self.cluster, job_name=self.job_name,
                              task_index=self.task_index, config=server_config)

or set ps num 1, the problem will disappear. I reproduce it using inter_op_parallelism_threads=16,intra_op_parallelism_threads=16 and ps num 5. worker_2 hangs.
Full pstack (Sorry for so many threads):
ps_0: https://github.com/formath/TensorFlow-Bugs/blob/master/ps0.pstack
ps_1: https://github.com/formath/TensorFlow-Bugs/blob/master/ps1.pstack
ps_2: https://github.com/formath/TensorFlow-Bugs/blob/master/ps2.pstack
ps_3: https://github.com/formath/TensorFlow-Bugs/blob/master/ps3.pstack
ps_4: https://github.com/formath/TensorFlow-Bugs/blob/master/ps4.pstack
blocked worker_2: https://github.com/formath/TensorFlow-Bugs/blob/master/worker2.pstack
chief worker: https://github.com/formath/TensorFlow-Bugs/blob/master/worker0.pstack

About self.data_iter(), I prefetch data from hdfs to the worker nodes so ps nodes have no relation with data reading.

I also found a strange thing. If replacing the inputs of self.model from tensors generated by data iterator with tensor placeholder, the program will not hangs.
train_user_id_placeholder = tf.placeholder(...)
train_item_id_placeholder = ...
train_label_placeholder = ...
train_logit = self.model(train_user_id_placeholder, train_item_id_placeholder)
...
train_op = opt.minimize(train_loss)
...
try:
  train_user_id_val, train_item_id_val, train_label_val = sess.run([train_user_id, train_item_id, train_label])
  sess.run(train_op,
      feed_dict={
        train_user_id_placeholder: train_user_id_val,
        train_item_id_placeholder: train_item_id_val,
        train_label_placeholder: train_label_val})
except tf.errors.OutOfRangeError:
   ...

Did you resolve this issue?

I don't find real cause. I just use the alternative solution mentioned above.

hi, I meet the same problem, should this issue be reopened?


:book: Add postgres perf

Summary
Related issue(s)
https://issues.redhat.com/browse/ACM-11597

/hold
Need add simulate script when the that pr merged.

/cc @clyang82 @yanmxa @bjoydeep

/unhold

/lgtm


YOURLS is compatible with Firebase database ?

Five years later ... has anyone managed to do this? If so, how?


Tikui: reduce log output

I wonder if it's possible to reduce the log output, as all these logs are not really usefull:
[INFO] [1] /home/pgrimaud/projects/jhipster/jhipster-lite/node_modules/tikuidoc-tikui/src/documentation/style.scss => /home/pgrimaud/projects/jhipster/jhipster-lite/target/classes/public/style/documentation/style.css using SCSS
[INFO] [1] /home/pgrimaud/projects/jhipster/jhipster-lite/node_modules/prismjs/prism.js => /home/pgrimaud/projects/jhipster/jhipster-lite/target/classes/public/style/lib/prismjs/prism.js
[INFO] [1] /home/pgrimaud/projects/jhipster/jhipster-lite/node_modules/tikuidoc-tikui/src/documentation/assets/atom-background.svg => /home/pgrimaud/projects/jhipster/jhipster-lite/target/classes/public/style/documentation/assets/atom-background.svg
[INFO] [1] /home/pgrimaud/projects/jhipster/jhipster-lite/node_modules/tikuidoc-tikui/src/documentation/scripts/tikui.js => /home/pgrimaud/projects/jhipster/jhipster-lite/target/classes/public/style/documentation/scripts/tikui.js
[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1] /home/pgrimaud/projects/jhipster/jhipster-lite/node_modules/prismjs/components/prism-pug.min.js => /home/pgrimaud/projects/jhipster/jhipster-lite/target/classes/public/style/lib/prismjs/prism-pug.js
[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1] /home/pgrimaud/projects/jhipster/jhipster-lite/node_modules/prismjs/themes/prism.css => /home/pgrimaud/projects/jhipster/jhipster-lite/target/classes/public/style/lib/prismjs/prism.css
[INFO] [1] /home/pgrimaud/projects/jhipster/jhipster-lite/node_modules/prismjs/themes/prism-okaidia.css => /home/pgrimaud/projects/jhipster/jhipster-lite/target/classes/public/style/lib/prismjs/prism-okaidia.css
[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>[INFO] [1]<EMAIL_ADDRESS>=><EMAIL_ADDRESS>(...)
[INFO] [1] node<EMAIL_ADDRESS>&& node<EMAIL_ADDRESS>exited with code 0

It's from Tikui output because it's packaged on the generation. This needs an issue on Tikui Core I guess to know the best way to do it.
Note: currently it's the same copy process between libs, expositions, ans source files.

Feature Requested here: https://github.com/tikui/tikui-core/pull/41

Any news on this @Gnuk ?

No news, I may try something tomorrow if you need this :)

Yes something cool to have, I'm pretty sure it's not so difficult

Link : https://github.com/tikui/tikui-core/pull/137

PR from Tikui if you want to review @pascalgrimaud : tikui/tikui-core#137

it has been done, so we can close it
thanks a lot @Gnuk


AMBARI-23298. Pass full stack version in recommendation request for 2.7

What changes were proposed in this pull request?
Pass full stack version in recommendation request for 2.7
How was this patch tested?
manually, unit
21529 passing (33s)
48 pending
(Please explain how this patch was tested. Ex: unit tests, manual tests)
(If this patch involves UI changes, please attach a screen-shot; otherwise, remove this)
Please review Ambari Contributing Guide before opening a pull request.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/1262/
Test FAILed.
Test FAILured.


Include VMHub core properties in the generator tool

After we complete #38 we should alter the generator tool so that they are all included in the form.

Now implemented on the live VMH generator tool.


feat(readme): added TOC and additional framework support section

This adds a Table of Contents for convenience and an 'Additional Framework Support' section since this library is now officially supported with nativescript-angular :+1:
It could seemingly be bridged to work with other native or non-native frameworks so figured having a section would provide room to grow :)

Nice, could you just change the commit message from "feat" to "docs" ? I don't want the merge to trigger a new release for that :P

Good to know for future ;) There ya' go!

Woops, should have renamed the merged before I did it. I canceled travis to make sure it doesn't release.

Oh shoot. Ok yeah didn't know it triggered with PR names as well (was thinking only commits) ...
#facepalm
Sry if that caused you any trouble!


RxView.clicks(my_button) binding stops working after fragment replace

Any idea why RxBinding registered with RxView.clicks(buttonView) stops triggering after fragment replace inside activity. My activity can replace fragment multiple times.
My fragment code looks like the following:
 @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
    ....
    //this code works before and after fragment replace
    plus_view.setOnClickListener(v -> {presenter.increaseLevel(getCurrentLevel());});
    //        below code stops working after fragment replace
    //        compositeDisposables.add(RxView.clicks(plus_view).subscribe(o ->
    //        {
    //            System.out.println("presenter getCurrentLevel Called");
    //            presenter.increaseLevel(getCurrentLevel());
    //
    //        }));
    ....
 }

inside my Activity I do the following:
    @Override
    public void replaceDetailWithEditFragment() {
        ....

        FragmentTransaction fragmentTransaction = mFragmentManager.beginTransaction();
        fragmentTransaction.replace(R.id.details_fragment_container, detailEditFragment, DETAIL_EDIT_FRAGMENT_TAG);
        fragmentTransaction.commit();
        mFragmentManager.executePendingTransactions();
        ...
     }

full source with latest commit can be found here:
https://github.com/davida5/AwesomeNotes/tree/repositoryPattern

After further digging I realized the binding was lost because I did not recreate the CompositeDisposable() after fragment was destroyed. All working now, closing the issue.


Add Filename Character Limit

Very long prompts cause the error:
Error: saving("Failed to create destination for file:///path/prompt.seed.final.png"

Actually might want to change fileCharLimit to a let since it never mutated

change fixes too long of a filename issue for me. thanks!

Thank you for your interest in contributing to Core ML Stable Diffusion! Please review CONTRIBUTING.md. If you would like to proceed with this pull request, please indicate your agreement to the terms outlined in CONTRIBUTING.md by checking the box below.
We appreciate your interest in the project!

[ ] I agree to the terms outlined in CONTRIBUTING.md

[x]  I agree to the terms outlined in CONTRIBUTING.md

@philipturner Followup: I was tinkering with NSAppleScript and I got it to add the metadata details into the kMDItemFinderComment attribute

I'll create another PR later today when I rewrite it in native swift code without AppleScript


Client fails when haste application is running on a non-default path on the server

Haste client fails with an error when the hast application is running as non default application on the web-server. For example below command fails:

[me@localhost haste]$ echo "hello" | HASTE_SERVER='http://my.webserver.com/paste' haste
failure uploading: <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">

<title>404 Not Found</title>

Not Found

The requested URL /documents was not found on this server.

<address>Apache/2.2.15 (Fedora) Server at my.webserver.com Port 80</address>

[me@localhost haste]$

Closed via #27