No reaction from menu

Describe the bug
Not a single command in the submenu "Tools -> Entity Framework Core" does anything.
To Reproduce
Click on any item (e.g. "Scaffold DbContext")
Expected behavior
Some dialog should open.
Environment (please complete the following information):

OS: Windows 11
.NET SDK info (installed ones and version used within Rider): .net 7.0
Plugin version: current
Rider version: 2023.1.1

Additional context
Rider displays that there was an internal error and shows the following stack-trace. Seems like displaying an error-message failed. I guess, I will be able to fix the underlying issue after finding the method-call "notifyEfIsNotInstalled" in the stack.
But you do probably want to fix the issue that no message is displayed.
java.lang.NullPointerException: Cannot invoke "com.intellij.notification.NotificationGroup.createNotification(String, com.intellij.notification.NotificationType)" because the return value of "com.intellij.notification.NotificationGroupManager.getNotificationGroup(String)" is null
at me.seclerp.rider.plugins.efcore.features.shared.BaseCommandAction.notifyEfIsNotInstalled(BaseCommandAction.kt:93)
at me.seclerp.rider.plugins.efcore.features.shared.BaseCommandAction.access$notifyEfIsNotInstalled(BaseCommandAction.kt:28)
at me.seclerp.rider.plugins.efcore.features.shared.BaseCommandAction$actionPerformed$1.run(BaseCommandAction.kt:45)
at com.intellij.openapi.progress.impl.CoreProgressManager.startTask(CoreProgressManager.java:429)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.startTask(ProgressManagerImpl.java:114)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcessWithProgressAsynchronously$6(CoreProgressManager.java:480)
at com.intellij.codeWithMe.ClientId$Companion.decorateFunction$lambda$10(ClientId.kt:329)
at com.intellij.codeWithMe.ClientId$Companion.decorateFunction$lambda$10(ClientId.kt:329)
at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$3(ProgressRunner.java:252)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:186)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$13(CoreProgressManager.java:604)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:679)
at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:635)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:603)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:173)
at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$4(ProgressRunner.java:252)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:702)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:699)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699)
at java.base/java.lang.Thread.run(Thread.java:833)

I am experiencing the same issue with the same environment setup and internal error report.

This is the duplicate of https://github.com/seclerp/rider-efcore/issues/162 and https://github.com/seclerp/rider-efcore/issues/163
It's already fixed in the branch but not released yet


Automated Rook version update 1.8.10

Automated changes by the cron-rook-update GitHub action
  Adds [Rook add-on](https://kurl.sh/docs/add-ons/rook) verison 1.8.10.

Ref: Support for rook 1 8 x [sc-50473]

cron-rook-update was triggered manually: https://github.com/replicatedhq/kURL/actions/runs/3023559797


write power pin in the top and middle

@meghna09
I added the function to write power pin label in the middle of the top power grid.
Tested with five transistor ota as shown below:

@Lastdayends to follow up

@854768750
Can you help review this branch?


Different WAREHOUSE for each sql script in a single schemachange run

Is your feature request related to a problem? Please describe.
I am trying to run a bunch of sql scripts (all part of a single PR) in a single schemachange run. I have specified a warehouse in the schemachange command that will be used for all the scripts. However some scripts need a bigger warehouse, it would be better if we can specify separate warehouse for each script.
Describe the solution you'd like
Specify warehouse name at the top of each sql script like below. Schemachange will check for warehouse specification in each sql script if there's none then it will use warehouse specified in the schemachange command. If there's no warehouse specified in the schemachange command as well then it will use default warehouse specified in the config file.
V1.1__CREATE_TABLE1.sql:
-- SNOWFLAKE_WAREHOUSE=BI_REPORTING_WH
create table my_db1.my_schema1.table1 (id number);
V1.2__INSERT_TABLE1.sql:
-- SNOWFLAKE_WAREHOUSE=DS_WH
INSERT INTO my_db1.my_schema1.table1 (id) VALUES (1);
V1.3__UPDATE_TABLE1.sql:
update my_db1.my_schema1.table1 set id = 10 where id = 1;
Note: In the above example, all three sql scripts are running in a single schemachange command. The first two scripts should run in the warehouse specified within the script file and the third one on the warehouse specified in the schemachange command.
Describe alternatives you've considered
grouping sql scripts based on warehouse and running each group separately. In this approach I have break a PR into few smaller ones.
Additional context

None

You should be able to prefix each script with a USE WAREHOUSE  command. Have you tried that?

You should be able to prefix each script with a USE WAREHOUSE  command. Have you tried that?

Yes its working, thanks :)


log D7.4

Added the calculation of distribution coefficients log D in form of a Wolfram Mathematica notebook that takes the partition coefficients and acidity constants from the logP and pKa submission collection files and calculates the distribution coefficients according to the model described in https://doi.org/10.1007/s10822-016-9954-8.
Because the charge state information for the protonated and deprotonated species isn't available for the individual models, eq. 4 for acids was used for all compounds. This choice was made because of the broad consensus of different pKa models that had also submitted macrostate pKa values including the charge state information.
The distribution coefficients are only calculated for combinations of ranked models submitted by participants from the same participant organization.

Thank you for working on this Nico. Could you please add additional documentation/an explanation on what exactly the notebook is doing? I am completely unfamiliar with Mathematica and can't follow along.

Yes of course, I will add or expand on the comments in the individual cells of the notebook to clarify what happens in each one.

Thank you for working on this Nico. Could you please add additional documentation/an explanation on what exactly the notebook is doing? I am completely unfamiliar with Mathematica and can't follow along.

Yes of course, I will add or expand on the comments in the individual cells of the notebook to clarify what happens in each one.

Great, thank you. Once that's done we can merge it in.


Update datasets to 2.14.4

Update datasets to 2.14.4.
Fix #1652.
Fix partially #1550.

Codecov Report
Patch coverage has no change and project coverage change: -3.75% :warning:

Comparison is base (4c0d360) 92.31% compared to head (a7e2210) 88.57%.
Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1653      +/-   ##
==========================================
- Coverage   92.31%   88.57%   -3.75%
==========================================
  Files          81      132      +51
  Lines        5664     7394    +1730
==========================================
+ Hits         5229     6549    +1320
- Misses        435      845     +410

Flag
Coverage Δ

jobs_cache_maintenance
99.37% <ø> (?)

jobs_mongodb_migration
85.07% <ø> (?)

libs_libapi
85.54% <ø> (?)

libs_libcommon
91.63% <ø> (?)

services_admin
86.76% <ø> (?)

services_api
88.30% <ø> (?)

services_rows
82.93% <ø> (?)

services_search
78.76% <ø> (?)

services_worker
?

Flags with carried forward coverage won't be shown. Click here to find out more.
see 213 files with indirect coverage changes

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


Height 100% + autoresize causing issues

Thanks for the great library!
I am having an issue with the following CSS.
html { height: 100%; }
It seems that on every digest cycle the height is increased by a few lines. This seems to happen only when the autoresize plugin is enabled.
Do you have any recommendations on how to fix this problem?
Thanks!

What version of the library are you using?
Would you mind posting a Plunker demonstrating the issue? I would be more than happy to investigate.

@Jakobovski, are you still having issues? Were you able to create a plunker reproducing the issue?

Please take a look at CONTRIBUTING.md.
If you have found a bug, please open a new issue with a plunker re-creating it.


Add search in the CountrySelector dropdown

Is your feature request related to a problem? Please describe.
Currently, the CountrySelector dropdown does not seem to be searchable.
Describe the solution you'd like
An enhancement to the existing CountrySelector dropdown would be to make the list of countries searchable. This will improve UX.

Same

:tada: This issue has been resolved in version 2.3.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Add AzStorageAccountAllowTrustedServicesEvent

Added AzStorageAccountAllowTrustedServicesEvent event plugin. This
plugin evaluates Azure storage accounts and generates an event if
Microsoft Azure services are not allowed access.
From CIS Microsoft Azure Foundations Benchmark v1.1.0:
Some Microsoft services that interact with storage accounts operate
from networks that can't be granted access through network rules. To
help this type of service work as intended, allow the set of trusted
Microsoft services to bypass the network rules. These services will
then use strong authentication to access the storage account. If the
Allow trusted Microsoft services exception is enabled, the following
services: Azure Backup, Azure Site Recovery, Azure DevTest Labs,
Azure Event Grid, Azure Event Hubs, Azure Networking, Azure Monitor
and Azure SQL Data Warehouse (when registered in the subscription),
are granted access to the storage account.

Thanks @susam


The matrix is trying to include installer for cow CI runs.

https://github.com/silverstripe/cow/actions/runs/8994273555/job/24707498440?pr=254
Cow should not have installer in its CI - that breaks it completely.
PRs

https://github.com/silverstripe/gha-generate-matrix/pull/89

PR was merged


Make adjustments to the Camera

[x] Bigger Camera distance from the Player
[x] Add Camera collision with the floor (layers)

Fixed on 0.0.6.


How to use another design system, like bulma or custom design system for eg.

I want to use DOCZ, but, changing layout. For eg.: I have a custom design system, and typography, grid, labels, links etc with custom attributes allowed in a SASS file.
But, in Docz actual trying to use, i have difficult. More examples:
I don't need to use lateral nav and all headings use deferents fonts and colours.
Finally, I want to change 100% of current layout but using features of Docz.
Its possible, how? Thanks.

Hi ! You can check the documentation here https://www.docz.site/docs/creating-your-themes


Introduce new load manager API

Motivation
The current load balancer implementation has demonstrated poor performance in some scenarios, particularly when doing a cold restart or when the load reaches unexpected heights at some brokers. This PR attempts to first address the cold start issue.
Modifications

Added third load balancing strategy based on least messages per second.
Added load simulation servers, which contain producers and consumers used to simulate load.

com.yahoo.pulsar.testclient.LoadSimulationServer
pulsar-perf simulation-server <options>

Added controller to send commands to load simulation servers in a shell, such as adding (potentially groups of) producers/consumers, changing message rates/sizes, and stopping them.

com.yahoo.pulsar.testclient.LoadSimulationController
pulsar-perf simulation-controller <options>
Can also run scripts.

Added broker monitor which will watch and print load report information.

com.yahoo.pulsar.testclient.BrokerMonitor
pulsar-perf monitor <options>
Also available in new API: com.yahoo.pulsar.testclient.NewBrokerMonitor and pulsar-perf new-monitor <options>

Added proposal for new load balancing API which is simpler, more modular, and written with less code.

Interface: com.yahoo.pulsar.broker.loadbalance.NewLoadManager
Implementation: com.yahoo.pulsar.broker.loadbalance.impl.NewLoadManagerImpl
May implement LoadManager via com.yahoo.pulsar.broker.loadbalance.impl.NewLoadManagerWrapper
Added broker filter pipeline, a sequence of objects that blacklist brokers for selection in exceptional cases (e.g., high CPU).

com.yahoo.pulsar.broker.loadbalance.BrokerFilter
Has no current implementations.

Added new placement strategy API, which uses all the data available to the leader broker to make bundle assignment decisions.

com.yahoo.pulsar.broker.loadbalance.NewPlacementStrategy
Currently implemented only by com.yahoo.pulsar.broker.loadbalance.impl.LeastLongTermMessageRate

Added load shedding strategy, which uses all the information available to the leader broker to decide if any bundles should be unloaded.

com.yahoo.pulsar.broker.loadbalance.LoadSheddingStrategy
Implemented only by com.yahoo.pulsar.broker.loadbalance.impl.DeviationShedder (untested, abstract)

Added dynamically configurable fields which allow us to switch between strategies and managers (i.e., between old and new API).
Added allocated and preallocated data to the load report, as well as the bundle gains/losses since the last update.

Result

We will have the option to use, configure, and switch between a new load balancing strategy.
We will be able to more easily simulation load and test load balancing strategies.
We will be able to use the old load balancer if we want to.

Thank you for submitting this pull request, however I do not see a valid CLA on file for you. Before we can merge this request please visit https://yahoocla.herokuapp.com/ and agree to the terms. Thanks! :smile:

Can we create a separate pull request to document the steps to enable/disable the new load manager?


Project description on github appears to be out-of-date

It says:

A debugging toolset and library for debugging ARM cores on a separate host https://probe.rs

While the website suggests there's also support for e.g. RISC-V.

Fixed! Thanks for pointing this out!


