Add Pareto/NBD Distribution Class

This PR adds a distribution class for the Pareto/NBD model. It partially addresses https://github.com/pymc-labs/pymc-marketing/issues/128 and is a prerequisite for https://github.com/pymc-labs/pymc-marketing/issues/127.
The Pareto/NBD model is notorious for crashing due to numeric underflows in lifetimes because the likelihood function contains denominator terms that can grow very large when modeling high frequency values. I've rearranged a few terms to fix this, and am also using a simplified variant of the original likelihood expression, introduced in equations (22) and (23) in this PDF:
http://brucehardie.com/notes/009/pareto_nbd_derivations_2005-11-05.pdf
This likelihood variant is also more performant because it contains fewer terms.
I don't have a reliable way to preview the math expressions in the docstring with my current workstation setup, so I may need to make a few more editing commits to get them right.

Made some tweaks to the docstring, but still waiting for the changes to propagate in the RTD preview.

Any suggestions on how to get the docstring math expressions to align left? This didn't seem to work when I tried it:
\begin{align*}

\expression goes here

\end{align*}

math expressions to align left

Try:
\begin{flalign}
\expression goes here
\end{flalign}

I finally managed to install pymc=5.0.2. I checked the logp against that of lifetimes and a naive implementation directly from the reference paper and it seems we have a systematic error in our implementation. Here is a gist comparing it: https://gist.github.com/ricardoV94/1cbc915b87e58dd3206d4f3526cdf593

I am not sure if this is helpful, but the best Pareto/NBD fits that I have
had is via CLVTools (https://github.com/bachmannpatrick/CLVTools) in R.  I
think that this is their implementation here:
https://github.com/bachmannpatrick/CLVTools/blob/7b2cebb27895f80a721f632c2f6d6f6c6369fcba/R/class_clv_model_pnbd.R.
They also have static and dynamic covariates implemented. I hope that this
is helpful.
On Thu, Jan 26, 2023 at 6:04 AM Ricardo Vieira @.***>
wrote:

@.**** commented on this pull request.
In pymc_marketing/clv/distributions.py
https://github.com/pymc-labs/pymc-marketing/pull/131#discussion_r1087696502
:

   logp = pt.switch(

       pt.any(

           (

               pt.lt(t_x, 0),

               pt.lt(x, 0),

               pt.gt(t_x, T),

           ),

       ),

       -np.inf,

       logp,

   )

Shouldn't use any to not collapse invalid observations with valid
observations
⬇ Suggested change

   logp = pt.switch(

       pt.any(

           (

               pt.lt(t_x, 0),

               pt.lt(x, 0),

               pt.gt(t_x, T),

           ),

       ),

       -np.inf,

       logp,

   )

   logp = pt.switch(

       pt.or_(

           pt.or_(

               pt.lt(t_x, 0),

               pt.lt(x, 0),

           ),

           pt.gt(t_x, T),

       ),

       -np.inf,

       logp,

   )

—
Reply to this email directly, view it on GitHub
https://github.com/pymc-labs/pymc-marketing/pull/131#pullrequestreview-1270867832,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AH3QQVZPVACIQ3W5OWCPFY3WUJK5VANCNFSM6AAAAAAUEOQDFU
.
You are receiving this because you commented.Message ID:
@.***>

Their implementation seems to be here: https://github.com/bachmannpatrick/CLVTools/blob/7b2cebb27895f80a721f632c2f6d6f6c6369fcba/src/pnbd.cpp#L650-L690

BTYDPlus (https://github.com/mplatzer/BTYDplus /
https://cran.r-project.org/web/packages/BTYDplus/BTYDplus.pdf) also has two
MCMC implementations (Abe/Ma) of the Pareto NBD.
On Thu, Jan 26, 2023 at 6:33 AM Ricardo Vieira @.***>
wrote:

Their implementation seems to be here:
https://github.com/bachmannpatrick/CLVTools/blob/7b2cebb27895f80a721f632c2f6d6f6c6369fcba/src/pnbd.cpp#L650-L690
—
Reply to this email directly, view it on GitHub
https://github.com/pymc-labs/pymc-marketing/pull/131#issuecomment-1404879016,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AH3QQV3GJUTN7NHPVKCZYRLWUJOHJANCNFSM6AAAAAAUEOQDFU
.
 I checked the logp against that of lifetimes and a naive implementation directly from the reference paper and it seems we have a systematic error in our implementation. Here is a gist comparing it: https://gist.github.com/ricardoV94/1cbc915b87e58dd3206d4f3526cdf593

I did my own naïve implementation yesterday with the refactored likelihood expression, and the results matched that of lifetimes. I copy/pasted the code for it in a comment on your gist.
I don't know why, but these scipy and numpy functions are giving different results than the equivalent functions in pytensor.

After a discussion with @ricardoV94, it seems pt.switch was the source of the discrepancies. He provided a fix, and the logp tests are now comparing against lifetimes likelihoods, save for those involving parameter broadcasting, which lifetimes does not support.

After a discussion with @ricardoV94, it seems pt.switch was the source of the discrepancies. He provided a fix, and the logp tests are now comparing against lifetimes likelihoods, save for those involving parameter broadcasting, which lifetimes does not support.

An easy way to make lifetimes broadcast is to wrap it in a np.vectorize function

An easy way to make lifetimes broadcast is to wrap it in a np.vectorize function

np.vectorize isn't happy about the lifetimes likelihood having a parameter requiring unpacking:
File /anaconda/envs/azureml_py38/lib/python3.8/site-packages/lifetimes/fitters/pareto_nbd_fitter.py:204, in ParetoNBDFitter._conditional_log_likelihood(params, freq, rec, T)
    197 @staticmethod
    198 def _conditional_log_likelihood(params, freq, rec, T):
    199     """
    200     Implements equation (18) from:
    201     http://brucehardie.com/notes/009/pareto_nbd_derivations_2005-11-05.pdf
    202     """
--> 204     r, alpha, s, beta = params
    205     x = freq
    207     r_s_x = r + s + x

TypeError: cannot unpack non-iterable float object

@ColtAllen You can add a small wrapper around the lifetimes package to handle the packing:
def wrapper(r, alpha, s, beta, freq, rec, T):
    return lifetimes.ParetoNBDFitter._conditional_log_likelihood((r, alpha, s, beta), freq, rec, T)

vectorized_logp = np.vectorize(wrapper)
vectorized_logp(1, [10, 4], 1, [4, 10], 2, 1.4, 3)

def wrapper(r, alpha, s, beta, freq, rec, T):
    return lifetimes.ParetoNBDFitter._conditional_log_likelihood((r, alpha, s, beta), freq, rec, T)

vectorized_logp = np.vectorize(wrapper)

Thanks; lifetimes comparisons are being done for all logp tests now! I was tempted to make this a pytest fixture, but it seems excessive if it is is only used in a single (albeit parameterized) test.

I run the Jupyter notebook and extended it to sample with PyMC as well as to take draws from the RNG we implemented.
The good news is that the RNG and logp seem aligned as the inferences are aligned with the true parameters used to generate data.
The bad news is that NUTS seems completely useless to sample the cdnow dataset (even when taking draws from the RNG directly). It could be that this set of parameters is specifically bad. I had to disable jittering in the init method, otherwise the sampler would start at some points where the gradients would fail to converge immediately. Even without jittering, it was taking way too long to sample, suggesting very high tree depth or still too many iterations in the gradient methods :/
The find_MAP is also quite slow (maybe 30s-1min to fit)
Perhaps more informative priors would have helped, but I didn't bother to try.

What  may help: If the bottleneck is really the speed of the hyp2F1 derivatives we can try to: 1) compute the multiple derivatives together, and 2) jit it with Numba


feat: Removing watchers from cached views

Type: feat
Platform: all
Type: feat
Platform: all
I have noticed that watchers are not removed from cached views. There is no need to keep watchers from views your are not currently using. It just make the digest cycle slower for no purpose.
I have done something similar in the past I could give it a try if you think it is worth trying. I think it will give a great performance enhancement.
Cheers,
Julien

Greetings @shprink!
My sensors indicate that you need to update your issue through our custom issue form. We are now requiring all issues to be submitted this way, to ensure that we have all of the information necessary to fix them as quickly as possible.
Click Here To Update Your Issue
I will have no choice but to close this issue if it is not resubmitted through the form. Please fill out the rest of the form, so that I may use my friendly robot powers to assist you.
Thank you!

Scope of the cached view is disconnected from the hierarchy. So, $rootScope.$digest() won't iterate through the disconnected scope's watchers. So, the digest cycle timing is not affected.

Greetings @shprink!
I've closed this issue because my sensors indicated it was old and inactive, and may have already been fixed in recent versions of Ionic. However, if you are still experiencing this issue, please feel free to reopen this issue by creating a new one, and include any examples and other necessary information, so that we can look into it further.
Thank you for allowing me to assist you.


No disc levels in the AMU template: could be a problem

consider adding a label files for disc levels

Please consider adding the AMU7T_levels.nii as well (following our discussion .. and see amubox for downloads). Thanks!

Thanks for this update @vcallot
Description
Currently the AMU7T template is using the PAM50_levels file for registrations, and now @vcallot  provides us with a AMU7T_levels file.

AMU7T_levels is more adjusted to AMU7T template (see animation 1).

Animation 1: Comparison of PAM50_levels and AMU7T_levels

Experiments : Registration using each levels files separately

Test subject: available https://github.com/spinalcordtoolbox/template_AMU7T/tree/main/code
After a  registrations using PAM50_levels  and AMU7T_levels  on the Test subject , results on animation 2:

Animation 2:

There is a better registration of AMU7T_levels mask.
Now, if we look at the template2anat files generated by using PAM50_levels and AMU7T_levels (see animation 3).
Animation 3:

I find small differences in the dorsal horns.
So I will create a PR to replace PAM50_levels by AMU7T_levels.