Mage Armour active effect

The Midi SRD entry is using data.attributes.ac.base OVERRIDE 13. This doesn't seem to do anything when the character's armour calculation mode is set to "Equipped Armour" - which for most characters would be the primary default.
I suggest instead using data.attributes.ac.calc OVERRIDE mage which will alter the in-use calculation to be the preset Mage Armour calculation.

wrong github im afraid ;)
(ill sort in the midi srd)


Fix stackview layout bug when moving view out of being an arranged subview

completes https://github.com/HotCocoaTouch/DeclarativeLayout/issues/12
The algorithm i used is fairly inefficient, i should come back and improve that

The algorithm i used is fairly inefficient, i should come back and improve that

updated it in this commit so it should be more efficient.
I don't have performance benchmarks right now that test out stack views. I should do that.


Update Changelog and version for 2.2.2

So. I just learned you don't enable superpowers on Github because it can merge develop into main for you automatically. Bad @mathomp4 for doing that.
But if there was a day to do it, today's the day.
This update just pulls down my CI changes. If all works, this should only build the MAPL tests and not the GCM.

Also, the "cancel" bits I added to this don't really work for label changes, only pushes. It's a start. I'll look for more comprehensive solutions soon.


Document on debugging Hadrian

I think it would be nice to have a document on how to debug Hadrian. For example, what tools you typically use to debug it, whether there is some magic switch in either Hadrian or GHC that provides useful information about the build etc.
While it would take quite some time to write a complete guide on this, we can always start with something trivial and do it incrementally. It should be not be a burden.

Very good point, we definitely need something like this.
Debugging is quite hard currently. I typically just use print-debugging, i.e. inserting noticeable putSuccess statements in key places in the build system and rebuilding.
Perhaps, @ndmitchell can share some tricks how to debug Shake-based build systems?

Added a wiki page https://github.com/snowleopard/hadrian/wiki/Debugging with some initial contents.
I chose to put this on wiki because we can change wiki pages frequently and conveniently. We can put a link in README points to this place.

What is the equivalent to passing WERROR= in the old build system?

@bgamari There is none at the moment. This could be implemented through CmdLineFlag:
https://github.com/snowleopard/hadrian/blob/master/src/CmdLineFlag.hs
The intended behaviour is not entirely clear to me. Could you open a new issue outlining what needs to be done?

See #332.

I wrote a doc at http://shakebuild.com/debugging - updates welcome.

I'll close this, since we already started doing that

@izgzhen Thanks! I've also added a section on troubleshooting, linking to the wiki.


How to use your method to my algorithm?

Hi rick,
I want to use your method to optimize my multiple losses.
Below codes are my part of algorithm?
May I know how to adopt your code, please give me suggestion as detail as possible?
thank you vary much.
==========================================================
l2_loss = loss_l2(gray_rec,gray_batch)
ssim_loss = loss_ssim(gray_rec, gray_batch)
segment_loss = loss_focal(out_mask_sm, anomaly_mask)
            target = make_one_hot(anomaly_mask, num_classes=2).cuda()
            criterion = DiceLoss(reduction='mean') #ignore_index=[2, 3],reduction='mean'
            dice_loss = criterion(out_mask_sm, target)

            loss = l2_loss + ssim_loss + segment_loss + dice_loss

            l2_losses.update(l2_loss.item(), gray_rec.size(0))
            ssim_losses.update(ssim_loss.item(), gray_rec.size(0))

            segment_losses.update(segment_loss.item(), out_mask_sm.size(0))
            dice_losses.update(dice_loss.item(), out_mask_sm.size(0))

            optimizer.zero_grad()

            loss.backward()
            optimizer.step()

        Train_total_losses = l2_losses.avg + ssim_losses.avg + segment_losses.avg +  dice_losses.avg

Hi Leolin,
I would probably make a new class of BaseLoss found in losses/base_loss.py. Its forward function returns a list of torch tensors of size 1.
A basic example (you may need to adjust based on your specific code):
class YourNewBaseLoss(nn.modules.Module):

def __init__(self, args):
    super(NewBaseLoss, self).__init__()
    self.device = args.device
    # Record the weights.
    self.num_losses = 4
    self.alphas = torch.zeros((self.num_losses,), requires_grad=False).type(torch.FloatTensor).to(self.device)
    # Your loss functions (if they need to be initialized).
    self.dice_loss = DiceLoss(reduction='mean')

def forward(self, pred, target):
    """ Compute your losses and return them as a list.
    """
    dice_loss = self.dice_loss(pred, target)
    ssim = loss_ssim(pred, target)
    l2 = loss_l2(pred, target)
    segment = loss_focal(pred, target)
    return [dice_loss, ssim, l2, segment]

Then set it as the new super class for the the COV-weighting class in losses/covweighting_loss.py like this:
class CoVWeightingLoss(YourNewBaseLoss):     ...
In addition, you can do the same for any other loss classes to compare to the other methods for which code is available.

Hi Rick,
thank you very much for your kindly support.
I ask a coding quesion.
My original loss calculation  is within a for_loop function(see below),  how to pass two values (pred & target)   to def forward() of YourNewBaseLoss
for i_batch, sample_batched in enumerate(train_loader):

Hi Rick,
Thank you for your kindly support.
I already follow your suggestion to  add new class YourNewBaseLoss(nn.modules.Module) named MultiLoss():,  I want to ask more about how to pass two values(pred, target) to forward function.
My existing two values(pred, target)  are embeded in for loop (see below)
for i_batch, sample_batched in enumerate(train_loader):
#old
l2_loss = loss_l2(gray_rec,gray_batch)
ssim_loss = loss_ssim(gray_rec, gray_batch)
segment_loss = loss_focal(out_mask_sm, anomaly_mask)
dice_loss = criterion(out_mask_sm, target)
#new
# ==> merge to YourNewBaseLoss(nn.modules.Module) named MultiLoss()
loss = CoVWeightingLoss(MultiLoss())
to replace existing loss = l2_loss + ssim_loss + segment_loss + dice_loss and loss.backward()
how to call this class  CoVWeightingLoss(MultiLoss) ?
thank you very much.

Hi Rick,
Thank you for your kindly support.
I am try to follow your suggestion to implement it.

Hi Rick,
Thank you for your kindly support.
I already follow your suggestion to add new class YourNewBaseLoss(nn.modules.Module) named MultiLoss():, I want to ask more about how to pass two values(pred, target) to forward function.
My existing four values(pred1/2, target1/2) are embeded in for loop (see below)
for i_batch, sample_batched in enumerate(train_loader):
#old
l2_loss = loss_l2(pred1, target1)
ssim_loss = loss_ssim(pred1, target1)
segment_loss = loss_focal(pred2, target2)
dice_loss = criterion(pred2, target2)
#new
==> merge to YourNewBaseLoss(nn.modules.Module) named MultiLoss()
loss = CoVWeightingLoss(MultiLoss())
to replace existing loss = l2_loss + ssim_loss + segment_loss + dice_loss and loss.backward()
how to call this class CoVWeightingLoss(MultiLoss) ?
thank you very much.

Hi Rick,
Thank you for your kindly support.
I already follow your suggestion to add new class YourNewBaseLoss(nn.modules.Module) named MultiLoss():, I want to ask more about how to pass two values(pred, target) to forward function.
My existing four values(pred1/2, target1/2) are embeded in for loop (see below)
for i_batch, sample_batched in enumerate(train_loader):
#old
l2_loss = loss_l2(pred1, target1)
ssim_loss = loss_ssim(pred1, target1)
segment_loss = loss_focal(pred2, target2)
dice_loss = criterion(pred2, target2)
#new
merge to YourNewBaseLoss(nn.modules.Module) named MultiLoss()
loss = CoVWeightingLoss(MultiLoss())
to replace existing loss = l2_loss + ssim_loss + segment_loss + dice_loss and loss.backward()
how to call this class CoVWeightingLoss(MultiLoss) ?
thank you very much.

Hi Rick,
Thank you for your kindly support.
I already follow your suggestion to add new class YourNewBaseLoss(nn.modules.Module) named MultiLoss():, I want to ask more about how to pass two values(pred, target) to forward function.
My existing four values(pred1/2, target1/2) are embeded in for loop (see below)
for i_batch, sample_batched in enumerate(train_loader):
#old
l2_loss = loss_l2(pred1, target1)
ssim_loss = loss_ssim(pred1, target1)
segment_loss = loss_focal(pred2, target2)
dice_loss = criterion(pred2, target2)
#new
==> merge 4 losses to YourNewBaseLoss(nn.modules.Module) with 4 parameters(pred1,target1,pred2,target2) named MultiLoss()
loss = CoVWeightingLoss(MultiLoss())
to replace existing loss = l2_loss + ssim_loss + segment_loss + dice_loss and loss.backward()
how to call this class CoVWeightingLoss(MultiLoss) ?
thank you very much.

Hi Rick,
Thank you for your kindly support.
I already follow your suggestion to add new class YourNewBaseLoss(nn.modules.Module) named MultiLoss():, I want to ask more about how to pass two values(pred, target) to forward function.
My existing four values(pred1/2, target1/2) are embeded in for loop (see below)
for i_batch, sample_batched in enumerate(train_loader):
#old
l2_loss = loss_l2(pred1, target1)
ssim_loss = loss_ssim(pred1, target1)
segment_loss = loss_focal(pred2, target2)
dice_loss = criterion(pred2, target2)
#new
class MultiLoss_recconstruction(nn.modules.Module):
def __init__(self, args):
    super(MultiLoss_recconstruction, self).__init__()
    self.device = args.device
    # Record the weights.
    self.num_losses = 2
    self.alphas = torch.zeros((self.num_losses,), requires_grad=False).type(torch.FloatTensor).to(self.device)
    # Your loss functions (if they need to be initialized).
    self.dice_loss = DiceLoss(reduction='mean')

def forward(self, pred, target):
    """ Compute your losses and return them as a list.
    """
    l2 = loss_l2(pred, target)
    ssim = loss_ssim(pred, target)

    return [ l2, ssim]

class MultiLoss_discriminative(nn.modules.Module):
def __init__(self, args):
    super(MultiLoss_discriminative, self).__init__()
    self.device = args.device
    # Record the weights.
    self.num_losses = 2
    self.alphas = torch.zeros((self.num_losses,), requires_grad=False).type(torch.FloatTensor).to(self.device)
    # Your loss functions (if they need to be initialized).
    self.dice_loss = DiceLoss(reduction='mean')

def forward(self, pred, target):
    """ Compute your losses and return them as a list.
    """
    segment = loss_focal(pred, target)
    dice_loss = self.dice_loss(pred, target)
    return [ segment, dice_loss ]

to replace existing loss = l2_loss + ssim_loss + segment_loss + dice_loss and loss.backward()
How to optimize two types of loss function?
thank you very much.

Hi Rick,
Thank you for your kindly support.
I already follow your suggestion to add new class YourNewBaseLoss(nn.modules.Module) named MultiLoss():, I want to ask more about how to pass two values(pred, target) to forward function.
My existing four values(pred1/2, target1/2) are embeded in for loop (see below)
for i_batch, sample_batched in enumerate(train_loader):
#old
l2_loss = loss_l2(pred1, target1)
ssim_loss = loss_ssim(pred1, target1)
segment_loss = loss_focal(pred2, target2)
dice_loss = criterion(pred2, target2)
#new
class MultiLoss_recconstruction(nn.modules.Module):
def __init__(self, args):
    super(MultiLoss_recconstruction, self).__init__()
    self.device = args.device
    # Record the weights.
    self.num_losses = 2
    self.alphas = torch.zeros((self.num_losses,), requires_grad=False).type(torch.FloatTensor).to(self.device)
    # Your loss functions (if they need to be initialized).
    self.dice_loss = DiceLoss(reduction='mean')

def forward(self, pred, target):
    """ Compute your losses and return them as a list.
    """
    l2 = loss_l2(pred, target)
    ssim = loss_ssim(pred, target)
    loss = l2 + ssim
    #return [ l2, ssim]
    return loss

class MultiLoss_discriminative(nn.modules.Module):
def __init__(self, args):
    super(MultiLoss_discriminative, self).__init__()
    self.device = args.device
    # Record the weights.
    self.num_losses = 2
    self.alphas = torch.zeros((self.num_losses,), requires_grad=False).type(torch.FloatTensor).to(self.device)
    # Your loss functions (if they need to be initialized).
    self.dice_loss = DiceLoss(reduction='mean')

def forward(self, pred, target):
    """ Compute your losses and return them as a list.
    """
    segment = loss_focal(pred, target)
    dice_loss = self.dice_loss(pred, target)
    loss = segment +  dice_loss
    #return [ segment, dice_loss ]
    return loss

to replace existing loss = l2_loss + ssim_loss + segment_loss + dice_loss and loss.backward()
How to optimize two types of loss functions?
thank you very much.

Hi Rick,
Thank you for your kindly support.
I already follow your suggestion to add new class YourNewBaseLoss(nn.modules.Module) named MultiLoss():, I want to ask more about how to pass two values(pred, target) to forward function.
My existing four values(pred1/2, target1/2) are embeded in for loop (see below)
for i_batch, sample_batched in enumerate(train_loader):
#old
l2_loss = loss_l2(pred1, target1)
ssim_loss = loss_ssim(pred1, target1)
segment_loss = loss_focal(pred2, target2)
dice_loss = criterion(pred2, target2)
#new
class MultiLoss_recconstruction(nn.modules.Module):
def __init__(self, args):
    super(MultiLoss_recconstruction, self).__init__()
    self.device = args.device
    # Record the weights.
    self.num_losses = 2
    self.alphas = torch.zeros((self.num_losses,), requires_grad=False).type(torch.FloatTensor).to(self.device)
    # Your loss functions (if they need to be initialized).
    self.dice_loss = DiceLoss(reduction='mean')

def forward(self, pred, target):
    """ Compute your losses and return them as a list.
    """
    l2 = loss_l2(pred, target)
    ssim = loss_ssim(pred, target)
    loss = l2 + ssim
    #return [ l2, ssim]
    return loss

class MultiLoss_discriminative(nn.modules.Module):
def __init__(self, args):
    super(MultiLoss_discriminative, self).__init__()
    self.device = args.device
    # Record the weights.
    self.num_losses = 2
    self.alphas = torch.zeros((self.num_losses,), requires_grad=False).type(torch.FloatTensor).to(self.device)
    # Your loss functions (if they need to be initialized).
    self.dice_loss = DiceLoss(reduction='mean')

def forward(self, pred, target):
    """ Compute your losses and return them as a list.
    """
    segment = loss_focal(pred, target)
    dice_loss = self.dice_loss(pred, target)
    loss = segment +  dice_loss
    #return [ segment, dice_loss ]
    return loss

to replace existing loss = l2_loss + ssim_loss + segment_loss + dice_loss and loss.backward()
loss_recconstruction = CoVWeightingLoss_rec(MultiLoss_recconstruction(gray_rec,gray_batch))
loss_discriminative = CoVWeightingLoss_dis(MultiLoss_discriminative(out_mask_sm, target))
Above code is right? And How to optimize two types of loss functions?
thank you very much.

Hi Leolin,
As I understand, you have two separate issues. First, you want to know how to pass multiple predictions and targets to the loss class. The second question concerns how to call the loss.
To answer the first question: The easiest solution would be to pass lists of predictions and targets to the loss. You will need to unpack those inside your MultiLoss forward function. So something along the lines of:
  def forward(self, preds, targets):
    pred1, pred2 = preds
    target1, target2 = target

And compute your individual loss functions using these variables.
To answer your second question: You do not need to supply an instance of the MultiLoss class to the CovWeighting class. The CovWeighting class has a super class (MultiLoss), which is constructed the moment you call it's initializer.
The only change you make to the CovWeighting class is:
class CovWeighting(BaseLoss) becomes class CovWeighting(MultiLoss) in losses/covweighting_loss.py.
And then simply initialize the CovWeighting class using
loss_reconstruction = CovWeighting(args)
Good luck!

Hi Rick,
Thank you for your kindly support.

**MultiLoss_recconstruction(gray_rec,gray_batch)

TypeError: init() takes 2 positional arguments but 3 were given**
below is my code.
class MultiLoss_recconstruction(nn.modules.Module):
def __init__(self, args):
    super(MultiLoss_recconstruction, self).__init__()
    self.device = args.device
    # Record the weights.
    self.num_losses = 2
    self.alphas = torch.zeros((self.num_losses,), requires_grad=False).type(torch.FloatTensor).to(self.device)

def forward( preds, targets):
    """ Compute your losses and return them as a list.
    """
    pred1, pred2 = preds
    target1, target2 = targets
    l2 = loss_l2(pred1, target1)
    ssim = loss_ssim(pred2, target2)
    loss = l2 + ssim
    #return [ l2, ssim]
    return loss

I want to use "MultiLoss_recconstruction(gray_rec,gray_batch)"  to get result.
but "TypeError: init() takes 2 positional arguments but 3 were given"
Could you help me? May I mail my full code to you?
thank you very much.

Hi Rick,
Thank you for your kindly support.
I follow your suggestion to modify base_loss.py
and happened below error.
====================================
covweighting_loss.py", line 18, in init
self.mean_decay = True if args.mean_sort == 'decay' else False
AttributeError: 'Namespace' object has no attribute 'mean_sort'
=================================
Below  codes are my MultiLoss class.
class MultiLoss_recconstruction(nn.modules.Module):
def init(self, args):
super(MultiLoss_recconstruction, self).init()
self.device = args.gpu_id
# Record the weights.
self.num_losses = 2
self.alphas = torch.zeros((self.num_losses,), requires_grad=False).type(torch.FloatTensor).to(self.device)
# Your loss functions (if they need to be initialized).
#def forward(self, preds, targets):
def forward( self, preds, targets):
    """ Compute your losses and return them as a list.
    """
    #pred1, pred2 = preds
    #target1, target2 = targets
    l2 = loss_l2(preds, targets)
    ssim = loss_ssim(preds, targets)
    #loss = l2 + ssim
    return [ l2, ssim]
    #return loss

Could you help me to check what should I do? thank you very much.

From your code above, I would change two things:
First, the error that you are getting seems to indicate that you are not initializing the CovWeighting class correctly. Take for example the correct initialization of the loss class in methods/covweighting_method.py, line 14. There I supply args, which are the set of user inputs. You can see how to get these at train.py, line 90.
This will sort your namespace error.
Second, in your current implementation of the Multiloss, are you passing a list of tensors as preds, targets? Or are you passing tensors as preds, targets? I do not know what your loss_ssim and loss_l2 functions accept, but I would expect them to need tensors? Did you want to first try the method using only l2 and ssim, since they require the same predictions and ground truths?

Hi Rick,
Thank you for your kindly support.
First, I follow your suggestion to add argument mean_sort and mean_decay_param.
So, it was fixed.
Second, you are right  both of them(preds, targets) are  tensors.
I face new problem below.
line 171, in train_on_device
lossCoVWeighting_rec = loss_recconstruction(MultiLoss_rec1)
File "C:\Users\leolin.conda\envs\env1\lib\site-packages\torch\nn\modules\module.py", line 889, in _call_impl
result = self.forward(*input, **kwargs)
TypeError: forward() missing 1 required positional argument: 'target'
My codes are
            MultiLoss_rec = MultiLoss_recconstruction(args)
            MultiLoss_rec1 = MultiLoss_rec(gray_rec, gray_batch)
            loss_recconstruction = CoVWeightingLoss_rec(args)

            lossCoVWeighting_rec = loss_recconstruction(MultiLoss_rec1) ==> happened error.

Sorry to bother you again.

Hi Rick,
Thank you for your kindly support.
First, I follow your suggestion to add argument mean_sort and mean_decay_param.
So, it was fixed.
Second, you are right both of them(preds, targets) are tensors.
I face new problem below.
line 171, in train_on_device
lossCoVWeighting_rec = loss_recconstruction(MultiLoss_rec1)
File "C:\Users\leolin.conda\envs\env1\lib\site-packages\torch\nn\modules\module.py", line 889, in _call_impl
result = self.forward(*input, **kwargs)
TypeError: forward() missing 1 required positional argument: 'target'
My codes are
        MultiLoss_rec = MultiLoss_recconstruction(args)
        MultiLoss_rec1 = MultiLoss_rec(gray_rec, gray_batch)
        loss_recconstruction = CoVWeightingLoss_rec(args)

        lossCoVWeighting_rec = loss_recconstruction(MultiLoss_rec1) ==> happened error.

Sorry to bother you again.

Could you please read the documentation on python classes?
To repeat my statement from before: You do not use both MultiLoss and CovWeighting. CovWeighting is a derived class of MultiLoss. That means when you initialize CovWeighting, it automatically initializes all methods of its super class MultiLoss.
For your code:
loss_covweighting_class = CoVWeightingLoss_rec(args)
loss_value = loss_covweighting_class(gray_rec, gray_batch)

That is all the code you need...

Hi Rick,
Thank you for your kindly support.
I already can run the codes.
Thank you again.

Hi Rick,
Thank you for your kindly support. I already can run the codes. Thank you again.

Hi, Leo. I tried this method in my project, but it didn't work. The loss didn't even converge. Has this method effectively improved the performance of your model?


credentials are not saved after login

Do you want to request a feature or report a bug?
Bug
What is the current behavior?
After succesful login, when trying to call api gateway with API.post, Amplify throws error "No credentials"
Calling Auth.currentCredentials gives null as response.
If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem. Your bug will get fixed much faster if we can run your code and it doesn't have dependencies other than AWS Amplify.
create-react-app
install aws-amplify, aws-amplify-react
setup user pool & identity pool
wrap App.js in withAuthenticator
login and try calling api-gateway
async componentDidMount() {     await API.get(name, path, init);   }
What is the expected behavior?
Invocation of api-gateway, response either with result or error
Which versions of Amplify, and which browser / OS are affected by this issue? Did this work in previous versions?
aws-amplify: ^0.2.7,
aws-amplify-react: ^0.1.33,
react: ^16.2.0,
react-dom": ^16.2.0,
react-scripts: 1.1.1
OS: Windows10
Browser: Chrome Version 64.0.3282.168 (Official Build) (64-bit)

@fiddep can you check if the aws_mandatory_sign_in is enable in your aws-exports.js?

@fiddep where did you configure the Auth piece? And also could you turn on debug mode to see more details. Put window.LOG_LEVEL = 'DEBUG'; in your code.

Very helpful tip with the debug! Turns out the mistake was made by myself forgetting to update the app-id for the identity pool.
Would probably be helpful if that error message could be returned or throw an error so you could get notified that the process was not completed successfully
The debug message that was logged
https://github.com/aws/aws-amplify/blob/master/packages/aws-amplify/src/Auth/Auth.ts#L868
If you want I'd be happy to submit a PR for it

@fiddep that'd be great if you would like to submit a PR for that please do, thank you!

not reproducible as of 0.2.10
closing issue


invite @xinbenlv to write a blog post about the new hot-import style listeners of Wechaty

We are recently upgrading Wechaty to the branding new v0.11.x version, which supports register listeners by a module file.
Through this way, Wechaty can not only load the module file and use the exported function as the listener, but also auto reload the module code when the module file is changed, which is called a Hot Module Replacement Technic in WebPack, from WebPack Concepts - https://webpack.js.org/concepts/hot-module-replacement/
@xinbenlv had just sent a Pull Request to Wechaty, added an example to show how to use this kind of listeners. I'd like to invite him to also write a blog post to share this technic to the Wechaty Community, which I believe will help other developers to save lots of time when developing.
Thank you @xinbenlv, looking forward to your blog post!

ping @xinbenlv: do you have time to finish this blog post recently? this article would really be helpful for the new Wechaty users who need to modify the listeners frequently!

ping @xinbenlv

Hmm... I'm that author: https://github.com/zixia/hot-import/
In my experience, hot-import works without any problem and it was also be integrated with the Wechaty already.
See:
https://github.com/Chatie/wechaty/blob/7aaa42b6211bb0527eb51dbab15ef512dac819d4/src/wechaty.ts#L421-L439
Would you like to test it again? If you have any problem, please feel free to file an issue to it and I'll be able to go to look at it and fix it for you.

Close this issue because it seems that @xinbenlv will not write it.
Hope there will be someone write this blog in the future.


How to pass arbitrary dict like kwargs in config without warnings