[Bug]

Is there an existing issue for this?

[X] I have searched the existing issues

Have you updated FilePond and its plugins?

[X] I have updated FilePond and its plugins

Describe the bug

I think this image is the best description of the problem.
When I click outside on the inner label area (purple sides) it opens window twice, right after you pick a file or close first window, opens another one. When I click directly at label area (blue center) it opens only once.
Not sure what can cause this problem?
[Update]
My current fix is:
.filepond--drop-label > label {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

Reproduction
Click outside of the inner label
Environment
- Device: Lenovo Ideapad gaming
- OS: win 11 (don't even ask me)
- Browser: chrome

Can you reproduce this on the FilePond website?

Will close for now, will re-open if is not caused by external libraries or css, please note subject is missing.


[BUG]On iOS some pictures are not displayed

Describe the bug
On demo instance on iOS some pictures are not displayed.
On home page there are no pictures at all.
On category page there are no pictures of some products.
On product page:

distance between logo and product picture is too big
-product picture overrides the price
in section 'Share your look' some pictures are not displayed

Steps to reproduce:

go to homepage on iOS
see the error
go to any category page
see the error

Additional context
Home page:

Category page:

Product Page:

Picture that are not shown are in .webp format which is not yet supported in iOS
https://caniuse.com/#feat=webp
I guess this issue stands tall for other browsers as well


Link authors profile on blog posts

Requires a test ==> if the profile exists then link to the profile otherwise link to the members page.


Migrate gem to inherit from metanorma-generic

Adding doctype abbreviations to generic, to generate CC identifier.


Unify mfargs and function types with the help of an apply function

@josevalim can you expand on this a bit?

Today we have both MFAs and functions types, I think it should be a single type and we have:
def apply({m, f, args}, extra), do: apply(m, f, extra ++ args)
def apply(fun, extra), do: apply(fun, extra)


Directly as an Addon for Home Assistant?

Hi @mtrossbach,
would it be possible to make these as an Addon for Home Assistant?
Supervisor Addons are also Docker Container, so it could run on the same Hardware

Hi @acidburn78,
Great news! I've created a Home Assistant add-on for this project. You can find it in the repository https://github.com/mtrossbach/hassio-addons.
Please note that the add-on is currently under construction and will be updated with better metadata and documentation in the next days. I would appreciate it if you could test the add-on and let me know how it works for you.
Thanks for the suggestion and support!


Source License?

I don't see a license on this repo. Can you specify one?

Ok. See https://github.com/chrisparnin/autogit/commit/9b1e4f5ea5e1dc496545b95000289ce5c0998e72


Messages are moved to the wrong folder when using the mouse and the "Move to" dropdown

I often use move message shortcut. If I press the shortcut and then type a few letters to filter the list, but then use the mouse to click an entry in the list, the message does not move to the selected folder, but instead goes to a different one.
If using the keyboard to navigate and select, the message always moves to the correct place.
Here is another report of the same behavior: https://addons.mozilla.org/en-us/thunderbird/addon/nostalgy/reviews/717458/
Nostalgy 0.2.33.

I just discovered the same issue today on TH 60.6.1 (32bit, on windows 10). I once was afraid messages had been deleted, actually as rocketraman mentioned, they are moved to some other folder when using the mouse.
A fix would be so much welcomed. This extension is marvellous.

This had also been reported in #15 before.
However, I couldn't reproduce this with 0.3 and TB 68 just by pressing the shortcut, typing a few letters and selecting an entry with the mouse (the message was moved to the right folder).
If this issue is still occurs, there must be some (rare?) condition that triggers this behavior.
If you encounter this issue, please report the following information:

What action did you use (goto / move / copy)?
Did you use the mouse exclusively or did you also use the keyboard arrows?
Did you notice any patterns (e.g. window size/position OR number of suggested folders OR position of the chosen folder in the list OR specific folders) when this problems appears more often?
Did the "wrong folder" also match the search pattern? Was the "wrong folder" part of the recent folders (which appear when pressing the action key, before typing a search term)?


Upgrade wdio to v8

Description of changes:

Upgrade wdio to v8
Bump version to v8.0.0-rc
Update project to ESM
Emit both CJS require and ESM import
Fix lint

Testings:

Ran the example test:

npm run example

><EMAIL_ADDRESS>example
> npx wdio ./example/wdio.conf.js
Execution of 1 workers started at 2023-05-24T08:24:59.996Z

[0-0] RUNNING in chrome - file:///example/devicefarm.test.js
[0-0] PASSED in chrome - file:///example/devicefarm.test.js

 "spec" Reporter:
------------------------------------------------------------------
[chrome 113.0.5672.127 windows #0-0] Running: chrome (v113.0.5672.127) on windows
[chrome 113.0.5672.127 windows #0-0] Session ID: 68235ef7daadab653c3c17e5f8e7388a
[chrome 113.0.5672.127 windows #0-0]
[chrome 113.0.5672.127 windows #0-0] » /example/devicefarm.test.js
[chrome 113.0.5672.127 windows #0-0] webdriver.io page
[chrome 113.0.5672.127 windows #0-0]    ✓ should have the right title
[chrome 113.0.5672.127 windows #0-0]
[chrome 113.0.5672.127 windows #0-0] 1 passing (8.7s)

Spec Files:      1 passed, 1 total (100% completed) in 00:00:55

Ran the lint command:

npm run lint

><EMAIL_ADDRESS>lint
> eslint -c .eslintrc.cjs --ext .ts .

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

LGTM but tests are failing 💔

Thanks for helping me with the unit tests 💐!


Feat:Add Google Language Translator

Describe the feature
One challenge I've noticed is the language barrier that many readers face when exploring books and content in different languages. To make the platform more inclusive, adding the Google Language Translator can effortlessly translate book descriptions, reviews, and other content into your preferred language. This makes SwapReads.com a more welcoming and accessible place for book lovers around the world, breaking down language barriers and enriching the reading experience for everyone.
Add ScreenShots
NOT REQUIRED.
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

@anuragverma108 kindly look at this specific feature request!

Assigned! @codercake ! but make sure it must be user friendly and good designed!
also
Make sure to attach before & after screenshots in your PR and include the issue number.
i am the project mentor so you can always reach out to me for any need!!
Also,
please star the repo and do share on socials before working on it.
Happy open-source contributing!


Add ability to specify defaults using environment variables.

Hey, I noticed on your TODO you wanted to provide the option for users to specify the default languages. Well, I guess this isn't quite what you wanted, but I added the ability for users to use environment variables to set defaults. I didn't want to change too much code in this commit, so I kept it simple.

Alright, I changed them. It’s funny, I knew environment variables should be all caps, but I wanted to double check I was right, and then I misread a Stack Exchange answer and... 🤷♂😂


Viewdocs links to example CI config files not resolving - was "docs missing example circle.yml"

Would like to use testcontainers in my Circle CI build, checked the docs for assistance. They include a link to an "example circle.yml". This link leads to a 404.
Is there an existing example circle.yml for reference? Thanks.

Hi @ags799 - sorry for the slow response. Sorry that the viewdocs link isn't resolving. The file that it's supposed to point to is this one: https://github.com/testcontainers/testcontainers-java/blob/master/circle.yml
It looks like the links in the docs index file need to be fixed to resolve files correctly in both Github and Viewdocs. Thanks for flagging this.

Thanks @rnorth. I can get my testcontainers setup running on Circle now.
This is the line I had to add to get testcontainers working on Circle. Do you mind explaining what that line does? Would be much appreciated.

The link works now, so I'm closing this issue, but feel free to ask questions :)


[Feature] Support for TimeEntries parameters

Thanks for providing the tap.
However, the current TimeEntries stream only returns the time tracking data of the calling user for the past 30 days. According to my data warehousing use case, I need the time-tracking data for all users for a longer period.
To get all (older than 30 days) time tracking data for all users the parameters assignee and start_date are required. Also, the include_location_names is necessary for getting additional details.
Currently, I am doing the following to get the data,
name = "time_entries"
path = "/team/{team_id}/time_entries?start_date=1631743200000&include_location_names=true&assignee={userIds}"

Is it possible to set the parameters mentioned above via the configuration?
If not, it would be great to have a feature for the TimeEntries stream, where the parameters mentioned above can be passed through the configuration.

Thanks for the issue @sayansha!
Yes your method looks better as it'd get all time entry history as you've said
To implement this I think we'd need to look at two things

How do we get {userIds} to the time_entries call

With https://github.com/AutoIDM/tap-clickup/blob/main/tap_clickup/schemas/team.json#L49 membership looks to be available in the teams parent so we should be able to give this data to child streams of team
Extend this  code to return a ["userIds"] list in the dict
In time_entries copy the get_url_parmeters function here https://github.com/AutoIDM/tap-clickup/blob/main/tap_clickup/streams.py#L241-L252 and modify it to include just the needed assignees.

Pagination on the time_entries endpoint

 (I'd assume it'd paginated, this is pretty easy copy https://github.com/AutoIDM/tap-clickup/blob/main/tap_clickup/streams.py#L271 and do `if recordcount == 0: newtoken = previous_token + 1 else: None`

start_date we probably want this to be incremental as I'd assume time entries has a lot of data for most folks. So we should copy the Tasks stream's implementation where we can. That will get us the starting_start_date but we'll need to dive into the Clickup API docs to see which field we should use to track as a replication_key for the teams stream and how we should adjust the get_url_parameters to track this properly.

I'm welcome to PRs if you have the time @sayansha


move ubuntu demo to standalone folder under gcp and add GCP tutorial …

Updated folder structure to move GCP Ubuntu demo into subfolder
Added screenshots to help new GCP users create project, enable API access, and create account key

These should be addressed.


Define Metronome build pipeline in Jenkinsfile.

in general we are moving everything from travis to jenkins?

in general we are moving everything from travis to jenkins?

Seems like it.


New folder navigation makes it impossible to delete empty file

Issue Type: Bug

Inside the workspace, create a few folders inside each-other. For example, mkdir -p foo/bar/baz. foo/bar/baz shows up as a single entry in the File Explorer pane, which is pretty awesome.

Navigate to either folder in the File Explorer by focusing it and using the arrow keys.

Try to delete it by pressing the Delete key.

Expected result: The folder is deleted, possibly after a dialog asks me if I really want to.
Actual behavior: An error message is shown stating "Cannot read property isDirectory of undefined."
 Here's what my debugging showed

ExplorerView#getContext returns an array with the same element twice
In the deleteFiles handler, resources.distinctParents returns an empty array, I think it isn't expecting the same element multiple times and both are filtered out
Then it fails here


Resnet50 implementation Problem

Hi,
My own dataset for used Resnet50 backbone model. But run  train.py by implementation error:
File "/Users/servercalap/tf-retinanet-master/tf_retinanet/bin/../../tf_retinanet/utils/init.py", line 20, in import_package
raise Exception(name + ' is not present in ' + package_type) from e
Exception: tf_retinanet_backbones is not present in tf_retinanet_backbones
Thank you , helping me.

Read through Readme and install the backbone first https://github.com/fizyr/tf-retinanet-backbones-resnet

Thank you @Jakedismo .

Hi,
I get the same error, installing the backbone first didn't solve the problem ...
I am running on colab, here's what I did so far according to the resnet-backbone README and what @Jakedismo said :
!cd tf-retinanet-backbones-resnet-master/
!python setup.py install --user
!cd ..
then
!cd tf-retinanet
!python setup.py install --user
!cd ..
and finally running train.py with the config file given in conf folder :
!python tf_retinanet/bin/train.py --config conf/train.yaml.complete
and I get :
File "tf_retinanet/bin/../../tf_retinanet/utils/__init__.py", line 20, in import_package
  raise Exception(name + ' is not present in ' + package_type) from e
Exception: resnet is not present in tf_retinanet_backbones

Thank you for helping me


FileNotFoundException when using net472 (or other full net)

I am attaching simple example project for net472 and netcoreapp2.1.
TestOrTools.zip
Run under netcoreapp2.1 is ok, run under net472 throws exception.
There is a problem is with copying dlls to output for net472 (netcoreapp2.1 doesn't need them in output, on publish runtime folder is created).
Does it mean that net472 is no longer supported or it is a bug?

https://github.com/google/or-tools/issues/900#issuecomment-432944651

I tried that solution and it doesn't work.

Even if I add NuGet package Google.OrTools.runtime.win-x64 manualy, it doesn't work.


[BEAM-1792] Changing Spark to use MetricFiltering

[x] Make sure the PR title is formatted like: [BEAM-<Jira issue #>] Description of pull request
[x] Make sure tests pass via mvn clean verify. (Even better, enable Travis-CI on your fork and ensure the whole test matrix passes).
[x] Replace <Jira issue #> in the title with the actual Jira issue number, if there is one.
[x] If this contribution is large, please file an Apache Individual Contributor License Agreement.

Changes Unknown when pulling a1a5ddc7c63b1e8d6740d41bdfcec21e303aacb8 on pabloem:fix-spark-filtering into ** on apache:master**.

r: @aviemzur
hi Aviem. Can you take a look? It's a fairly simple change.

Run Spark RunnableOnService

Coverage increased (+0.003%) to 70.102% when pulling ca5aec94c75c2816fdf7ffd4852cfa86c2a79aec on pabloem:fix-spark-filtering into 5903e6994875b671e31a2a53c1a9102859eaf022 on apache:master.

@aviemzur the build is fine now, it seems. If it looks fine to you, could you merge it? (If not, I can ask Ben, just let me know if the changes look okay ;)

It looks great!
Our build is still broken. We have a fix in https://github.com/apache/beam/pull/2314. After that is merged we can run the Spark tests again here and when they are green I'll merge.

Hi @pabloem
#2314 has been merged, so we can now properly test your PR.
Can you please rebase on top of master and push to this branch?

Coverage increased (+0.006%) to 70.17% when pulling fb0e99d5044449ec338203dda547bd5eba130ba4 on pabloem:fix-spark-filtering into 61fad2a668536e957fff5fdf250f327932de7d7a on apache:master.

Run Spark RunnableOnService

LGTM


Adds OffsetArray support

Resolves #79

Because this one bumps the version, I'll tag a new release.

Comments on pull requests will not trigger Registrator, as it is disabled. Please try commenting on a commit or issue.

Comments on pull requests will not trigger Registrator, as it is disabled. Please try commenting on a commit or issue.


make the redis pool size configurable (and also therefore more consis…

…tent across the different types of redis)

Lgtm

Thanks!


[Doc Improvement] Add Compose version being used in library

I think it would be interesting to add directly to the README/docs a quick guide to the Compose version used in the library version, just like it is done in Accompanist. Looking at releases it is sometimes not clear which version of Compose is being used.

Hey @jsericksk, this is a really great point. Let me improve the docs when I have a moment soon. Thank you!

@jsericksk The version map documentation has been added: https://skydoves.github.io/landscapist/version-map/
I hope this works well for you. Thanks for reporting this issue!


french random name generator

Your task create an original french name generator.
You can follow the structure of the English one that you found in the front-quasar\wiki-adventure-quasar\src\store\globalForm\randomPseudo\lang\english.ts folder.

I'll take this one. @Sacramentix ;)

I'll take this one. @Sacramentix ;)


Filter $output after render and before it is cached

I use the timber/output filter to modify output after it has been rendered. I can see that this filter is applied to Timber's output after the output has been cached. Therefore the filter will be run every time, regardless if the original output is cached or not.
This is great for filters that dynamically change content; however for deterministic filters it's a bit inefficient. In my specific case I use timber/output with a HTML minification library to clean up whitespace; obviously if the un-minified output is already being cached it seems inefficient to not also cache the minified render.
Could an additional filter for $output be added immediately after the template is rendered, and before the cache is set? Perhaps something like timber/output/pre-cache

Hi @jl-a , thank you for your issue and welcome at Timber. Please fill in the full issue report next time so we know what we're working with. But in this case you seem pretty sure where a changes has to be made. Would you like to create a Pull Request to add this filter?


Fetching tables and views also fetch metadata tables

Hello, I was testing the 2.2.4-SNAPSHOT version of the connector, and noticed that I have issue with what I am fetching compared to what I am expecting to fetch.
So to be quick, I am opening a connection using DriverManager.getConnection(MY_PARAMS_HERE).
I use the connection to getMetaData() and then getTables() (all method from java.sql DatabaseMetaData interface)
So the result is that I am fetching metadata about my tables and views, but also what seems to be structural tables, namely :
query_history
running_queries
cache
columns
databases
engines
indexes
running_pipes
service_account_users
tables
Those seems to be metadata tables from Firebolt, and usually with the getTables in other jdbc you only get your own tables and views. Is it an expected behavior or should I use another technique to only get my own tables and views ?

Hi @sebobr,
It is because you are getting the tables from all the schemas (but you only need the ones with the schema 'public'). You can specify a schema pattern in order to receive the tables you want.
It is an expected behavior (eg, I just tried the following with Postgres and I also receive the tables from other schemas)
connection.getMetaData().getTables(null, null, null, null )
The following should work:
connection.getMetaData().getTables(null, "public", null, null)

Okay, I didn't realize the tables where located on this schema. It works fine, thanks !


Included in builtin telescope picker

It would be great if this telescope extension appear in :Telescope picker.
I personally use one mapping for :Telescope so I don't have to remember all the key maps for each :Telescope anything and typing :Telescope projects is pretty slow.
I'm trying to search for same issues in telescope and this is what I found
https://github.com/nvim-telescope/telescope.nvim/issues/925
https://github.com/nvim-telescope/telescope.nvim/pull/953

Nevermind, I found the options include_extensions when call :Telescope builtin. I just have to include it to my mapping
map {'n', '<C-p>', '<cmd>lua require("telescope.builtin").builtin({include_extensions=true})<CR>'}
-- or
nnoremap <C-p> <cmd>Telescope builtin include_extensions=true<CR>


update tmpfiles.sh to match systemd changes

This was merged some time back; I'm not sure why it wasn't closed.


Paginate data

It would be nice if the API could return the data in pages (say 20 characters per page). This way it might be easier to load them on mobile apps.

Done in #2


why bias Variable are created by tf.variable instead of tf.get_variable?

Hi, these variables in 4 Convs & 1 Dense layer across different tasks and different train/test modes are shared by tf.get_variable function.
However, I noticed that you use tf.Variable for all bias Variables. Will these lines create new bias variable when being called each time?
weights['conv1'] = tf.get_variable('conv1', [k, k, self.channels, self.dim_hidden], initializer=conv_initializer, dtype=dtype)
weights['b1'] = tf.Variable(tf.zeros([self.dim_hidden]))

There are two ways to create variables. Either function could be used, and
they do the same thing.
This repo is not the place to ask questions about tensorflow.
On Thu, Apr 19, 2018, 8:40 PM Jackie Loong<EMAIL_ADDRESS>wrote:

Hi, these variables in 4 Convs & 1 Dense layers across different tasks and
different train/test mode are shared by tf.get_variable.
However, I noticed that you use tf.Variable for all bias Variables. Will
these lines create new bias variable when being called each time?
weights['conv1'] = tf.get_variable('conv1', [k, k, self.channels, self.dim_hidden], initializer=conv_initializer, dtype=dtype)
weights['b1'] = tf.Variable(tf.zeros([self.dim_hidden]))
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/cbfinn/maml/issues/30, or mute the thread
https://github.com/notifications/unsubscribe-auth/ABMlAf84QIhPSEfsv87Hlqph5rxqLeG7ks5tqVixgaJpZM4Tc0qg
.


Im trying to send message from server to client by wss. Clients can not parse the message

before I use boost tls, it works fine. Then I add TLS on websocket followed by the 1_66_0 example.
Server keeps sending same messages to client. One or two messages can not get parsed by protobuf, others can get prased. All of the mssages are same
will TLS mess up with the bytes ?
this is how the server sends message
sendMessage( const std::string& serializedMessage )
{
    _mtx.lock();
    if( this->_isConnected )
    {
        if( this->_isWriting )
        {
            this->_messageQueue.push( serializedMessage );
        }
        else
        {
            this->_isWriting = true;
            _webSocket.async_write(
                    boost::asio::buffer( serializedMessage ),
                    std::bind(
                            &Session<MsgBaseRcv, MsgUtilsRcv, MsgBaseSend, MsgUtilsSend>::onWrite,
                            this->shared_from_this(),
                            std::placeholders::_1,
                            std::placeholders::_2 ) );
        }
    }
    _mtx.unlock();
}

this is how client receive message
onRead( boost::system::error_code error, std::size_t bytesTransferred )
{
    if( _isConnected )
    {
        boost::ignore_unused( bytesTransferred );
        if( error )
        {
            onClose( error );
            fail( error, "read" );
        }
        else
        {
            doRead();

            std::ostringstream os;
            os << boost::beast::buffers( _buffer.data() );
            std::string serializedMessage = os.str();
            _buffer.consume( _buffer.size() );
            deserializeMessageAndPassToSessionHandler( serializedMessage );
        }
    }
}

Are you setting the message type to binary ?

yes. in run function
run()
{
    _webSocket.binary( true );
...........
}

And how are you making sure that the lifetime of the serializedMessage string extends until the async_write operation is complete?

I check the size of serializedMessage received. the size is right
so how can I know when the message sent completely? is there any callback can let me know in boost library?

Yes the size will be right because websocket::async_write looks at the string before the initiating function returns. But you are not doing anything to ensure that the lifetime of the parameter extends until the completion handler is finished.  You could just always put the string in the queue:
sendMessage( const std::string& serializedMessage )
{
    _mtx.lock();
    if( this->_isConnected )
    {
        this->_messageQueue.push( serializedMessage );
        if( this->_messageQueue.size() == 1) // first time
            _webSocket.async_write(
                    boost::asio::buffer( this->_messageQueue.front() ),
                    std::bind(
                            &Session<MsgBaseRcv, MsgUtilsRcv, MsgBaseSend, MsgUtilsSend>::onWrite,
                            this->shared_from_this(),
                            std::placeholders::_1,
                            std::placeholders::_2 ) );
    }
    _mtx.unlock();
}

However, you have another little problem. If your standard library uses the "small string optimization" (and most of them do) then the buffer for the string might be inside the message rather than in dynamically allocated memory. See:
https://shaharmike.com/cpp/std-string/
You have some choices here. Instead of using vector<string> you could use vector<pair<size_t, unique_ptr<char[]>>>. Or you could use vector<shared_ptr<string>>. There's a Beast example which does something similar to your code, perhaps you could copy it:
https://github.com/boostorg/beast/blob/55fd67b8740d79ec63e6c17107d447db7c9a3082/example/websocket/server/chat-multi/websocket_session.cpp#L103

Nice!!! thanks for your help!!!!


InlineCssPostProcessor overwrites default tag styles

Since v4 the new InlineCssPostProcessor causes the default styles defined by mjml-net to be overwritten. I believe its caused on this line:
https://github.com/SebastianStehle/mjml-net/blob/4aa0c64f46df824c0e96fc19232c690e9cdc780a/Mjml.Net.PostProcessors/InlineCssPostProcessor.cs#L37
From what I can tell this more or less ignores all styles defined on the style= attribute. For example calling element.GetAttribute(TagNames.Style) will correctly return me word-break:break-word. Otherwise with the current implementation the whole InlineCssPostProcessor causes the whole HTML to be more or less broken.
Would be awesome if you could take a look at it :). Also thanks for maintaining this library, it's awesome!

Hi,
what do you mean with "default" styles?

Things such as these https://github.com/SebastianStehle/mjml-net/blob/4aa0c64f46df824c0e96fc19232c690e9cdc780a/Mjml.Net/Components/Body/ColumnComponent.cs#L223
I came to this conclusion, as texts in my email which are longer than 600px now overflow way outside their container. I then noticed that for example word-break: break-word is no longer present in the html at all when upgrading to v4.

Good point, I think it is easy to fix. Just don#t overwrite styles that already exist I guess (except they are important)

@SebastianStehle I already gave it a shot with:
private static void InlineStyle(IElement element, IStyleCollection styleCollection)
{
    var currentStyle = styleCollection.GetDeclarations(element);

    if (!currentStyle.Any())
    {
        return;
    }

    var style = element.GetStyle();

    foreach (var property in currentStyle)
    {
        style.SetProperty(property.Name, property.Value, property.IsImportant ? CssKeywords.Important : null);
    }

However, I still had the issue that element.GetStyle() won't contain the word-break: break-word property 🤔

Weird, perhaps there is another method that helps?

I am not sure if I understand the bug tbh. I have this test:
<mjml-test>
  <mj-head>
    <mj-style inline=""inline"">
      .red-text div {
        color: red !important;
        font-size: 1.5rem;
        font-weight: light;
      }
    </mj-style>
  </mj-head>
  <mj-body>
    <mj-raw>

    </mj-raw>
  </mj-body>
</mjml-test>

Here font-weight is not overriden. Because GetDeclarations actually calculates the styles in the correct logic. How would that override styles from mjml?

@SebastianStehle look at this modified variant of the the test
    [Fact]
    public async Task Should_render_inline()
    {
        var source = @"
<mjml-test>
  <mj-head>
    <mj-style inline=""inline"">
      .red-text div {
        color: red !important;
        font-size: 1.5rem;
      }
    </mj-style>
  </mj-head>
  <mj-body>
    <mj-raw>

    </mj-raw>
  </mj-body>
</mjml-test>
";

        var (result, _) = await TestHelper.RenderAsync(source, new MjmlOptions
        {
            PostProcessors =
            [
                AngleSharpPostProcessor.Default
            ],
            Beautify = true
        }, helpers: [new StyleHelper()]);

        AssertHelpers.HtmlFileAssert("Components.Outputs.StyleInline.html", result);
    }

I just added the  word-break: break-word; style, which I guess simulates what this does: https://github.com/SebastianStehle/mjml-net/blob/4aa0c64f46df824c0e96fc19232c690e9cdc780a/Mjml.Net/Components/Body/ColumnComponent.cs#L223
And the test is still green! I can also verify that word-break: break-word; is no longer present in the result.Html`.

For me it looks like it just ignores most CSS properties.

I have tried to debug it in AngleSharp and created a bug report there. Lets see what happens

@SebastianStehle Thank you very much. :)


[FLINK-924] Add automatic dependency retrieval for JarFileCreator

This improvement sets the package of user code as default package and let user to specify additional packages to be scanned.
Tested with inner class, anonymous class and additional package.
The current API could be used like:
JarFileCreator jfc = new JarFileCreator(jarFile);
jfc.addClass(X.class).addPackage("com.project").createJarFile();

Hi @qmlmoon,
sorry for the long wait on this PR. Could you please rebase on top of the current master and also get rid of the merge commits in the process?

I rebased the PR on the current master and removed the annoying merge commits.

Thanks for working with this on me. Very nice contribution. :smile:

Very good!
Is there a way we can integrate this deeper with the remote environment? Something like env.autoCollectDependencies() and then it internally build the jar by itself?


Select all checkbox does not check if all checkboxes in the table row are checked

Hello,
Is there a way to make the select all checkbox in the header checked without clicking it if all checkboxes in the table rows are checked?

Hello, Is there a way to make the select all checkbox in the header checked without clicking it if all checkboxes in the table rows are checked?

Hi, @lloyde04102000
Yes, you can reference this example to implement it.
<template>
  <button @click="doCheckedAll">Checked all</button>
  <table-lite
    ref="tableLiteRef"
    :has-checkbox="true"
    ...something...
    @return-checked-rows="updateCheckedRows"
  ></table-lite>
</template>
<script>
    // ...something

    const tableLiteRef = ref();
    const doCheckedAll = () => {
      tableLiteRef.value.setting.isCheckAll = true
    }

    return {
      // ...something
      tableLiteRef,
      doCheckedAll,
    };
</script>

Thank You for your response @linmasahiro. This is good. However, if the header select-all checkbox is checked, then if I am going to uncheck one of the checkboxes in the table row, it remains checked. Can we do something about it?

However, if the header select-all checkbox is checked, then if I am going to uncheck one of the checkboxes in the table row

It's easy, delete tableLiteRef.value.setting.isCheckAll = true and add
tableLiteRef.value.rowCheckbox.forEach(element => {
  element.checked = true;
});

to doCheckedAll , it's to checked all checkboxes but  header select-all checkbox not to active.

Hi, @lloyde04102000  , is this issue resolved now? :)


Databases need consistency check after compilation

The DBs are structurally fine, but Notes demands a consistency check before using them.

This is just when the DB is filesystem-copied to a server, and not a big deal.


Video captioning model finetuning

Your text gives examples of neural network training for image captioning, but no examples for video captioning. Can you give a code example to solve this problem?

you can pay more attention to the following function
https://github.com/microsoft/GenerativeImage2Text/blob/e1d90a2425e6f4c3e83e6689862b955e0029cbcc/generativeimage2text/train.py#L209
This is for image. For video, the image fields should contain a list of images, instead of one image. That is
https://github.com/microsoft/GenerativeImage2Text/blob/e1d90a2425e6f4c3e83e6689862b955e0029cbcc/generativeimage2text/train.py#L62
Note that, the model can process multiple images, and the code is already in the code.
https://github.com/microsoft/GenerativeImage2Text/blob/e1d90a2425e6f4c3e83e6689862b955e0029cbcc/generativeimage2text/layers/decoder.py#L847
I will keep this in mind and add an example about this when there is bandwidth, but it should be easy to set it up based on the code. Also, feel free to pose any issue when you integrate it.


Set DNS search suffix list in pause container

Is this an ISSUE or FEATURE REQUEST? (choose one): Issue

What version of acs-engine?: master as of 10/23/2018
Orchestrator and version (e.g. Kubernetes, DC/OS, Swarm) v1.12.1
What happened:
Windows containers do not get the full DNS search suffix list set today, just the one for their immediate namespace.
One step that may be needed is updating the kubeletwin/pause container to initialize the DNS search list inside the pod once its running. That container is built here:
https://github.com/Azure/acs-engine/blob/c2b18b66ccfe591ae2c2df38a086cdafcce940a5/parts/k8s/windowskubeletfunc.ps1#L157
This is somewhat related to https://github.com/Azure/azure-container-networking/issues/245 . That fix works on Windows Server 2019, but extra workarounds may be needed on 1803.
@daschott is checking into this and his team will either write a PR, or recommend closing this if another workaround is found.

@nagiesek @dineshgovindasamy this is to track programming the DNS suffix search list correctly in RS4.

pinging @nagiesek @dineshgovindasamy - any updates? I'm tracking this as conformance blocking. We need to know if the change is in the pause container, or if we need a new issue in Kubernetes/Kubernetes instead.

@PatrickLang Even after programming SearchList correctly, it appears as though dig isn't honoring it. (though Resolve-dnsname & curl works correctly). We need to double-check that this isn't related to https://github.com/kubernetes/kubernetes/issues/70189

We have a workaround that can be documented for Windows Server version 1803. Fixed in Windows Server 2019


Enable yasgui.org/shorten for other domains?

Is it possible to make the urlshortner of yasgui.org available for other domains? I tried this at http://data.admin.ch/sparql/ and except of a empty answer from yasgui.org it seems to work.

Just curious: why would you prefer the yasgui shortener over other shortener services?

Ah, there seems to be a miss understanding on my side. Which other services could be used for this?

There are a few other services such a bit.ly or the google shortener. I tried some of these, but noticed that their use is a bit cumbersome (e.g. not supporting cors, without an API key).
So, I just removed the cors limitation of the yasgui shortener (see https://github.com/OpenTriply/YASGUI.server/commit/d38f4f69d4a942e6ed9c4a33b26bee30c6479538). I see you're instance works fine now

Genius! Thank you very much.


Support Prefer: return=representation

🚀 Support Prefer: return=representation
When inserting, updating, or deleting records via PostgREST, you can send the Prefer: return=representation header, which will return the object that was written.  This is especially helpful when you create new records and need the id that was generated by the database.  Currently, the promise returned by post, patch and delete is Promise<void>, but having a return such as Promise<{data: any}> would be great if the representation (or any of the specific columns specified via the query select=id syntax) would be available.
You can see more about the Prefer options here: http://postgrest.org/en/v7.0.0/api.html#insertions-updates
Motivation
Right now if I create a record, I am unable to get database generated columns, such as the id.
Example
(async () => {
  const {data} = await postgrestClient
    .select(["id"])
    .post("/tasks", {"name": "get this working"}, {return: "representation"});

  console.log(data.id);
})();

Pitch
This would make it possible to get return values from PostgREST.  Also, when you want to add support for stored procedures via the /rpc path, it would be easy, as you can use the same capabilities to return values from the stored procedure call.

Sorry for the late answer, I will add it today ;)


Theming/Provider not working

So this is an extension of my last issue:
It seems that the Provider component, or theming in general has stopped working since last update.
Ive been looking through the styled-system and rebass docs to see if im missing an obvious change but I cant find one. (I'm new so may be missing something obvious, if so sorry)
Please let me know if im overlooking something, or just need to wait for a fix :)
edit: Ok nvm, using string values in the breakpoint section of the theme has fixed the issue. This wasnt required before (as integers were just treated as pixel values)
Not sure if this was intended so ill just leave this issue up for now.

That was an unintentional change due to bumping the styled-system version


Display Quiz Count on User Profile

User View, Quiz Count (Iteration 3) [Story Points: 3] - A user would like to see their total quizzes played count to increase after they play a quiz.
Has the user viewed their profile and checked their Quiz Count?
-> True: The user navigates to the quiz page, plays any of the available quizzes, then returns to their profile.
-> False: The user navigates to their profile to make note of their current Quiz Count then navigates to the quiz page, plays any of the available quizzes, then returns to their profile.
The user sees that the Quiz Count integer has increased by 1.

Closed with #87


Update documentation for v0.8.1

Now, euphony v0.8.1 has published in maven central.
refer to https://search.maven.org/artifact/co.euphony.lib/euphony/0.8.1/aar

v0.8.1 description :  https://github.com/euphony-io/euphony/discussions/207
v0.8.1 release note : https://github.com/euphony-io/euphony/releases/tag/v0.8.1

From this, we can import v0.8.1 in build.gradle easily.
dependencies {
    implementation 'co.euphony.lib:euphony:0.8.1'
}

I updated markdown documentation below.

README.md
PREREQUISITE.md

@yeonns thanks for your detail review :)
let me merge it!


Please change the name of the repo to greenlight

@WadeBarnes - please change the repo name to greenlight and let us know when it is done. I'll make the updates to the various docs once that's done.  I assume you will also have to update various OpenShift scripts to make this happen - or at least make the changes soon after.
Thanks

Rename complete

@WadeBarnes - back to you to deploy greenlight on OpenShift.  I ran a local test with docker-compose and it worked fine, but you need to verify it deploys on OpenShift as appropriate. Once done, please assign to Emilliano to load data.
@esune - this ticket will go to you after the deployment to load the test data into the OpenShift deployments.  I renamed the test data load folders and files, as well the schema names.
Note that I changed other repos (von-network, TheOrgBook, von-agent-template, von) but I don't think any of those have any test impacts.  I'll keep trying them to ensure there is no impact.

@swcurran: @WadeBarnes and I agreed I'll get the new deployments going as well, so I can do everything at once.

The environments have been refreshed and test was reloaded. All the URLs referencing dflow have been removed as now greenlight is the official name.
@jljordan42, @swcurran: the DNS entries pointing to http://dev-dflow.orgbook.gov.bc.ca and http://dflow.orgbook.gov.bc.ca can now be removed.


Allow systemd to mask postgresql service file

When masking the postgresql service with systemd a symlink pointing to /dev/null will be created at /etc/systemd/system/${service_name}.service
This pull request is to ensure Postgresql Puppet module to not try to undo the masking by removing the symlink.

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


release: v1.7.5

[1.7.5] (Aug 1, 2024)
Fix:

Fixed a bug where directly managing the widget open state caused a disconnection after 3 minutes and prevented reconnection.

/bot create ticket

[Creating Ticket] 🔖 Done https://sendbird.atlassian.net/browse/SDKRLSD-1364


Feed ember-collection with store.query result

I fetch a list of ingredients using this computed property:
results: Ember.computed('searchQuery', function() {
  return this.store.query('ingredient', { filter: searchQuery, limit: 150 });
}

Then I can iterate trough the results using:
{{#each results as |result|}}
  {{result.name}}
{{/each}}

Now I'd like to use {{ember-collection}} but when I try to use it as follow: (it's basically the example on the readme of the component)
{{#ember-collection
  items=results
  height=500
  width=800
  cell-layout=(fixed-grid-layout 800 50) as |item index|
}}
  {{name}}
{{/ember-collection}}

the ember-collection component displays just an empty list.
What am I doing wrong?

It is a bug in ember-collection. It doesn't support Ember's array yet, only natives one. It will be fixed eventually.

Ok thanks, I have fixed it converting it with .toArray(), very annoying :(

can your provide a quick demo app, that way i can quickly see whats wrong.


enhancement: avoid contruct groupExpr in graph-simplifier

Signed-off-by: xiejiann<EMAIL_ADDRESS>Proposed changes
Issue Number: close #xxx
Problem summary
Describe your changes.
Checklist(Required)

Does it affect the original behavior:

[ ] Yes
[ ] No
[ ] I don't know

Has unit tests been added:

[ ] Yes
[ ] No
[ ] No Need

Has document been added or modified:

[ ] Yes
[ ] No
[ ] No Need

Does it need to update dependencies:

[ ] Yes
[ ] No

Are there any changes that cannot be rolled back:

[ ] Yes (If Yes, please explain WHY)
[ ] No

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 33.34 seconds
load time: 465 seconds
storage size:<PHONE_NUMBER>5 Bytes
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230206065031_clickbench_pr_90710.html


Validation states on select controls.

Fix an issue where Bootstrap’s validation state border styling is not
visible on Calcite’s select menu controls.
As reported in #201.

On a related note, it might be good to add a  control to the forms examples. Also consider adding a section showcasing validation states (similar to Bootstrap’s doc.

If the select menu’s validation state styling appears to be too light, consider changing its outline-style from inset to solid.


New Editor

What
This PR implements a new comprehensive Part Editor that slides out from the left side of the window when editing a Part.
The goal of the new editor is to provide an accessible, one stop shop for modifying properties and viewing information about a given Part.
It replaces the previous st-editor and st-button-editor components.
Description and How to Use
The Editor can be opened on any Part by sending it the openEditor message or by clicking the gear icon in a Halo.
It is currently composed of four "tabs" that reveal corresponding panes:
Properties Pane
The Properties pane gives authors a list of property names and inputs/togglers they can use to modify the values. A filter field at the top of the pane can be used to filter by property name. This pane does not list any custom properties.

Properties do not update live -- instead, "accept" and "reject" buttons will appear alongside any input to confirm that the author wants the change. Rejecting will reset the input back to the property value. The exception to this is checkboxes: these do update live.
Custom Pane
The Custom pane is where authors can view, modify, and create custom properties. It is the same as the Properties pane (filtering and all) with the exception of the ability to add a new property.

 This is useful when you are creating stacks and don't want to have to create an ephemeral field just to run a doIt command.

Subparts Pane
The Subparts pane is divided into three sections.
The first is a row of buttons for adding subparts to the current part. It is limited to only those kinds of parts that the current part accepts.
The second is a description of ancestors and their locations. It will provide buttons that link to the ancestor Stack and/or Card (if relevant) and the Part's current Owner. The link buttons, when clicked, will open the editor on those respective parts. Additionally, we provide Simpletalk objectspecifier strings that describe the location of each of these parts. Clicking the location copies that string to the clipboard, so that it can be pasted into scripts etc.
The third section is a list of the Part's subpart items. Each provides basic information about the subpart. Clicking the item will open the editor on that subpart.

Implementation
The new Editor is not written in Simpletalk, nor is it made from Simpletalk Parts. Instead, we have made prodigious use of custom webcomponents, all of which can be found in js/objects/views/editors. These components all have a render() method that takes a Part instance. This is how an editor is "opened on" a given Part.
The editor element is registered as st-editor and is added to the DOM by the System at load time.
You can directly toggle this element via the .open() and .close() methods, as well as checking the .isOpen property.
Future Work
The Editor should be usable, but there are obvious things to do in the near future.
For one, we should have some kind of type annotation on our built-in System properties, so that we know if they should be numerical, textual, or boolean. This would allow us to use components like range sliders and more in the Properties pane.
Also, a future PR implementing a contextual click (right click menu) will complement this Editor well and should kind of be a priority.

that's really nice...
will play around some more

This is really nice!
one question about object specifiers: should these be relative or deterministic? At the moment they are the former, but it's unclear to me that's what you want.IE if you are looking for that part as opposed to a part in that place, then it should be an id - what do you think?

one question about object specifiers: should these be relative or deterministic? At the moment they are the former, but it's unclear to me that's what you want.IE if you are looking for that part as opposed to a part in that place, then it should be an id - what do you think?

One thing I've been thinking about is how we want to "lead" authors by our interfaces and examples. Thomas and I had discussed trying to limit the habit of referring to things by ID in scripts as much as possible. Having the location available to copy and paste is one small way of doing so. That said, I'm not opposed to also displaying the ID and making a copy button for it in the same way.

should we also add the location of the part in question so it can be copied in the same way?

Yeah definitely. Question is: should it go a the header of the menu (where the Part type and name is displayed) or just in the subparts pane?

Yeah definitely. Question is: should it go a the header of the menu (where the Part type and name is displayed) or just in the subparts pane?

i think in the subparts pane is natural, that's where all the references are

one question about object specifiers: should these be relative or deterministic? At the moment they are the former, but it's unclear to me that's what you want.IE if you are looking for that part as opposed to a part in that place, then it should be an id - what do you think?

One thing I've been thinking about is how we want to "lead" authors by our interfaces and examples. Thomas and I had discussed trying to limit the habit of referring to things by ID in scripts as much as possible. Having the location available to copy and paste is one small way of doing so. That said, I'm not opposed to also displaying the ID and making a copy button for it in the same way.

you could always offer both: relative and deterministic
There is really no way to know what someone is going to do with a part, and that will determine how the object specifier should act. So it's important that people get the difference and understand when to use one over the other.

@dkrasner I've pushed a commit that implements both a new set of buttons for the part being edited (ie, My location is...) and adds an ID button to all of the ancestor references in the subparts pane. This should take care of the two comments you posted above. Let me know if there's anything else.

@darth-cheney that makes sense
couple of issues and bugs:
I think the current wording "i am located.... and my id is.." is too long but that's debatable. However when we flip over to uuids that will be much longer and i think a bit nasty/intimidating looking
copying the location copies a proper object specifier string (first button of first card etc)
But copying the id just copies the number. The intention here is that you will do something with these copied strings, mainly use them in a script, so they should both be usable in a script.
I would simply forgo even displaying the id (and potentially the location string - debatable), and simply have two copy icons "copy location" "copy with id"
you could use location icons like this, this, or this and an id icon
there is an underlying assumption that all numeric properties are integers, so things like background-transparency up.down prop editor errors increase and decrease these by +1/-1, which does nothing (unless you hit 0 or 1). Maybe you can match on *-transparency and have those be [0, 1] with .1 increments.
I know we talked about the color-wheel for *-color props but that can be left for later since it's a bit of work.
Pinning can make the object disappear out of the editor focus view. Not sure what we can do about that at the moment...
I would allow for return button to accept a new prop value. You can tab through the props which is nice and it would be great to allow you to tab, type to edit and then return to accept.
bugs:

looks like there is an assumption that the ancestor has to be a card, which is not the case for parts on a stack.
also this error is throw when i add  a button and click on the editor halo-icon

I am sure these were already there and i didn't notice them earlier... would have been more productive if i had

I think the current wording "i am located.... and my id is.." is too long but that's debatable. However when we flip over to uuids that will be much longer and i think a bit nasty/intimidating looking
I would simply forgo even displaying the id (and potentially the location string - debatable), and simply have two copy icons "copy location" "copy with id"

I've kept the location strings because I think they are useful to know, but I've gone ahead and removed the id from being displayed in the copy id button. Now it just copies the id. If we want it to put part id <id> into the clipboard we can change that too.

there is an underlying assumption that all numeric properties are integers, so things like background-transparency up.down prop editor errors increase and decrease these by +1/-1, which does nothing (unless you hit 0 or 1). Maybe you can match on *-transparency and have those be [0, 1] with .1 increments.

I've gone ahead and made the -transparency property editor inputs render themselves as range types (sliders) with a min of 0, a max of 1 and a step of 0.05. Also, I've made these update immediately on input unlike the numeric/text fields.

I would allow for return button to accept a new prop value. You can tab through the props which is nice and it would be great to allow you to tab, type to edit and then return to accept.

Done

looks like there is an assumption that the ancestor has to be a card, which is not the case for parts on a stack.
also this error is throw when i add a button and click on the editor halo-icon

These were actually the same bug, which I've now fixed

that's not that useful. Maybe it should close the editor maybe it should center the script field. I also can't toggle the script editor which is what i expect within the editor itself

The Editor will now open the scriptEditor (at 100@100 now) and close itself. This is a better flow for sure.

I wonder if the best thing to do is simply edit the script in the messenger console?, i.e. there are two modes: send message to part and edit the script (but this is more work)

We discussed that and decided we wanted to keep the script editor as a pure Simpletalk composition, which I think is the right move. I too was tempted to add a basic script editor into the Editor panes but after our conversation decided against it.

I think the current wording "i am located.... and my id is.." is too long but that's debatable. However when we flip over to uuids that will be much longer and i think a bit nasty/intimidating looking
I would simply forgo even displaying the id (and potentially the location string - debatable), and simply have two copy icons "copy location" "copy with id"

I've kept the location strings because I think they are useful to know, but I've gone ahead and removed the id from being displayed in the copy id button. Now it just copies the id. If we want it to put part id <id> into the clipboard we can change that too.

i say we want part id <id> in the string

there is an underlying assumption that all numeric properties are integers, so things like background-transparency up.down prop editor errors increase and decrease these by +1/-1, which does nothing (unless you hit 0 or 1). Maybe you can match on *-transparency and have those be [0, 1] with .1 increments.

I've gone ahead and made the -transparency property editor inputs render themselves as range types (sliders) with a min of 0, a max of 1 and a step of 0.05. Also, I've made these update immediately on input unlike the numeric/text fields.

makes sense

I would allow for return button to accept a new prop value. You can tab through the props which is nice and it would be great to allow you to tab, type to edit and then return to accept.

Done

cool

looks like there is an assumption that the ancestor has to be a card, which is not the case for parts on a stack.
also this error is throw when i add a button and click on the editor halo-icon

These were actually the same bug, which I've now fixed

that's not that useful. Maybe it should close the editor maybe it should center the script field. I also can't toggle the script editor which is what i expect within the editor itself

The Editor will now open the scriptEditor (at 100@100 now) and close itself. This is a better flow for sure.

looks like the editor is not closing. This is after i click:

and since you don't see it you are liable to click again

i think there was a check on the old editor to make sure to only open the script field if it's not already there

I wonder if the best thing to do is simply edit the script in the messenger console?, i.e. there are two modes: send message to part and edit the script (but this is more work)

We discussed that and decided we wanted to keep the script editor as a pure Simpletalk composition, which I think is the right move. I too was tempted to add a basic script editor into the Editor panes but after our conversation decided against it.
ok

Forgot to push changes. Those issues should now be resolved


CustomerStateField permanent validation failure

Hi I appear to have found a bug with the CustomerStateField in django-shop c8b7f1fe0db4aa0e16c39e0ceff736a964fa7a3a
On loading the customer page in the admin interface and trying to save, I get the error below.
It doesn't matter what value I choose I still get the error.
I get this with both the example shop and the shop I am building.
Hope you can help and let me know if there's anything I can do to help! :)

This has been fixed in the next big release, already available on my development branch at https://github.com/jrief/django-shop

That's great thanks!
Could you tell me when the fix might get merged into the pip project please?

@jrief: Is the fix already merged into master? Then we should close this issue.
@racitup: Expect a release in the upcoming week.

Just tested it on the example in version 0.10.2 and it is fixed. Thanks both!


fixed issue unauthorized page viewing: inbox and create listing

Those pages are not allowed to be seen anymore if the user is not logged in. They will be redirected to the login page

updated in new commit


MS Teams instructions do not mention manifest generator

Describe the bug
The "Learn more" instructions for the MS Teams channel do not mention the ability to download a pre-build manifest and import it into App Studio.   We should call out this option, perhaps as a replacement to the current instructions that describe creating a new manifest by hand.
See here:
https://github.com/microsoft/BotFramework-Composer/blob/main/docs/preview features/ms-teams.md

Shiproom - Gifts for you Dewain


Deprecate process_position and progress_bar_refresh_rate from the Trainer constructor

🚀 Feature

Remove these two arguments from the Trainer constructor
Motivation
We are auditing the Lightning components and APIs to assess opportunities for improvements:

https://docs.google.com/document/d/1xHU7-iQSpp9KJTjI3As2EM0mfNHHr37WZYpDpwLkivA/edit#
https://github.com/PyTorchLightning/pytorch-lightning/issues/7740

The Trainer today has over 50 arguments to its constructor. This number is growing with each feature release, and makes the trainer cluttered. It also hurts the extensibility of the trainer: a number of arguments passed to the Trainer are to customize other utilities. Plumbing arguments through the trainer creates an undesirable coupling: when the underlying components change, the framework is forced to make breaking API changes in at least two places:

The underlying component
The trainer constructor

Example: https://github.com/PyTorchLightning/pytorch-lightning/pull/8062

we now have to change the trainer API in order to address weights_summary implementation changes (or deprecate weights_summary off the constructor in favor of a callback: https://github.com/PyTorchLightning/pytorch-lightning/issues/8478  )

Example: https://github.com/PyTorchLightning/pytorch-lightning/issues/8780
-log_gpu_memory accepting min_max is hyper-specific to nvidia-smi, and isn't applicable for torch.cuda.memory stats
Upcoming examples:

Supporting new types of progress bars https://github.com/PyTorchLightning/pytorch-lightning/pull/8929
But our current trainer arguments for progress bars could be specific to the TQDM implementation

Pitch

Deprecate process_position and progress_bar_refresh_rate off the Trainer constructor in v1.5

Add a new flag: enable_progress_bar on the Trainer constructor.

By default this would be True, so the Trainer can retain setting a default implementation if the user doesn't pass one in.
If the user passes a progress bar callback via the calbacks argument, it is given precedence over the Trainer default.
For all future customizations, users are expected to instantiate their own progress bars with settings like process_position and progress_bar_refresh_rate.
This better matches what's already done for loggers and checkpoint callbacks.

In version 1.7, remove process_position and progress_bar_refresh_rate from the Trainer entirely

This nets us 1 argument saved, which is progress
Alternatives

Additional context

If you enjoy Lightning, check out our other projects! ⚡

Metrics: Machine learning metrics for distributed, scalable PyTorch applications.

Flash: The fastest way to get a Lightning baseline! A collection of tasks for fast prototyping, baselining, finetuning and solving problems with deep learning

Bolts: Pretrained SOTA Deep Learning models, callbacks and more for research and production with PyTorch Lightning and PyTorch

Lightning Transformers: Flexible interface for high performance research using SOTA Transformers leveraging Pytorch Lightning, Transformers, and Hydra.

@kaushikb11 would this make integrating new progress bars like Rich more straightforward?

Agree with process_position, nobody uses it and I believe the documentation is slightly misleading.
I am not sure about the refresh rate though. Removing that may introduce a major inconvenience for users.

Agree with process_position, nobody uses it and I believe the documentation is slightly misleading.
I am not sure about the refresh rate though. Removing that may introduce a major inconvenience for users.

Trainer(callbacks=[ProgressBar(refresh_rate=X)])

vs
Trainer(progress_bar_refresh_rate=X)

This doesn't seem inconvenient for me. Especially if users already have other callbacks they use, this is very natural. Wdyt?
Motivation:

Keep Trainer constructor specific to what the Trainer actually needs
Allow the ProgressBar to add more args without the Trainer needing to be aware or set defaults
Consistency with other callbacks: customizations for frameworks provided by the callback like ModelCheckpoint and EarlyStopping are expected to be instantiated this way. Why do we treat ProgressBar differently?
Long-term health & expectations for more components: The trainer needing to hold arguments for each of these isn't scaling


add docker-compose.yaml for dockerhub and daocloud

@hainingzhang @reasonerjt
Already update! By the way, shall we put the script and the doc in the Deploy? It won't be easy for users to find this in the current directory. That way will be more clear and easy for user to choose either build or pull.

@wemeya could you squash the commits?

@reasonerjt  ok


211 create workflow requires clicking twice - ref #211

Checklist before merging

[x] I added an appropriate entry to CHANGELOG.md

This will close #211


Makefile: use commit time for revision date

Author time might be an old timestamp, commit time is always monotonically increasing and useful to identify a revision.

I don't see the necessity of this change. In what scenario do you think that it makes a notable difference?

Commit date and author date will be different when cherry-pick a commit from main to a release branch, specially when the author date of commit is older than last commit of a release branch, that will be confusing that a newer release has a date which could be older than a previous release.
+1 for the change, can you update all the '%ad' to '%cd'?

@eryugey Thanks!


Possible Performance Issues with async methods .net core sdk?

Hello,
I am running some load tests for SQS with the AWS .net Core SDK, it looks like there is something wrong with async methods. Just a simple empty page with the action below:
1 instance running on AWS EC2 c4.large
public class TestController : Controller
    {
        public TestController()
        {

        }

        public async Task<IActionResult> Index()
        {
            var client = new AmazonSQSClient(new AmazonSQSConfig { RegionEndpoint = RegionEndpoint.GetBySystemName("eu-central-1") });

            var p = new SendMessageRequest();
            p.DelaySeconds = 0;
            p.QueueUrl = "https://sqs.eu-central-1.amazonaws.com/xxxxx/in-dis-log";
            p.MessageBody = "Foo " + DateTime.Now.Ticks;
            await client.SendMessageAsync(p);

            return View("~/Views/Shared/Test.cshtml");
        }

Load test results:

Aws Sdk 3.2.7 Beta
project.json
{
  "dependencies": {
    "Microsoft.NETCore.App": {
      "version": "1.0.0",
      "type": "platform"
    },
    "AWSSDK.SQS": "3.2.7-beta",
    "Microsoft.AspNetCore.Diagnostics": "1.0.0",
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.0",
    "Microsoft.Extensions.Configuration.Json": "1.0.0",
    "Microsoft.Extensions.Caching.Memory": "1.0.0",
    "Microsoft.AspNetCore.Mvc": "1.0.0",
    "Microsoft.AspNetCore.StaticFiles": "1.0.0",
    "Microsoft.AspNetCore.Razor.Tools": {
      "version": "1.0.0-preview2-final",
      "type": "build"
    },
    "Microsoft.AspNetCore.DataProtection": "1.0.0",

  },

  "tools": {
    "Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview2-final",
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final"
  },

  "frameworks": {
    "netcoreapp1.0": {
      "imports": [
        "dotnet5.6",
        "portable-net45+win8"
      ]
    }
  },

  "buildOptions": {
    "emitEntryPoint": true,
    "preserveCompilationContext": true
  },

  "runtimeOptions": {
    "configProperties": {
      "System.GC.Server": true
    }
  },

  "publishOptions": {
    "include": [
      "wwwroot",
      "Views",
      "web.config",
      "appsettings.json",
      "appsettings.Development.json",
      "appsettings.Release.json"

    ]
  },

  "scripts": {
    "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
  }
}

Thanks for post. We know performance is a problem on the netcore version which is the main reason why it is still in beta and we are working on it.
The issue comes from the differences between how connection pooling is handled between .NET Framework and .NET Core. I'm working on a fix that has netcore performance on par with .NET Framework, at least for Windows. I'm not ready to release that fix yet because I'm finding the errors coming from the HttpClient when you saturate the connection are different and the SDK is not handling that yet.

I pushed out version 3.2.8-rc of the SDK today which has performance improvements. If you are testing on Linux I have found that HttpClient in .NET Core quite a bit faster on Windows then Linux but the improvements in this release do help both Windows and Linux.


Support absolute paths in the PAGER env var

Thanks @piotrmurach for working on this library, we use it in a range of our products. We noticed there is an inconsistency in how the PAGER environment variable handles absolute paths when compared to other linux utilities.
For example it is possible to tell man to use more (or vim less) as the pager by doing the following:
# Hard set more as the pager
export PAGER=$(which more)
man bash
... opens in more ...

# Use the less wrapper script that ships with vim
export PAGER=/usr/share/vim/vim82/macros/less.sh
man bash
... uses the vim version of less ...

The above does not work as expected with TTY::PAGER as the absolute paths are not on the PATH.
This PR updates the command_exist? method to first check if an absolute path has been provided before preforming the relative path lookup. This appears to be the most straight forward way to resolve the issue.

Coverage increased (+0.03%) to 99.17% when pulling 280e85315351da8ed2c043216a551f34c1daf630 on openflighthpc:master into d5fc3426ad1e5d670c7bc890b240d1cfe9124ac5 on piotrmurach:master.

Thank you! ❤

Released a new version v0.14.0.


How to make values fixed in y-axis in chart axis?

I tried setting the tickValues, but the highest number in my chart is still the maximum value. For example, I set the tickValues to [0, 100], but the data = [0, 25, 75], the chart is still only up to 75 rather than to 100.

Hi! The domain is still clamped to the input values you provide. You may specify a different domain like seen here: https://codesandbox.io/s/vue-template-fs3f3
Hope this helps!

Side note.. this is how it's done in the latest updates to d2b. If you are using an earlier version let me know.

Thanks! Haven't tested it out in my app yet, but this is what I'm looking for.


Stackedit5 russian latex

It breaks with some text in russian, for example, this:
$привет$
gives the error:
KaTeX parse error: Expected 'EOF', got 'п' at position 1: п̲ривет
Maybe it's the same https://github.com/benweet/stackedit/issues/1194

Should be fixed.


Please reopen #77

Issue #77 is not resolved. @jcf 's proposed solution doesn't work, and matching partial params is sorely needed in Webmock. Thanks!

Thanks for feedback! I'm reopening #77


Don't ask for management cluster choice when --pivot flag is specified

When the --pivot flag is specified, az capi create should create a temporary management cluster whichever way is fastest (local) instead of prompting the user where the management cluster should be created.
In the case of a pivot, the inital bootstrap cluster used as management cluster is only temporary and will be deleted after the pivot. As a user, I shouldn't have to care where/how it gets created, just select the best/fastest way for me.

/good-first-issue


open application in kiosk

Hi,
When I start the application for the first time it doesn't open in kiosk mode.
I need to execute  KioskPlugin.exitKiosk(); then select the application to run it as kisok.
Any ideas what might be the issue?

This is standard behavior - see README:

To it work user have to set this application as launcher (see below) and start it by pressing Home button.


feat(nuxt-module): add nuxt module

Although Vine does not support SSR yet, we can provide support for Nuxt with {ssr: false}.
https://github.com/user-attachments/assets/d215ac89-0c15-4aed-88c9-db95af44ffff
we have ts tip:

Thanks for @wzc520pyfm making this epic PR !! This is really great for us to integrate with Nuxt.
But for now I hold the opinion that we're supposed to make more progress on SSR support for compiler, which is not that hard but will take some time, in other words, I don't want to publish a module which is lack of its main feature.
But we can keep this PR here, after finishing SSR support we'll merge this to publish that package. 💗

@wzc520pyfm
I've been a little bit too busy these weeks in my daily work so that I may not be able to put effort into SSR compiler feature developing soon, are you interested in this task? 💗 It's OK but I thought that:

I don't have quite a lot experience in SSR
I think It's better for you to complete these whole things as a collocation

in addition, I still believe that "One Person Developing" would bring more positive effect in the early age of a OSS project, because the code he/she write would be more aggregate, that developer could understand much deeper that co-work with other partner, decrease more unnecessary information gap and low-efficiency communication. More of that, you can lead and own a complete module in this project, gain more power and having more fun among boring development work.
What do you think?

@wzc520pyfm
I've been a little bit too busy these weeks in my daily work so that I may not be able to put effort into SSR compiler feature developing soon, are you interested in this task? 💗 It's OK but I thought that:

I don't have quite a lot real-world-project experience in SSR
I think It's better for you to complete these whole things as a collocation

in addition, I still believe that "One Person Developing" would bring more positive effect in the early age of a OSS project, because the code he/she write would be more aggregate, that developer could understand much deeper that co-work with other partner, decrease more unnecessary information gap and low-efficiency communication. More of that, you can lead and own a complete module in this project, gain more power and having more fun among boring development work.
What do you think?

Thanks! This is challenging for me, but I will make every effort to do it!


Feature importance interpretation

As far as I understand the SHAP value is a linear model, so the scale of the "SHAP value" itself should have a linear relation? It is right to say the difference between 3 and 2 is the same as 4 and 3 for SHAP values?
If the above statement is kind of true, do you think it is sensible if I tried to normalize the SHAP value in a percentage sense?

# sum over each feature
fi_shap = abs(shap_values).sum(0)

# Normalize
fi_shap = fi_shap/fi_shap.sum() ;
fi_shap.sum(),fi_shap.shape

The short answer is yes. That results in values that represent the fraction of the model output variability attributable to each feature across the whole dataset.

@slundberg Hey! I've a similar query on interpretation but not for the whole dataset. What if I want to represent the SHAP values of a query point in terms of percentages so as to know which feature contributed more towards the model's prediction.
For example, given a query point, let the SHAP values for features(F) be (F1, F2, F3, F4, F5) = (-0.23, 0.11, 0.25, 0.23, 0.15). If I take the absolute value then it means treating -0.23 and 0.23 as same whereas intuitively they mean different. What would be the best work around in this case? Thanks in advance.


The command az aks upgrade prompts for user input when you provide --yes

Describe the bug
Command Name
az aks upgrade
Errors:
The command is prompting for user input when --yes is provided.
Since control-plane-only argument is not specified, this will upgrade the control plane AND all nodepools to version 1.14.5. Continue? (y/N):

To Reproduce:

az aks upgrade --resource-group {} --name {} --kubernetes-version {} --no-wait --yes

Expected Behavior
Provided the flag --yes I expect no user input needed to execute the command.
Since control-plane-only argument is not specified, this will upgrade the control plane AND all nodepools to version 1.14.5. Continue? (y/N):

Environment Summary
Linux-4.14.131-linuxkit-x86_64-with
Python 3.6.4
Shell: bash

azure-cli 2.0.74

Extensions:
aks-preview 0.4.17

Additional Context

If the upgrade command by default prompts a confirmation message, why are you guys prompting a second confirmation message?
If further explanation needs to be provided to the user, to prevent unintentional operations, that could be done on the first prompt message.
I see that you have this pattern of prompting twice in few commands there, but I would like to know the reason for doing so.
Also since that you have NoTTYException, that prevents some simple automation like:
 yes | az aks upgrade... or printf 'y\n' | az aks upgrade...

Any update on this?

Duplicate of https://github.com/Azure/azure-cli/issues/11099,
For a workaround @epierotto : az resource update --ids <aks_resource_id> --set 'properties.kubernetesVersion=<k8s_version>'--set 'properties.agentPoolProfiles[0].orchestratorVersion=<k8s_version>'

@epierotto Apologies for the late reply. This issue seems to be fixed in this PR #13741 . Could you please use the most recent version of the CLI and let me know if you still face this issue ?  Also this github issue is open for quite sometime. Please let me know if you still need any assistance on this issue. Awaiting your reply.

@epierotto This is a follow-up to check if you had a chance to look at my above comment. This issue is open for quite sometime. Please let us know if you need any further assistance on this.

Hi, it’s been a while since I opened this issue and I used the workaround
setting a cluster property. If you consider that the problem was solved
with that commit please close this issue.
Regards
Exequiel
On Sat 12 Feb 2022 at 07:34, navba-MSFT @.***> wrote:

@epierotto https://github.com/epierotto This is a follow-up to check if
you had a chance to look at my above comment. This issue is open for quite
sometime. Please let us know if you need any further assistance on this.
—
Reply to this email directly, view it on GitHub
https://github.com/Azure/azure-cli-extensions/issues/982#issuecomment-1037042829,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABH36HUKQ73XBQF3774YJXLU2YEQTANCNFSM4I6CMMYQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***>

@epierotto Thanks for getting back. We will now proceed with closure of this github issue. If you need any further assistance on this issue in future, please feel free to reopen this thread. We would be happy to help.


Request: Tab show pass through data object.

After looking through the source, it seems like it would be an easy feature to add pass through data from the app.showTab to tab.on show event. This would in theory allow us to pass objects to the event to load as if it were url query params. Thoughts?

I found a solution to this. by modifying the showTab and trigger functions you can pass data in as the details value of the event.


refactor: add @angular-devkit optimizations so the Rx bundle can be t…

…ree-shaken
This change will modify the ESM5 output to add annotations used by Uglify in order to treeshake TypeScript downleveled classes.

Coverage remained the same at 97.465% when pulling 39e735a0082c6ca70f617c3b1609171646e61541 on jasonaden:test_add_build_optimizer into 1d100d3c34ebee5d2484a3b664a56f8600cc1f2c on ReactiveX:master.

LGTM other than the build error in Node 4.0. If you get can the build-optimizer fixed for Node 4.* then I think it's good to go.
cc @kwonoj for additional review.

it's just destructuring const { inputFilePath } = options; doesn't work on node 4. quick fix should be ok to check this in.

Talking to the build optimizer team, there are other things that likely will not work with Node 4. Therefore I changed the script so it doesn't error with Node 4. It's not actually needed, since we don't produce the Rx build with Node 4. The modification to .make-packages.js will allow Travis to pass by not running build-optimizer if Node can't require it.
cc @kwonoj @benlesh

This seems falls under goal one of our long to-do list of auto publish from travis on specific job, meanwhile this looks fine for me.

Just let anyone on local publishes package don't use node@4 😅

Coverage remained the same at 97.465% when pulling 6b6ee19832fb3e6cea4dd0348159517de6c48f4c on jasonaden:test_add_build_optimizer into 5dbad94e25d24b7a2ae5b77d2b73b26b51435a53 on ReactiveX:master.

Coverage remained the same at 97.465% when pulling 6b6ee19832fb3e6cea4dd0348159517de6c48f4c on jasonaden:test_add_build_optimizer into 5dbad94e25d24b7a2ae5b77d2b73b26b51435a53 on ReactiveX:master.


Refactor AddToInventory to use pairs

Solves #133
This performs the refactoring of the function and other files that interact with said function but I'd recommend further work to restructure the code logic in light of changes such #140

If there are no issues with this PR, could you accept it quickly for now so that I can submit another that replace calls to RandomInt() with equivalent calls to RandomEvent()

Just as a heads up, you are free to submit multiple pull requests at a time, that's totally fine.
Also, don't replace RandomInt with RandomEvent - RandomEvent is for weighted random selections, while RandomInt is for uniformly distributed random integers, they serve completely different purposes.

If you mean you'd like to replace all the switch cases with RandomEvent, the yes, that would be much appreciated.

Yep, I'll do that across the project but was hoping that you review this first as this involves a lot of changes and I don't want to create conflicts between this and future PR

Switched to ITEMTYPE wherever applicable

Could you review this please?


replaced attrdict with custom impl.

Changes
We do not depend on the unmaintained attrdict lib any more. Replaced the impl with a simple recursive internal dict patching solution. As the interface did not change, I kindly refuse to write a changelog entry :)

sure, will do.


commented out unnecessary alerts

commented out alerts:

Email - Suspicious Subject or Attachment
Email - With Known Abuse Web Service Link
Ransomware - Endpoint Compromise - Malicious Package Found

Kept the lookup as is for future reference,