When I define kwargs in config as follows and overwrite it in named_config, I get warnings.
@ex.config
def default_config():
    env_id = "CartPole-v1"
    n_envs = 1
    rl_kwargs = {
        "n_steps": 100,
    }

@ex.named_config
def custom1():
    env_id = "MountainCar-v0"
    n_envs = 8
    rl_kwargs = {
        "n_steps": 1000,
        "n_epochs": 10,
    }

$ test.py with custom1
WARNING - root - Added new config entry: "rl_kwargs.n_epochs"

I appreciate the warnings when there are variables that I forgot to define in the config.
However, in the case of an arbitrary dict like this one, I don't want to display the warnings.
Is there any way to suppress them?

There is no way to silence just these warnings. They are hard-coded. You could disable all logging output using the logging module

That is a very good question and I myself had this issue a few times already. I simply ignored the warnings. I think an ingredient wouldn't solve the issue since you can't choose which ingredient to use based on the configuration. So you would just move the problem into the ingredient.
Here's another way how you could do it, but this breaks tracking of config changes:
@ex.config
def default_config():
    env_id = "CartPole-v1"

    if env_id == "CartPole-v1":
        n_envs = 1
        rl_kwargs = {
            "n_steps": 100,
        }
    elif env_id == "MountainCar-v0":
        n_envs = 8
        rl_kwargs = {
            "n_steps": 1000,
            "n_epochs": 10,
        }

(This was something that I hoped would change a few years back, when the original maintainer planned a rewrite of the configuration engined, which then never happened.)


Pipeline sometimes throws exceptions not based from Exception, in whi…

…ch case no useful information is captured.

See bullet 6 and below of this section of pep8

https://www.python.org/dev/peps/pep-0008/#programming-recommendations

https://docs.python.org/3/library/exceptions.html#exception-hierarchy Says that all builtin exceptions could be caught with:
try:
     xyz()
except (Exception, GeneratorExit, KeyboardInterrupt, SystemExit)
     pass

but effort should be made to only catch those exceptions that you are actually expecting and allow all others to raise.


Allow specifying peon javaOpts as an array

in https://github.com/druid-io/druid/pull/2439 there is one key aspect not taken into account and missing in the unit tests:  the io.druid.guice.JsonConfigurator treats things in the properties that start with [ or { as json objects instead of strings. As such, the tests which check for compliance without going through the JsonConfigurator miss this fact.
This adds a second option in addition to the jsonOpts called jsonOptsArray which allows the specification of a json array that is properly handled by the JsonConfigurator. These two properties are additive and this change is backwards compatible.

:+1:

:+1:

https://github.com/druid-io/druid/pull/2533/files#diff-d19c7676e29a15ee2e34062c8e4ee6eaR720 was supposed to take care of array , why is that still needed?

@himanshug see top comment regarding JsonConfigurator. In my tests I had somehow missed getting a config to pass through JsonConfigurator.

@himanshug added docs

in QuotableWhiteSpaceSplitter , code that handles a json string is never used because it can never receive a json array and hence should be removed.
also, I would deprecate javaOpts .

also can you add some test for ForkingTaskRunnerConfigTest that creates ForkingTaskRunnerConfig instance using ObjectMapper and ensure javaOptsArray can work with various special characters one expects to see.

@himanshug the ForkingTaskRunnerTest already had some special stuff in it. I re-used part of it and build a more full featured injection test suite for the config.

:+1: after https://github.com/druid-io/druid/pull/2533#discussion_r54302178 and conflicts are resolved.


CMakeLists: add dependencies to lyaml project (fix #130)

I am not sure whether it's a good idea requiring autoreconf or it would be better to add also that as an ExternalProject.

I think keeping autoreconf as a dependency is fine. Thanks!


add var for cron timeout for sugar job

need change this hardcoded param for timeout command in cron job...
https://github.com/SugarFactory/puppet-sugarcrmstack_ng/blob/master/templates/cron.sugarcrm.erb#L10

https://github.com/SugarFactory/puppet-sugarcrmstack_ng/commit/ed906c73a366a97df055f3d92f200bea9e29f1fd

https://github.com/SugarFactory/puppet-sugarcrmstack_ng/pull/77

PRrd into master.. https://github.com/SugarFactory/puppet-sugarcrmstack_ng/pull/84


Where is the 'lib' folder?

The 'lib' folder of v-charts can be found on the unpkg.com, but why it is not open in the repository of github?

@sncer
Yes, the lib folder including compiled and packaged files, And these files do not need to be versioned.


[V1] Use input_ids as input for text-only models

Currently, the model runner in V1 always uses input_embeds rather than input_ids for the compatibility with multi-modal models. However, this excludes the embedding layer from the CUDA graph, and thus causes slight performance regression (and larger performance regression when TP > 1). This PR addresses this by using the input_ids for text-only models while keeping using input_embeds for multi-modal models.

Chatted offline with @ywang96, while we also need to support input embeddings for text-only models, this PR is good to go since the API is still not ready for V1.


How to add dark mode button

I wanna enable the dark mode for my site, I updated it yesterday, how to add the dark mode button?

it's not merged yet, i saw the dark mode PR, and I would like the dark mode to be added.

Yup, it should be added soon, thanks to the awesome PR #262 from @lbcnz 😉

Thanks a lot! I thought it was available since I saw the PR, thanks!

Oh yeah, an idea, can you try to add a mode that makes it turn to dark mode at 6 pm and Light Mode at 7 AM? Like timed switching type?

When will the dark mode be added? I can't wait for this!

😅 I hope to have it within this week. I need to make a lot of verification since it touches key layout components

@coder-hex it's on 😎
If you have any issue let me now.

Dark mode is gonna get on my main blog!
Thanks Sylhare!

It is working nicely!


When changing to mindmap view , plugin changes format of the file and delete some contents

Do you know how to prevent this issue?
For example
This is the original:

This is the modified version after i play around in the mindmap version (closing some branches and opening them)

Is there anyway to prevent this

Okay so whenever you click on the node you enter edit mode , so the markdown is changed!


527 Break quickstart to several pages

closes #527

Closing due to branch trimming which caused weird conflicts in this PR.


Are the Warnings expected?

Thanks for putting this great tutorial. I get some warnings when the pipeline processes. As mentioned in this tutorial "As the pipeline processes, it displays messages. You may see warnings, or processing messages". So are these Warnings expected?
The Warnings on my machine look like this:
Warning: Format error at (20,1)-(20,98): Illegal quoting
Warning: Format error at (197,1)-(197,21): Illegal quoting
Warning: Format error at (213,1)-(213,117): Illegal quoting
Warning: Format error at (323,1)-(323,17): Illegal quoting
Warning: Format error at (348,1)-(348,102): Illegal quoting
Warning: Format error at (845,1)-(845,101): Illegal quoting
Processed 1000 rows with 0 bad values and 6 format errors

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

ID: c8e22825-c4ee-5a36-f911-8ad456970ecc
Version Independent ID: ad0bf640-7dfc-1184-077c-358bb14277a7
Content: Use ML.NET in a sentiment analysis classification scenario
Content Source: docs/machine-learning/tutorials/sentiment-analysis.md
Service: dotnet-ml
GitHub Login: @JRAlexander
Microsoft Alias: johalex

@helloguo Yes, those warnings and errors are expected. They show how the input classes process input that might be invalid. The docs mention that.
/cc @JRAlexander
I'm going to close this because it is working correctly.


Use test organizations.yml file in translation tests

This PR points to a dedicated test organizations.yml file for translation tests in TranslationTests.kt. As part of this test, I updated the test organization settings to include some translation settings from staging and prod for ELIMS and SR/CA and I updated the appropriate translation tests to make use of those settings.
Test Steps:

Run the translation tests.
Adjust settings in prime-router/settings/organizations.yml and rerun the tests to see that the behavior does not change
Adjust settings in prime-router/src/testIntegration/resources/settings/organizations.yml and rerun the tests to see that the behavior changes

Changes

Adjust the settings directory specified in TranslationTests.kt
Add additional test organization settings to the test organizations file
Adjust the expected output for SR/CA translation tests based on the updated settings
Allow sender transform settings to be obtained from the sender settings if the sender is set but the sender schema is not set
Allow receiver transform settings to be obtained from the receiver settings if the receiver is set but the output schema is not set

Checklist
Testing

[x] Tested locally?
[x] Ran ./prime test or ./gradlew testSmoke against local Docker ReportStream container?

Linked Issues

Addresses #11416

@JFU-NAVA-PBC Yea I think that's usually there, it's an error message from when we try to read a v2.5.1 message as v2.7, but we try again as v2.5.1 and it works fine. So I think that's unrelated to anything I changed.


2.2 Doc Updates

Putting a draft of doc updates for 2.2 in this PR.

@psychedelicious @blessedcoolant @lstein
Please take a look when you get a chance - Will also need to add a link from the root readme to this file once it's finalized.

I'm reading through this now, only comment i have so far is that i don't see any images here https://github.com/invoke-ai/InvokeAI/blob/2.2-Doc-Updates/docs/features/UNIFIED_CANVAS.md . checking the MD source it looks like the failure to display images is caused by the
<figure markdown>
![just like magic, granny with a biker's jacket](../assets/canvas/biker_jacket_granny.png)
</figure>

syntax - if i click edit and remove the <figure markdown> </figure> tags the images display correctly in the preview.

sorry didn't mean to close

Im reading through this now, only comment i have so far is that i don't see any images here

@damian0815 - I, also, don't see it in the github preview. I copied the format from other docs as I believe this is what's used when it gets turned into the more 'formal' documentation (i.e., not raw MD), but maybe @lstein can opine on correct format there.

Im reading through this now, only comment i have so far is that i don't see any images here

@damian0815 - I, also, don't see it in the github preview. I copied the format from other docs as I believe this is what's used when it gets turned into the more 'formal' documentation (i.e., not raw MD), but maybe @lstein can opine on correct format there.

When you use the !markdown tags you get the image in the mkdocs version but not in the markdown format. What usually happens is that @mauwii comes through and fixes the formatting.

I got carried away doing copy editing but the gist of the above commit is

consistent capitalisation and feature naming
more intimate address (replace "the user" with "you") for improved User
Engagement(tm)
grammatical massaging and poesie

Im reading through this now, only comment i have so far is that i don't see any images here

@damian0815 - I, also, don't see it in the github preview. I copied the format from other docs as I believe this is what's used when it gets turned into the more 'formal' documentation (i.e., not raw MD), but maybe @lstein can opine on correct format there.

When you use the !markdown tags you get the image in the mkdocs version but not in the markdown format. What usually happens is that @mauwii comes through and fixes the formatting.

ok, i left the <figure> tags in place

Hope they pass the CI tests! 🙃


Fix EncryptStatusSuite.TestCountUniqueIPsecKeys

See commit messages for details.
Fixes: #18500

/test-runtime

Regarding backport labels, the test doesn't exist in v1.10.

Nice catch! How did you find this so quickly?

git bisect run :wink:

There is another legitimate failure in pkg/datapath/linux/ipsec: https://jenkins.cilium.io/job/Cilium-PR-Runtime-net-next/1043/
I think this needs to be fixed in the netlink library to only set the XFRMA_IF_ID attribute if it is not 0. I've opened https://github.com/vishvananda/netlink/pull/727 doing that.

Dropped the second commit explicitly setting XfrmState.IfId to 1 and instead added a commit updating the github.com/vishvananda/netlink library to pull in https://github.com/vishvananda/netlink/pull/727.

/test-runtime

/test-runtime

Runtime tests are passing. Reviews are in. Marking ready to merge.

We also need to backport this to v1.10 to fix the EKS workflow there (cf. https://github.com/cilium/cilium/runs/5405780998?check_suite_focus=true).

The title is a bit misleading here. IIRC, this pull request doesn't only fix the test.

Good point. The title still stems from the initial fix which was made before the actual cause of the issue was known. I'll change the PR title/description accordingly.


help me

how to run your projet decose i can't. Tanks to help me

Please describe the error message to me

how can't i open this ionic project ?


Wrong narrowing with the in operator

Bug Report
It seems that the built-in narrowing via the in operator  can lead to narrowing mistakes (false positive).
🔎 Search Terms
Narrowing, in, subtypes, type guards
🕗 Version & Regression Information

This is the behavior in every version I tried, and I reviewed the FAQ for entries about type guards/narrowing

⏯ Playground Link

a first Playground leading to false narrowing
A second Playground leading to uncatched type errors that breaks at runtime.

💻 Code
type PartialType = {foo: string}
type FullType = {foo:string, bar:string, baz: string}

function isFullType(object: FullType | PartialType): object is FullType {
    if (!("bar" in object)) return false;
    const _:FullType = object; // Just to witness that Typescript thinks object is FullType
    return true;
}

🙁 Actual behavior
No typescript error.
🙂 Expected behavior
Typescript should not think that  object is of type FullType as for instance all those three following objects, compatible with PartialType, are clearly not FullType:
{ foo: "hello", bar: "world" }
{ foo: "hello", bar: undefined, baz: 24 }
{ foo: "hello", bar: 42 }

Therefore it should raise an error at the line  const _:FullType = object;.

Duplicate of #34975. The in operator is intentionally unsound.

Maybe you should use type PartialType = { foo: string } & { [K in string]: unknown }

Ok, I understand that if I were to use the in keyword, I accept that Typescript won't be sound anymore.
That being said, how can I , without using in, correctly narrow an object obj of type PartialType = {foo: string} to the  type FullType = {foo:string, bar:string, baz: string} since I cannot call obj.bar or obj["bar"]  without asserting "bar" in obj first?

@AxelHaddad Use discriminated unions instead, it is much more sound than regular unions. That is use the following two types:
type PartialType = {isFull: false, foo: string}
type FullType = {isFull: true, foo:string, bar:string, baz: string}

and check the value of isFull.


Fix disabling lambda url cors error

Previously, disabling url.cors after it had been enabled would have no effect or throw an error, this attempts to fix that.
Reproduce:

First deploy

new sst.aws.Function("Cors", {
  handler: "cors.handler",
  url: {
    cors: true,
  },
});

sst deploy
sst refresh # potentially unneeded

Second deploy

new sst.aws.Function("Cors", {
  handler: "cors.handler",
  url: {
    cors: false,
  },
});

sst deploy
×  Failed
   Cors sst:aws:Function → Cors aws:lambda:FunctionUrl
   updating urn:pulumi:...::sst:aws:Function$aws:lambda/functionUrl:FunctionUrl::Cors: 1 error occurred:

   InvalidParameterValueException: You can't leave AllowOrigins as empty when Cors is enabled.

After this change, cors should be disabled successfully

Thanks @qw-in!
Will be in the next release.


Updated readme.

Added logos.

Coverage remained the same at 99.598% when pulling d543a9713a2fc6b0af8d9a69869f4a6a9c28328e on readme into 4dba6ea14b284c5bd898fda6b92a824b08299c34 on master.


Fix setup of PIL in Docker

@adamsclafani This should fix the issue with the setup of PIL that you were seeing when running docker-compose up --build.

Codecov Report

Merging #49 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #49   +/-   ##
=======================================
  Coverage   91.82%   91.82%
=======================================
  Files          24       24
  Lines         844      844
=======================================
  Hits          775      775
  Misses         69       69

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 db74590...b822161. Read the comment docs.


7913 allow ui cancel task

Coverage increased (+0.3%) to 81.255% when pulling 29d39392a6d29c293a4f46aa03e35050b196a961 on 7913-allowUICancelTask into 003e6aa4b1f2007425dd0eb774e86f0db7de60b4 on master.

I think the error message displayed in the UI needs to be updated. Right now it will only report one of the provider tasks as being cancelled, even if all the tasks are cancelled for the job.

Coverage increased (+0.3%) to 81.331% when pulling 86a89cf1b6d201787da32e68ff7f3dfe63e0ab12 on 7913-allowUICancelTask into 357b201dab419695291f08db2d5380b69445bae9 on master.

Coverage increased (+0.3%) to 81.321% when pulling 3bdedb00ebfe82858a7ecc9dee6e255bc25bb863 on 7913-allowUICancelTask into 7e07e46679406af0c5ad6d9f4e74a261f10adc95 on master.

Coverage increased (+0.3%) to 81.321% when pulling 600078cf44f4c0d69c17ee530dffaec445204746 on 7913-allowUICancelTask into 7e07e46679406af0c5ad6d9f4e74a261f10adc95 on master.

Coverage increased (+0.3%) to 81.321% when pulling 11e43986e75b937ad4f21ad069905ac8b833ba6e on 7913-allowUICancelTask into b43a5c3420dec3247de22cf9477d4aa225cd1608 on master.


Update the publication of  ODbL license

https://opendatacommons.org/guide/
https://github.com/healthsites/healthsites/wiki/Data

i'm not sure what to do here? what is expected?

fixed by https://github.com/healthsites/healthsites/pull/1428


Include Maven proxy settings if available in settings.xml

com.github.webdriverextensions.Utils.downloadFile should consider proxy settings in Maven's settings.xml

I'll have a look at it, can you help me test it afterwards?

Notes to myself
http://www.mkyong.com/maven/how-to-enable-proxy-setting-in-maven/
https://github.com/github/maven-plugins/issues/32

It should be implemented in version 1.1.0-SNAPSHOT and ready to be release. Could you please try before I release it?
To install the 1.1.0-SNAPSHOT version please do the following:
Clone this project (or pull the changes if you already cloned it)
git clone https://github.com/webdriverextensions/webdriverextensions-maven-plugin

Install the maven plugin in your local .m2 repository with:
bash
mvn clean install

Now you should be able to test it by updating the version in your pom to 1.1.0-SNAPSHOT
            <plugin>
                <groupId>com.github.webdriverextensions</groupId>
                <artifactId>webdriverextensions-maven-plugin</artifactId>
                <version>1.1.0-SNAPSHOT</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>install-drivers</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

If you have multiple proxys in the settings.xml file and want to specify which one to use you can provide it in the maven configuration
            <plugin>
                <groupId>com.github.webdriverextensions</groupId>
                <artifactId>webdriverextensions-maven-plugin</artifactId>
                <version>1.1.0-SNAPSHOT</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>install-drivers</goal>
                        </goals>
                        <configuration>
                            <proxyId>yourproxyid</proxyId>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

If no proxyId is providen the first encountered active proxy will be used.
In the Maven settings.xml file you can provide non proxy hosts for a proxy
       <nonProxyHosts>www.google.com|*.example.com</nonProxyHosts>

This ignore list is however not implemented so everything will go through the proxy. Hope that is not a problem. If it is needed could try to implement this as well.

Wow, nice work! I would have opened up a fork but you were faster. The RepositoryTest fails for me when installing the maven plugin because of missing proxy settings. I skipped those tests.
However, the new version worked fine. All drivers could be downloaded.

Great I'll try to release it right away!
Your right about the RepositoryTest. Added a comment about the problem in the test case.


Add missing licenses

[ ] Fabric
[ ] SDL_image
[ ] SDL_mixer
[ ] Xaw3d
[ ] _915resolution
[ ] _9pfs
[x] a52dec
[ ] aacskeys
[x] aalib
[ ] aefs
[ ] alienfx
[ ] all-cabal-hashes
[x] alock
[ ] alsaOss
[ ] alsaPluginWrapper
[ ] alsaTools
[ ] alsaUtils
[ ] altermime
[x] amsn
[ ] androidndk
[ ] androidsdk
[ ] androidsdk_extras
[ ] antlr
[ ] antlr3
[ ] antlr3_4
[ ] antlr3_5
[ ] antlr4
[ ] antlr4_7
[ ] appimage-run
[ ] apr
[ ] aprutil
[ ] arkpandora_ttf
[ ] arora
[ ] as31
[ ] asc-key-to-qr-code-gif
[ ] aspectj
[ ] atanks
[x] atool
[ ] atop
[x] auctex
[ ] autossh
[ ] avogadro
[x] axel
[x] axis2
[ ] azureus
[ ] bakoma_ttf
[x] banshee
[x] barcode
[ ] bashmount
[ ] batik
[ ] bazaar
[ ] bazaarTools
[ ] bc
[ ] bchunk
[ ] bean-add
[ ] beecrypt
[ ] bitbucket-cli
[ ] bootjdk
[ ] boringssl
[ ] brasero
[ ] bsh
[ ] buildbot-full
[ ] buildbot-ui
[ ] bundler
[ ] bundler_HEAD
[ ] bzip2
[ ] cacert
[ ] carddav-util
[ ] cargo-vendor
[ ] carnix
[ ] ccacheWrapper
[ ] cdparanoia
[ ] cdparanoiaIII
[ ] cdrdao
[ ] ceptre
[ ] cfdg
[ ] cgui
[ ] chatzilla
[ ] checkinstall
[ ] chessdb
[ ] cksfv
[ ] clearlyU
[ ] clisp
[ ] clisp-tip
[ ] cln
[ ] cloud-init
[ ] cloud-utils
[ ] clucene_core
[ ] clucene_core_1
[ ] clucene_core_2
[ ] cmake
[ ] cmakeCurses
[ ] cmakeWithGui
[ ] cmakeWithQt4Gui
[ ] cmake_2_8
[ ] cmark
[ ] cmatrix
[ ] cogl
[ ] cointop
[ ] common-updater-scripts
[ ] confd
[ ] construo
[ ] construoBase
[ ] convmv
[ ] cowsay
[ ] cpio
[ ] cppunit
[ ] cpufrequtils
[ ] cracklib
[ ] cramfsswap
[ ] cri-tools
[ ] cromfs
[ ] cron
[ ] crunch
[ ] ctpl
[ ] ctpp2
[ ] cue2pops
[ ] cuneiform
[ ] cups-bjnp
[ ] cupsBjnp
[ ] curl
[ ] curlFull
[ ] curl_7_59
[ ] curlftpfs
[ ] cvs
[ ] cvs2svn
[ ] cwebbin
[ ] cyrus_sasl
[ ] dadadodo
[ ] dar
[ ] dash
[ ] dbus-sharp-1_0
[ ] dbus-sharp-2_0
[ ] dbus-sharp-glib-1_0
[ ] dbus-sharp-glib-2_0
[ ] dbus_java
[ ] dclib
[ ] dclxvi
[ ] dd_rescue
[ ] deadbeef-with-plugins
[ ] dejavu_fontsEnv
[ ] dell-530cdn
[ ] desktop-file-utils
[ ] desktop_file_utils
[ ] dev86
[ ] devicemapper
[ ] dex
[ ] dhcpcd
[ ] dhcpdump
[ ] dia
[ ] diffutils
[ ] dillo
[ ] diod
[ ] dirmngr
[ ] diskscan
[ ] disper
[ ] distccMasquerade
[ ] distccWrapper
[ ] distrho
[ ] dmidecode
[ ] dmraid
[ ] dns-root-data
[ ] docbook5
[ ] docbook5_xsl
[ ] docbook_sgml_dtd_31
[ ] docbook_sgml_dtd_41
[ ] docbook_xml_dtd_412
[ ] docbook_xml_dtd_42
[ ] docbook_xml_dtd_43
[ ] docbook_xml_dtd_44
[ ] docbook_xml_dtd_45
[ ] docbook_xml_ebnf_dtd
[ ] docbook_xml_xslt
[ ] docbook_xsl
[ ] docbook_xsl_ns
[ ] docutils
[ ] dosage
[ ] dosbox-unstable
[ ] dosemu_fonts
[ ] dosfstools
[ ] dotnetbuildhelpers
[ ] dovecot
[ ] drbd
[ ] drgeo
[ ] driftnet
[ ] dvdplusrwtools
[ ] dwarf-fortress
[ ] dwarf-therapist
[ ] dwarf_fortress
[ ] dwarfdump
[ ] dxflib
[ ] eboard
[ ] ebook_tools
[ ] ebtables
[ ] editres
[ ] eggdbus
[ ] eject
[ ] ekiga
[ ] emma
[ ] emscriptenfastcomp
[ ] enchant
[ ] ent
[ ] epeg
[ ] ethabi
[ ] euca2ools
[ ] exif
[ ] exiv2
[ ] exult
[ ] fam
[ ] farstream
[ ] fatresize
[ ] fbpanel
[ ] fbterm
[ ] fcgiwrap
[ ] fdm
[ ] felix_remoteshell
[ ] fetchmail
[ ] filebeat
[ ] filebeat6
[ ] findbugs
[ ] finger_bsd
[ ] fingerd_bsd
[ ] firefox
[ ] firefox-esr
[ ] firefox-esr-52
[ ] firefox-esr-52-unwrapped
[ ] firefox-esr-60
[ ] firefox-esr-60-unwrapped
[ ] firefox-esr-wrapper
[ ] firefox-unwrapped
[ ] firefox-wrapper
[ ] firefoxWrapper
[ ] flac
[ ] flex
[ ] flex_2_5_35
[ ] flex_2_6_1
[ ] fondu
[ ] fontconfig-ultimate
[ ] fortune
[ ] fpc
[ ] fping
[ ] frab
[ ] fsg
[ ] funambol
[ ] fuse
[ ] fuse-common
[ ] fuse3
[ ] fusesmb
[ ] fxload
[ ] gamin
[ ] gawp
[ ] gcab
[ ] gcl
[ ] gcl_2_6_13_pre
[ ] gdata-sharp
[ ] gdcm
[ ] gdk_pixbuf
[ ] geany-with-vte
[ ] gensgs
[ ] getconf
[ ] getent
[ ] getmail
[ ] getopt
[ ] gettext
[ ] gettextWithExpat
[ ] giflib_4_1
[ ] gimp-with-plugins
[ ] ginac
[ ] gio-sharp
[ ] gitlab
[ ] gl117
[ ] glibc_multi
[ ] glock
[ ] glsurf
[ ] glusterfs
[ ] gnet
[ ] gnome-doc-utils
[ ] gnome-themes-extra
[ ] gnome-themes-standard
[ ] gnome_doc_utils
[ ] gnome_themes_standard
[ ] gnome_user_docs
[ ] gnuplot
[ ] gnuplot_aquaterm
[ ] gnuplot_qt
[ ] gnupth
[ ] gnuvd
[ ] go-mtpfs
[ ] go-repo-root
[ ] go-upower-notify
[ ] gobjectIntrospection
[ ] gocode
[ ] gogoclient
[ ] goimports
[ ] golden-cheetah
[ ] goldendict
[ ] golint
[ ] gosmore
[ ] gotags
[ ] gotools
[ ] govers
[ ] gphoto2fs
[ ] gqview
[ ] grantlee
[ ] grantlee5
[ ] graphite2
[ ] grin
[ ] grub
[ ] grub2_pvgrub_image
[ ] gsettings-desktop-schemas
[ ] gsettings_desktop_schemas
[ ] gtk-sharp-2_0
[ ] gtk-sharp-3_0
[ ] gtk-sharp-beans
[ ] gtkspell2
[ ] guitone
[ ] gutenprintBin
[ ] guvcview
[ ] gvpe
[ ] gwtdragdrop
[ ] gwtwidgets
[ ] gxneur
[ ] harfbuzz
[ ] harfbuzz-icu
[ ] harfbuzz-icu-58
[ ] hdf4
[ ] heartbeat
[ ] heartbeat6
[ ] herqq
[ ] hex2nix
[ ] hexRegistrySnapshot
[ ] hexdump
[ ] hicolor-icon-theme
[ ] hicolor_icon_theme
[ ] highlight
[ ] hostname
[ ] houdini
[ ] hspell
[ ] hsqldb
[ ] httpunit
[ ] hue-cli
[ ] hunspell
[ ] hydraAntLogger
[ ] hyena
[ ] hyper-haskell-server-with-packages
[ ] i3cat
[ ] icedtea8_web
[ ] icedtea_web
[ ] iconConvTools
[ ] iconnamingutils
[ ] icu
[ ] icu58
[ ] icu59
[ ] icu60
[ ] id3lib
[ ] idris
[ ] ihaskell
[ ] ilbc
[ ] imagemagick7
[ ] imagemagick7Big
[ ] imagemagick7_light
[ ] imlib
[ ] incrtcl
[ ] interlock
[ ] iomelt
[ ] iotop
[ ] ipsecTools
[ ] iptables
[ ] iptstate
[ ] iputils
[ ] ircdHybrid
[ ] irssi
[ ] isocodes
[ ] ispell
[ ] jama
[ ] jasper
[ ] jboss_mysql_jdbc
[ ] jbrout
[ ] jdom
[ ] jfsutils
[ ] jikes
[ ] jing
[ ] jing-trang
[ ] jool-cli
[ ] json_c
[ ] jumanji
[ ] junicode
[ ] k3d
[ ] kbfs
[ ] keepass-keeagent
[ ] keepass-keefox
[ ] keepass-keepasshttp
[ ] keepass-keepassrpc
[ ] kexectools
[ ] keybase
[ ] keybase-go
[ ] keybase-gui
[ ] khelpcenter
[ ] killall
[ ] klibc
[ ] klibcShrunk
[ ] kmod
[ ] kmod-blacklist-ubuntu
[ ] kmod-debian-aliases
[ ] krename
[ ] krename-qt5
[ ] kt
[ ] lastfmsubmitd
[ ] leksah
[ ] less
[ ] lesstif
[ ] libGL
[ ] libGLU_combined
[ ] libHX
[ ] libaccounts-glib
[ ] libaom
[ ] libatasmart
[ ] libbap
[ ] libblocksruntime
[ ] libbluedevil
[ ] libcap
[ ] libcap_manpages
[ ] libcap_pam
[ ] libcap_progs
[ ] libcdaudio
[ ] libcdr
[ ] libdbusmenu_qt
[ ] libdbusmenu_qt5
[ ] libdmtx
[ ] libdwarf
[ ] libee
[ ] libertine
[ ] libexttextcat
[ ] libfakeXinerama
[ ] libgdiplus
[ ] libgnome-keyring
[ ] libgnome_keyring
[ ] libgnurl
[ ] libguestfs-appliance
[ ] libicns
[ ] libiconv
[ ] libimobiledevice
[ ] libiodbc
[ ] libite
[ ] libjson
[ ] libkate
[ ] liblastfm
[ ] liblastfmSF
[ ] liblqr1
[ ] libmatthew_java
[ ] libmilter
[ ] libmms
[ ] libmowgli
[ ] libmp3splt
[ ] libmtp
[ ] libmusicbrainz
[ ] libmusicbrainz3
[ ] libmusicbrainz5
[ ] libnatspec
[ ] libnetfilter_queue
[ ] libnice
[ ] libnotify
[ ] libnova
[ ] liboauth
[ ] libofa
[ ] liboggz
[ ] libpcap
[ ] libplist
[ ] libqalculate
[ ] librdf_redland
[ ] libredirect
[ ] libreoffice
[ ] libreoffice-fresh
[ ] libreoffice-still
[ ] libressl
[ ] libressl_2_6
[ ] libressl_2_7
[ ] libreswan
[ ] libsigcxx12
[ ] libssh2
[ ] libtiger
[ ] libtorrent
[ ] libtxc_dxtn
[ ] libudev
[ ] libui
[ ] libungif
[ ] libusb
[ ] libusb1
[ ] libusb1-axoloti
[ ] libusbmuxd
[ ] libuv
[ ] libvolume_id
[ ] libwacom
[ ] libwmf
[ ] libwpd_08
[ ] libwpg
[ ] libxml2Python
[ ] libxpdf
[ ] libzip
[ ] lilypond-with-fonts
[ ] links
[ ] links2
[ ] lkproof
[ ] lksctp-tools
[ ] lm_sensors
[ ] lmmath
[ ] lmodern
[ ] locale
[ ] localtime
[ ] log4shib
[ ] logger
[ ] loudmouth
[ ] lsdvd
[ ] lsof
[ ] lsscsi
[ ] ltrace
[ ] lucene
[ ] lvm2
[ ] man-old
[ ] man-pages
[ ] manpages
[ ] manticore
[ ] martyr
[ ] mdadm
[ ] mdadm4
[ ] mdbtools
[ ] mdbtools_git
[ ] mdds
[ ] mdds_0_12_1
[ ] mdds_0_7_1
[ ] mesos-dns
[ ] metaBuildEnv
[ ] metricbeat
[ ] metricbeat6
[ ] mingetty
[ ] minify
[ ] miniupnpc
[ ] miniupnpc_1
[ ] miniupnpc_2
[ ] miniupnpd
[ ] minizip
[ ] mk
[ ] mktemp
[ ] mnemosyne
[ ] mockobjects
[ ] mod_fastcgi
[ ] mod_python
[ ] module_init_tools
[ ] monkeysAudio
[ ] mono-addins
[ ] mono-zeroconf
[ ] monoDLLFixer
[ ] monodevelop
[ ] monotone
[ ] mop
[ ] more
[ ] moreutils
[ ] morty
[ ] mount
[ ] mph_2b_damase
[ ] mqtt-bench
[ ] msilbc
[ ] mtools
[ ] mtpfs
[ ] mueval
[ ] multipath-tools
[ ] multipath_tools
[ ] multitail
[ ] mumble_overlay
[ ] mysql55
[ ] mysql57
[ ] mysql_jdbc
[ ] mythes
[ ] nasm
[ ] ncftp
[ ] nedit
[ ] neon
[ ] neon_0_29
[ ] neovim-pygui
[ ] netalyzr
[ ] netbeans
[ ] netcat
[ ] netcat-openbsd
[ ] netcdf
[ ] netcdf-mpi
[ ] networkmanager-fortisslvpn
[ ] networkmanager-iodine
[ ] networkmanager-openconnect
[ ] networkmanager-openvpn
[ ] networkmanager-vpnc
[ ] networkmanager_fortisslvpn
[ ] networkmanager_iodine
[ ] networkmanager_openconnect
[ ] networkmanager_openvpn
[ ] networkmanager_strongswan
[ ] networkmanager_vpnc
[ ] newtonwars
[ ] ngrok-1
[ ] nheko
[ ] nilfs-utils
[ ] nilfs_utils
[ ] nix-generate-from-cpan
[ ] nix-info
[ ] nix-info-tested
[ ] nix-prefetch-bzr
[ ] nix-prefetch-cvs
[ ] nix-prefetch-git
[ ] nix-prefetch-hg
[ ] nix-prefetch-scripts
[ ] nix-prefetch-svn
[ ] nix-template-rpm
[ ] nixbang
[ ] nixops
[ ] nixopsUnstable
[ ] nixos-container
[ ] nixos-icons
[ ] nixpkgs-lint
[ ] nologin
[ ] notify-sharp
[ ] noweb
[ ] npm2nix
[ ] nspr
[ ] nsq
[ ] nss
[ ] nssTools
[ ] nss_ldap
[ ] ntp
[ ] ntrack
[ ] nukeReferences
[ ] nut
[ ] oathToolkit
[ ] obex_data_server
[ ] obexd
[ ] obnam
[ ] ocaml_3_08_0
[ ] ode
[ ] oh
[ ] oidentd
[ ] opal
[ ] opam
[ ] openbabel
[ ] openbsm
[ ] opencascade
[ ] opencascade_oce
[x] opencollada
[ ] opencsg
[ ] opendbx
[ ] openldap
[ ] openmsx
[ ] openpam
[ ] openssl
[ ] openssl-chacha
[ ] openssl_1_0_2
[ ] openssl_1_1_0
[ ] opentyrian
[ ] openvpn_learnaddress
[ ] osmctools
[ ] owncloud-client
[ ] owncloudclient
[ ] p7zip
[ ] packetbeat
[ ] packetbeat6
[ ] pam_ccreds
[ ] pam_mount
[ ] pam_ssh_agent_auth
[ ] pan
[ ] pangoxsl
[ ] papertrail
[ ] par
[ ] parse-cli-bin
[ ] pdf-quench
[ ] pdf2xml
[ ] pdfmod
[ ] pdfshuffler
[ ] peg
[ ] perf-tools
[ ] perl
[ ] perl522
[ ] perl524
[ ] perl526
[ ] perl528
[ ] perlXMLParser
[ ] pgf
[ ] pgf1
[ ] pgf2
[ ] pgf3
[ ] pgfplots
[ ] pgtap
[ ] phabricator
[ ] philter
[ ] phonon-backend-gstreamer
[ ] phonon-backend-vlc
[ ] photivo
[ ] pidgin-msn-pecan
[ ] pidginmsnpecan
[ ] pigz
[ ] pkgconfig
[ ] pkgconfigUpstream
[ ] pmd
[ ] podofo
[ ] polkit
[ ] polkit_qt4
[ ] polygraph
[ ] polysh
[ ] pond
[ ] popa3d
[ ] popt
[ ] posix_man_pages
[ ] posterazor
[ ] postscript-lexmark
[ ] ppp
[ ] pptp
[ ] pptpd
[ ] prboom
[ ] primus
[ ] prison
[ ] prooftree
[ ] ps
[ ] psi
[ ] psi-plus
[ ] psmisc
[ ] pth
[ ] ptlib
[ ] pwgen
[ ] pyIRCt
[ ] pyMAILt
[ ] pynac
[ ] pypi2nix
[ ] pyrex
[ ] pyrex095
[ ] pyrex096
[ ] python2nix
[ ] pythonSexy
[ ] pythonmagick
[ ] qalculate-gtk
[ ] qiv
[ ] qjson
[ ] qoauth
[ ] qpid-cpp
[ ] qrencode
[ ] qrupdate
[ ] qt-gstreamer
[ ] qt-gstreamer1
[ ] qt-mobility
[ ] qt3
[ ] qt5Full
[ ] qt_gstreamer
[ ] qt_gstreamer1
[ ] qtscriptgenerator
[ ] quakespasm
[ ] quicktun
[ ] rWrapper
[ ] radamsa
[ ] rambox
[ ] readline5
[ ] rebar
[ ] rebar3
[ ] rebar3-open
[ ] redland
[ ] refind
[ ] reiser4progs
[ ] removeReferencesTo
[ ] renameutils
[ ] replace
[ ] rfkill
[ ] rfkill_udev
[ ] rhash
[ ] riak
[ ] riemann-tools
[ ] ripmime
[ ] rkflashtool
[ ] rlog
[ ] rofi-menugen
[ ] rogue
[ ] root
[ ] rpPPPoE
[ ] rstudioWrapper
[ ] rt
[ ] rtkit
[ ] rtorrent
[ ] rubyripper
[ ] rxvt_unicode
[ ] rxvt_unicode-with-plugins
[ ] rxvt_unicode_with-plugins
[ ] s3gof3r
[ ] sablotron
[ ] sambaMaster
[ ] sapic
[ ] sbsigntool
[ ] scheme48
[ ] scrot
[ ] sddm
[ ] seccure
[ ] setserial
[ ] sg3_utils
[ ] shaderc
[ ] shadow
[ ] shared_desktop_ontologies
[ ] shfmt
[ ] sipcmd
[ ] siproxd
[ ] skydns
[ ] slim
[ ] smack
[ ] smem
[ ] smugline
[ ] sofia_sip
[ ] spectacle
[ ] spidermonkey
[ ] spidermonkey_17
[ ] spidermonkey_1_8_5
[ ] spidermonkey_31
[ ] spidermonkey_38
[ ] splix
[ ] sqitchPg
[ ] sqlar
[ ] sqlite
[ ] sqlite-analyzer
[ ] sqlite-interactive
[ ] sqlite3_analyzer
[ ] sqliteInteractive
[ ] sqsh
[ ] sshfs
[ ] sshfs-fuse
[ ] sshfsFuse
[ ] sshpass
[ ] sshuttle
[ ] ssmtp
[ ] ssss
[ ] sstp
[ ] statifier
[ ] steam-run
[ ] steam-run-native
[ ] su
[ ] subversion
[ ] subversion18
[ ] subversion19
[ ] subversionClient
[ ] subversion_1_10
[ ] super
[ ] surfraw
[ ] sysctl
[ ] sysklogd
[ ] systemd
[ ] systemd-cryptsetup-generator
[ ] systemd_with_lvm2
[ ] sysvinit
[ ] sysvtools
[ ] t1lib
[ ] taffybar
[ ] taglib-sharp
[ ] taglib_1_9
[ ] taglib_extras
[ ] tailor
[ ] tango-icon-theme
[ ] tarsnapper
[ ] tasknc
[ ] tclap
[ ] tecoc
[ ] telepathy-farstream
[ ] telepathy-glib
[ ] telepathy-haze
[ ] telepathy-salut
[ ] telepathy_farstream
[ ] telepathy_glib
[ ] telepathy_haze
[ ] telepathy_salut
[ ] terraform-full
[ ] terraform_0_10-full
[ ] terraform_0_11-full
[ ] tetex
[ ] tidyp
[ ] tie
[ ] tipa
[ ] tivodecode
[ ] tnt
[ ] tomcat_connectors
[ ] tomcat_mysql_jdbc
[ ] tor-browser-unwrapped
[ ] torque
[ ] toxiproxy
[ ] tpm-luks
[ ] trackballs
[ ] tradcpp
[ ] trang
[ ] transfig
[ ] tre
[ ] ttf_bitstream_vera
[ ] ttmkfdir
[ ] twmn
[ ] tzdata
[ ] ucs-fonts
[ ] ucsFonts
[ ] udev
[ ] udisks1
[ ] umount
[ ] untie
[ ] upower
[ ] urxvt_tabbedex
[ ] usbmuxd
[ ] usbutils
[ ] ut2004demo
[ ] vbetool
[ ] vcprompt
[ ] vde2
[ ] virtualgl
[ ] virtuoso
[ ] virtuoso6
[ ] virtuoso7
[ ] vkquake
[ ] vlan
[ ] vmfs-tools
[ ] vnc2flv
[ ] vncrec
[ ] vsftpd
[ ] w3m
[ ] w3m-batch
[ ] w3m-full
[ ] w3m-nographics
[ ] w3m-nox
[ ] wall
[ ] watch
[ ] wdfs
[ ] webalizer
[ ] wego
[ ] weighttp
[ ] win-spice
[ ] win-virtio
[ ] winswitch
[ ] wolfssl
[ ] wordnet
[ ] worldengine-cli
[ ] wpa_supplicant_gui
[ ] wv
[ ] x11_ssh_askpass
[ ] x11vnc
[ ] x2vnc
[ ] xautoclick
[ ] xbase
[ ] xcb-util-cursor
[ ] xcbuild
[ ] xchm
[ ] xcodebuild
[ ] xcompmgr
[ ] xdummy
[ ] xen
[ ] xen-light
[ ] xen-slim
[ ] xen_4_10
[ ] xen_4_10-light
[ ] xen_4_10-slim
[ ] xen_4_8
[ ] xen_4_8-light
[ ] xen_4_8-slim
[ ] xf86_video_nested
[ ] xf86_video_nouveau
[ ] xfig
[ ] xgeometry-select
[ ] xhtml1
[ ] xineLib
[ ] xineUI
[ ] xkeyboard_config
[ ] xlsfonts
[ ] xmacro
[ ] xmlroff
[ ] xmonad-with-packages
[x] xmoto
[ ] xmove
[ ] xorg_sys_opengl
[ ] xpdf
[ ] xpf
[ ] xpra
[ ] xpraGtk3
[x] xrestop
[ ] xscreensaver
[ ] xulrunner
[x] xurls
[ ] xvfb_run
[x] xwiimote
[ ] xxd
[x] yad
[x] yakuake
[x] ympd
[ ] yquake2-all-games
[ ] yquake2-ctf
[ ] yquake2-ground-zero
[ ] yquake2-the-reckoning
[ ] zdelta
[x] zerofree
[ ] zimreader
[x] zimwriterfs
[ ] zip
[x] zkfuse
[ ] zsh-autoenv

Weird, gnome-themes-extra has two aliases listed but not the package itself, xneur_0_8 was removed, udisks2 is alias of udisks. telepathy packages are also there multiple times.

Also gimp-with-plugins is symlinkJoin of gimp and some plug-ins. Should we make it inherit gimp’s meta?

Also gimp-with-plugins is symlinkJoin of gimp and some plug-ins. Should we make it inherit gimp’s meta?

I'm not sure if I can answer definitively on this but it would make sense to just do inherit (gimp) meta to me. I guess it's not as important to fix these wrapper because Nix will still have to evaluated the wrapped software.

opencollada seems to be present already, it's also holding up the compilation of blender for what it's worth

I see no license for opencollada and added its license in #44345.

Sorry, I hadn't had my coffee yet and read "libraries" instead of "licence" :sweat_smile:
I'll make a new issue for it not compiling

Regarding the build-failure of opencollada, there is already PR #44126 that addresses it.

I still find it a bit strange we add the license info to the derivation instead of the source. If one modifies the derivation to compile statically, then quite likely the license may be invalid for the produced store path.

A good point. I've never thought of it that way.

I still find it a bit strange we add the license info to the derivation instead of the source.

Yeah, both version & meta.license seem like they should be in src, but I think it's been in place too long to expect it to change. Maybe we could add something to make-derivation.nix to check if the src has license or version set & use that. Although either way the license should propagate upward to the derivation copyleft or "share-alike" licenses.

If one modifies the derivation to compile statically, then quite likely the license may be invalid for the produced store path.

I don't think this is exactly correct. If you make a derivation compile statically, its license stays the same. It's just that anyone linking to it may be breaking the copyleft terms. Although I am extremely skeptical that legally there is any difference between dynamic & statically linking, these are the terms for at least the LGPL and  maybe some other licenses with "dynamic linking exceptions". There's nothing stopping you from redistributing the unlinked object files though to satisfy LGPL terms (https://www.gnu.org/licenses/gpl-faq.en.html#LGPLStaticVsDynamic).
As a side note, I would like to "enforce" copyleft in Nixpkgs. This would involve using disallowedReferences to prevent GPL3 from being used by non-GPL

#44358 fixes this issue only partly.

What I learned while browsing through the list, trying to figure out licenses:
There are a lot of false positives on the list (aliases). Fortunately, the unique list will be a bit shorter.
A lot of packages can not be categorized by a single license. For example, some parts of the code are GPL while others are BSD. A specially bad example is libressl (https://en.wikipedia.org/wiki/LibreSSL),
which contains at least 4 different licenses.
Is it possible to provide a list of licenses instead of a single value? What would be best way to handle such types of source code?

From what I've seen, multiple licenses are just in a list (https://github.com/NixOS/nixpkgs/blob/499b9e794b55d8dbfac06706a05bb461731f88f3/pkgs/applications/misc/ape/apeclex.nix#L7)

Here is some intermediate result: There are ~550 unique locations (files) left that have no license in the meta attribute.

Can the list above be updated?

Nix has the nice feature that it create an attribute position in meta, which points to the actual file. That allows to sort out unique locations with missing tags. Here's an up-to-date sorted list with the files lacking license tags (does not include deviations that have no meta attribute at all): https://gist.github.com/markuskowa/73f7402a113fe01e70b4c045cc5a8f70

@bhipple That is the script I use: https://gist.github.com/markuskowa/20700860c09af1ca4cc828f8dc2e36b3

These packages already have a license but are not ticked-off in the initial message, @matthewbauer :
antlr
antlr3
antlr3_4
antlr3_5
antlr4
antlr4_7
apr
apr-util
bashmount
batik
bazaar
bazaarTools
bc
bchunk
boringssl
I did not check more.

@matthiasbeyer The list in the initial issue is outdated. This one should be (somewhat) more up to date: https://gist.github.com/markuskowa/73f7402a113fe01e70b4c045cc5a8f70

Xpra can be removed from this list as it has been addressed.

@markuskowa did you meant to close this PR?

Nope, that was an unintended github-auto-close.

Still relevant

gocode was removed

While I was rooting around opencascade-occt, I found this issue. SPDX doesn't have a license exception identifier for the OpenCASCADE exception, so I filed https://github.com/spdx/license-list-XML/issues/2389 to ask for one.
Assuming that's accepted, we should be able to update opencascade-occt and opencascade_oce to a custom license LGPL-2.1-only-with-Opencascade-exception-1.0 :crossed_fingers:

Hi! I believe Xen can be crossed off the list: https://github.com/NixOS/nixpkgs/blob/2823edd5252cc7be1c735c0d9670c0eaf5734dac/pkgs/applications/virtualization/xen/generic.nix#L358

Sorry for asking here, as it may already be written somewhere but is there any license attribute to mention that the code is unlicensed at the moment ?

fcgiwrap license was added back with commit 1560a465c30b03c052a51d9ca348065f4bf8add4 so can be checked off.

dbus-sharp-1_0
dbus-sharp-2_0
dbus-sharp-glib-1_0
dbus-sharp-glib-2_0
all had license added with commit https://github.com/NixOS/nixpkgs/commit/e2407c1e057c46c65db8ff71979292b7b1f4bb5e so can be checked off.


Cartographer bug

Please describe the bug
Cartographer doesn't give maps: (Ocean Explorer Map, Woodland Explorer Map, Trial Explorer Map)

Steps to reproduce the behavior

Install plugin
Use command "/kos no"
Restart the server
Try to trade with Cartographer villager until he is Journeyman

Expected behavior
Expected to see maps in trades.
Server information:
This server is running Paper version 1.21-37-master@dd49fba (2024-06-24T02:08:49Z) (Implementing API version 1.21-R0.1-SNAPSHOT)
[Kryptonite] Kryptonite version 1.3.0 by LewMC.
Please enter a link to your logs
There is nothing on logs.
Anything else?
No response

@CYAHUB I'm assuming it's treasure maps that are missing. If so, since you've told Kryptonite you've not pregenerated your world they'll be disabled.
Go into plugins -> kryptonite -> config.yml and set override-pregenerated-world-protections to true. Then run /kos no again, this should fix your issue.
Since this is a KOS value, you must re-run KOS for treasure maps to work again.
Let me know if this works, and I'll update the Wiki to add this in. Thanks!

Yep, it fixed the problem. So thank you!

No problem, I'll make sure to add this to the wiki! Thanks for using Kryptonite!

https://wiki.lewmc.net/kr-treasure-maps.html

👍 Thanks for the help!

No problem!


Multiple Tags to a location

Sometimes same location is required to be marked with multiple tags so that when we filter it out, it would show in each tag filter :)
I tried various ways, nothing seems to work.
[map](geo: 21,12) tag:tag1 tag:tag2

[map](geo: 21,12) tag:tag1,tag2

[map](geo: 21,12) tags:tag1,tag2

[map](geo: 21,12) tag:[tag1.tag2]

[map](geo: 21,12) tags:[tag1.tag2]

If there is this feature already, please direct me :)
else, please consider this enhancement.

At the time of posting this issue, I wasn't aware that it considers other tags in the file as well.
I was wondering it can create issues with filtering.
So, if possible, we can have some kind of an optional inline flag, that makes it exclusive inline tag
e.g.
[map](geo: 21,12) & tag:[tag1,tag2]

Just an example.

The basic idea was that the file tags (the regular Obsidian #tag ones) are the base ones you want to use for all locations in the note, and on top of that you can add specific ones for specific locations.
Just like you were not aware of this, I'm concerned that I make more custom syntax with more options, this will confuse users even further :sweat_smile:

Yes, sure. Maybe then just having multi tag support would be great

Just released 1.1.0 which adds support for this.


convnet performance

I am considering using Gorgonia for a research project, as an alternative to Tensorflow, since I have other code already written in Go. I tried to run the convnet example included in Gorgonia: it takes almost 2.5 minutes per epoch on my i7-7th gen machine running Arch Linux, while a similar example in Tensorflow (https://www.tensorflow.org/tutorials/keras/classification?hl=en) takes about 3 seconds per epoch.  If I am correct, the two examples are comparable. I am not using the GPU because in Gorgonia I am experiencing issue #376. In the Readme it says that the poor performance is due to the transpose algorithm. Is there a plan to improve such an algorithm? I may consider contributing to the task, if I am able to better understand the issue.

Hah. This is not supposed to be the case - the convnet example was built for benchmarking against other systems. This means that some changes made so far have degraded the performance in general. Please hold while I investigate.

Which type do you use? Float32 of float64?

@owulveryck I tried both Float32 and Float64 and there does not seem to be any substantial difference in the computation time per epoch.

Working on several CUDA related issues today, will have a quick look on this to figure out where it's gone wrong.

Ok, let me know if I can help.

I can confirm that currently Gorgonia is slower than Keras. I also found a few bugs in the losses, so fixing those first. On CUDA, the speeds are equivalent.
Will keep you updated

Hi, a bunch of fixes just went in.. will be benchmarking this in a bit

v0.9.10 if anyone is following along

Great, thanks! I am downloading the new version right now.

On my machine the convnet example still takes about 2.5 minutes per epoch, as before the update to  v0.9.10. It is still pretty slow: can anyone confirm this?
By the way, I think that on line 219 in main.go I believe that
cost := gorgonia.Must(gorgonia.Neg(cost))
should be replaced by
cost := gorgonia.Must(gorgonia.Neg(losses))

Hmm, ok looking into it

More vectorized instructions were added to vecf32 and vecf64. Will have a few more updates to those packages

Has anyone tried comparing any benchmark with TensorFlow or other Python libraries? I would like to understand if it is an issue with my platform or it is really Gorgonia's current performance.
(Maybe there is another place where we can have this discussion)

@alucantonio
Can you profile your golang code with pprof ?
Also what is your platform ?
There is also a Slack channel.
Thanks.

@blackrez Thanks for the answer. Here is the output of the top command in pprof:
File: main
Type: cpu
Time: May 6, 2020 at 1:58pm (CEST)
Duration: 2.48mins, Total samples = 2.49mins (100.37%)
Entering interactive mode (type "help" for commands, "o" for options)
(pprof) top
Showing nodes accounting for 122.80s, 82.34% of 149.13s total
Dropped 228 nodes (cum <= 0.75s)
Showing top 10 nodes out of 78
      flat  flat%   sum%        cum   cum%
    31.99s 21.45% 21.45%     31.99s 21.45%  gonum.org/v1/gonum/internal/asm/f64.DotUnitary
    20.87s 13.99% 35.45%     20.88s 14.00%  gorgonia.org/gorgonia.im2colOp.f64s
    12.68s  8.50% 43.95%     12.68s  8.50%  gorgonia.org/tensor.(*FlatIterator).ndNext
    12.43s  8.34% 52.28%     12.78s  8.57%  gorgonia.org/gorgonia.(*maxPoolOp).f64s
    11.26s  7.55% 59.83%     11.26s  7.55%  runtime.memclrNoHeapPointers
     8.68s  5.82% 65.65%     40.67s 27.27%  gonum.org/v1/gonum/blas/gonum.dgemmSerialNotTrans
     7.16s  4.80% 70.46%     29.17s 19.56%  gorgonia.org/gorgonia.StandardEngine.Transpose
     6.30s  4.22% 74.68%     18.98s 12.73%  gorgonia.org/tensor.(*FlatIterator).Next
     5.73s  3.84% 78.52%      5.73s  3.84%  runtime.memmove
     5.70s  3.82% 82.34%      5.70s  3.82%  gorgonia.org/tensor/internal/execution.GteSameVSF64
The profiling refers to one epoch of training of the convnet example. As you can see, it takes 2.48 minutes.
Here is the info on my machine:
CPU: Intel i7-7700HQ @ 2.80GHz
RAM: 16 GB
OS: Arch Linux - 4.19.119 kernel
I have the latest versions (last commits on master) of gonum, gorgonia and the other dependencies.
To join the Slack channel I think I need an invitation: how can I have it?

Yes, you can have one here : https://invite.slack.golangbridge.org/.

@alucantonio your pprof shows that the most consuming task is the actual matrix multiplication involved in the Convolution operator.
This is weird because the implementation heavily relies on the gonum implementation of the basic operations sgemm. There is no reason why this operation would be significantly faster on another library (maybe slightly faster, but not ten times)


Add storage hook

Adds a storage hook to dioxus std that works on both desktop and web

As this uses a git rev instead of a fixed Dioxus version, this should probably be held til the next Dioxus release

Question: How do I use use_synced_storage inside of the default value for use_synced_storage?
What I do right now:
        let state = *use_context_provider(cx, || {
            tracing::debug!("🔨 Creating AppState default value");
            AppState::new(cx)
        });

The AppState::new function uses use_synced_storage to initialize the signal fields of AppState, but this leads to:
thread 'main' panicked at 'The hook list is already borrowed: This error is likely caused by trying to use a hook inside a hook which violates the rules of hooks.: BorrowMutError'

If I move the use of use_synced_storage outside of use_context_provider call it works, but this is not correct - because, then, use_synced_storage will be called each time the widget is rendered (ie., more than once).

Question: How do I use use_synced_storage inside of the default value for use_context_provider ?
What I do right now:
        let state = *use_context_provider(cx, || {
            tracing::debug!("🔨 Creating AppState default value");
            AppState::new(cx)
        });

The AppState::new function uses use_synced_storage to initialize the signal fields of AppState, but this leads to:
thread 'main' panicked at 'The hook list is already borrowed: This error is likely caused by trying to use a hook inside a hook which violates the rules of hooks.: BorrowMutError'

If I move the use of use_synced_storage outside of use_context_provider call it works, but this is not correct - because, then, use_synced_storage will be called each time the widget is rendered (ie., more than once).

You can't use it inside of the provider, but you could use the hook and then move it into the closure:
let storage = use_persistant(...);
let state = *use_context_provider(cx, || {
     storage
});

I'm using the latest commit tree, but across app restarts I'm noticing that the on-disk file is being reset with the initial data. So, in:
 let flake_cache =
            new_synced_storage::<LocalStorage, _>(cx, "flake_cache".to_string(), Vec::new);

The file flake_cache contains data (78da63000000010001 below) corresponding to an empty vector (cf. Vec::new argument) on app start, even though the previous session has set the signal value to a non-empty vector.
Is this by design, or a bug?

some conflicts @ealmloff

Thank you!!


The chart and app version are inconsistent

I found app Version 2.9.2 after installing Keda 2.9.3. Is this correct? The chart and app version are inconsistent

Specifications

KEDA Version: 2.9.3
Platform & Version: Please elaborate
Kubernetes Version: Please elaborate
Scaler(s): Please elaborate

That is intentional, sometimes we update only charts and not the core KEDA.


What about ForEach?

Passing ForEach results in 1 view.
struct RopesCollectionView<Content>: View where Content : IterableView
{
    @IterableViewBuilder
    let content: ()->Content

    var body: some View
    {
        GeometryReader
        { proxy in
            ...
            let views = content().contentArray // an array with single view is returned. `subviews` does the same
            TabView
            {
                let pages_ = views.chunked(into: 8)
                ForEach(pages_.indices)
                {
                    r_idx in
                    make_page(figurines: row_)
                }
            }
            ...
        }
    }
}
...
RopesCollectionView
{
    let all_fugurines = JsonStorage.s_figurines[grid_size]!
    ForEach(all_fugurines)
    {
        figurine_ in
        make_cell(figurine: figurine_)
    }
}.ignoresSafeArea(.all, edges: [.vertical])

@ZeeWanderer unfortunately I was not able to adapt ForEach without reflection, but you can use for in loop or create custom ForEach confirming IterableView protocol

@ZeeWanderer in fact, there are quite a few restrictions, I made this library as a temporary solution, until the apple was made _VariadicView api public


Add key command to trigger update.

Maybe have this as something like the app switcher. Open it up, select an app icon, install updates, switch to other app. Maybe filter app icons to just the Adobe apps since that's all I use.


Convert octal to binary

Why:

Closes #4507
What's being changed:
I added the ConvertOctalToBinary.java class in which it contains a method that accepts a String input of an octal number then returns a binary string.

Thanks for the heads up. Tried to run it in IntelliJ, that's why. Will fix it ASAP.


Set up Index.html

User Story:
Need to Research HTML structure Trip Planner
Features to consider (which ones need HTML)
Prompt Modals-maybe more js
Confirm Modals-maybe js
Create/Display Containers to display Trip

Closing this--followup work is being tracked on miro board


Matching rules doesn't have the ID field

Hello,
In the new GNIP 2.0, the field matching_rules now has the fields "tag" and "id". However, this change is not implemented in the class "MatchingRules" since there is only "tag" and "value" (old version).
We should add a field in this class called "id" (and maintain the "value" one for compatibility).
Thanks.

You are right. Fixed!

Hello, I think this should be too  in the class "MatchingRules", that's the class we use to get the ID. Thanks.

Right! https://github.com/zauberlabs/gnip4j/commit/299a22bc0cc60ec54b65022ef64534e1b090ca32


Add deploy SecretFlow in WSL(Windows Subsystem for Linux) with simulation mode

I add document guide to deploy SecretFlow in WSL(Windows Subsystem for Linux) with simulation mode

Nice Work! Can you update the CN po file?


acknowledge spotify start

When "play spotify" is received the skill starts without any feedback to the user.
I suggest the self.acknowledge() method is used to indicate that the command has been received.
It can simply be added after the continue check here

Resolved by #109.