keepalive issues with 0.23.1

Expected Behavior

Current Behavior
when deleting a client; the client get's re-registered. i renamed the client name to be something unique and ntp is fine.
sensu-server logs:
{"timestamp":"2016-09-19T13:29:42.539352-0700","level":"debug","message":"received result","result":{"client":"sfx-calvin.corp.calvintest.net","check":{"thresholds":{"warning":700,"critical":800},"occurrences":3,"handlers":["ioc"],"name":"keepalive","issued":1474316976,"executed":1474316976,"output":"Keepalive sent from client 76 seconds ago","status":0},"signature":""}} {"timestamp":"2016-09-19T13:29:42.539443-0700","level":"debug","message":"processing result","result":{"client":"sfx-calvin.corp.calvintest.net","check":{"thresholds":{"warning":700,"critical":800},"occurrences":3,"handlers":["ioc"],"name":"keepalive","issued":1474316976,"executed":1474316976,"output":"Keepalive sent from client 76 seconds ago","status":0},"signature":""}} {"timestamp":"2016-09-19T13:29:42.539866-0700","level":"debug","message":"updating client registry","client":{"name":"sfx-calvin.corp.calvintest.net","address":"unknown","subscriptions":[],"keepalives":false,"version":"0.26.1"}}
redis shows:
1474321584.761509 [0 <IP_ADDRESS>:60883] "setnx" "client:sfx-calvin.corp.calvintest.net:signature" ""<PHONE_NUMBER>.762543 [0 <IP_ADDRESS>:60883] "get" "client:sfx-calvin.corp.calvintest.net:signature"<PHONE_NUMBER>.763093 [0 <IP_ADDRESS>:60883] "set" "client:sfx-calvin.corp.calvintest.net" "{\"name\":\"sfx-calvin.corp.calvintest.net\",\"address\":\"unknown\",\"subscriptions\":[],\"keepalives\":false,\"version\":\"0.23.1\"}"<PHONE_NUMBER>.763116 [0 <IP_ADDRESS>:60883] "sadd" "clients" "sfx-calvin.corp.calvintest.net"<PHONE_NUMBER>.764259 [0 <IP_ADDRESS>:60883] "sadd" "result:sfx-calvin.corp.calvintest.net" "keepalive"<PHONE_NUMBER>.764269 [0 <IP_ADDRESS>:60883] "set" "result:sfx-calvin.corp.calvintest.net:keepalive" "{\"thresholds\":{\"warning\":700,\"critical\":800},\"occurrences\":3,\"handlers\":[\"ioc\"],\"name\":\"keepalive\",\"issued\":1474321578,\"executed\":1474321578,\"output\":\"No keepalive sent from client for 4678 seconds (>=800)\",\"status\":2}"<PHONE_NUMBER>.764301 [0 <IP_ADDRESS>:60883] "rpush" "history:sfx-calvin.corp.calvintest.net:keepalive" "2"<PHONE_NUMBER>.764315 [0 <IP_ADDRESS>:60883] "ltrim" "history:sfx-calvin.corp.calvintest.net:keepalive" "-21" "-1"<PHONE_NUMBER>.764768 [0 <IP_ADDRESS>:60883] "lrange" "history:sfx-calvin.corp.calvintest.net:keepalive" "-21" "-1"<PHONE_NUMBER>.765896 [0 <IP_ADDRESS>:60883] "hget" "events:sfx-calvin.corp.calvintest.net" "keepalive"<PHONE_NUMBER>.766553 [0 <IP_ADDRESS>:60883] "hset" "events:sfx-calvin.corp.calvintest.net" "keepalive" "{\"id\":\"389f7d82-c5de-4985-a51e-21e7e1f27143\",\"client\":{\"name\":\"sfx-calvin.corp.calvintest.net\",\"address\":\"unknown\",\"subscriptions\":[],\"keepalives\":false,\"version\":\"0.23.1\"},\"check\":{\"thresholds\":{\"warning\":700,\"critical\":800},\"occurrences\":3,\"handlers\":[\"ioc\"],\"name\":\"keepalive\",\"issued\":1474321578,\"executed\":1474321578,\"output\":\"No keepalive sent from client for 4678 seconds (>=800)\",\"status\":2,\"history\":[\"2\"],\"total_state_change\":0},\"occurrences\":1,\"action\":\"create\",\"timestamp\":1474321584}"<PHONE_NUMBER>.091276 [0 <IP_ADDRESS>:60885] "get" "client:sfx-calvin.corp.calvintest.net"<PHONE_NUMBER>.418763 [0 <IP_ADDRESS>:60885] "hgetall" "events:sfx-calvin.corp.calvintest.net"<PHONE_NUMBER>.708047 [0 <IP_ADDRESS>:60885] "get" "client:sfx-calvin.corp.calvintest.net"<PHONE_NUMBER>.715074 [0 <IP_ADDRESS>:60885] "smembers" "result:sfx-calvin.corp.calvintest.net"<PHONE_NUMBER>.715273 [0 <IP_ADDRESS>:60885] "lrange" "history:sfx-calvin.corp.calvintest.net:keepalive" "-21" "-1"<PHONE_NUMBER>.715420 [0 <IP_ADDRESS>:60885] "get" "result:sfx-calvin.corp.calvintest.net:keepalive"<PHONE_NUMBER>.336803 [0 <IP_ADDRESS>:60885] "get" "client:sfx-calvin.corp.calvintest.net"<PHONE_NUMBER>.926114 [0 <IP_ADDRESS>:60885] "hgetall" "events:sfx-calvin.corp.calvintest.net"
Possible Solution

Steps to Reproduce (for bugs)

Stop sensu-client on the sensu-server (I’m running sensu-client on the server)
Edit client.rb name to something unique
Start sensu-client so it’s gets registered
Stop sensu-client
Use the api/uchiwa to delete the client
Host will be re-registered with keepalive false. (tried it on 5 different client)

Context

i was trying to figure why i have a bunch of host that keeps flapping for keepalive then i stumbled upon this.

Your Environment

Sensu version used: 0.23.1
Operating System and version (e.g. Ubuntu 14.04): redhat 6.8
Transport and runtime versions (e.g. RabbitMQ 3.6.2 on Erlang 18.2): 3.61 rabbitmq with 18.2 erlang

Hi @calvinx408,
The way you've described the behavior you're observing, particularly this sentence:

Host will be re-registered with keepalive false. (tried it on 5 different client)

leads me to believe that the deleted client is being recreated as a proxy client. Proxy clients are created automatically when processing a check result which is not attributable to an existing client in the registry.
One possibility is that your Sensu server is significantly behind in processing the results queue at the time you delete the client. Any check results still pending in the results queue from the now-deleted client will create a proxy client with the same name.
If you aren't already monitoring the queue size and/or delivery rates of your RabbitMQ transport, the RabbitMQ management plugin provides means to view queue details via the web browser.
Please have a look and let me know if you think this makes sense?

That totally makes sense. I added 2 lines to /etc/sensu/config.json for all 3 of my servers:
"heartbeat": 30,
"prefetch": 50
I also changed keepalive to false for now. Everything is good now, but i wasn't able to delete those proxy clients. I had to stop sensu-client on my server and add the proxy client name. Started sensu-client and once it got changed from proxy client to regular client. I stopped sensu-client and i was able to delete.  Is that a bug or we are not supposed to delete the proxy client? Thanks again for the help and fast reply.

@calvinx408 glad to hear that you were able to mitigate the problem with configuration changes.
The expectation is that proxy clients can be deleted via the API just like any other client. If you find that this isn't so, will you please open an issue specific to that behavior including steps to reproduce? Thanks!

I have 20 host that still have keepalive and 2-3 keep going off every hour and recovering. The keepalive queue show messages/messages unacknowledge at 20 and quickly to zero. The results queue are always at zero. Any ideas?
I was not able to re-produce the deleting problem i had. It's pretty weird, but i'm glad that is resolved. The keepalive is pretty annoying though.

i got my problem resolved.  I switched keepalive to false for all linux machines, but my windows machine still had it.  The windows machine kept flapping even though NTP was correct.  I split the sensu cluster to reduce the number of queues, but my windows machines was still flapping. i changed sensu-handler.rb default occurrences from 1 to 3 and my flapping issues are gone. I could have changed occurrences in keepalive in client.cfg, but it would have taken longer.


Support to use string template for chalk

chalk v2.x.x can be used as string template.
For example:
import chalk from 'chalk';

chalk`{red string template}`;

As a result,declare module.exports should be added to declare module.

@HsuTing You'll need to fix the specs for this change.

@GAntoine I tried to fix, but I got error in local testing with node cli/dist/cli.js validate-defs definitions && node cli/dist/cli.js run-tests.
How should I do to run local testing?

I copy chalk flow file.
This work, but here is some problem about colorSupport .
I had opened an issue in chalk to ask the type of colorSupport.


URGENT Security Issue found

Hi all,
I've found a fairly serious security flaw with the platform I think? (it's not a python, django or wagtail issue, just data exposure) What's the best way we want to resovle this without alerting anyone publicly to the issue before it is fixed?
Does anyone have any guidance on this? How can we discuss this privately?
Chris

I do not think this project is used in any serious production scenarios, so you can explain the issue here.


No stable tag

Could you push a 1.0 tag so I can start using it?

A tagged release now exists, but it's significantly different from what the dev-master was half a year ago, as I change my mind about how I wanted the container to work.
Note that this is still pretty experimental and until I've actually used this myself in couple projects, I make no promises about how stable the current API is, only that it will be PSR compatible with delegation support.


Test events too verbose

The test output was so verbose I lost the tests in my terminal history.
fixes: #832

merging on pass


Turbo

Use TurboRepo instead of Lerna.
Add a sample project (can remove later).

Change the PR title to follow conventional commits


Allow Resource Creation using POST http verb.

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
Would you like to work on the issue?
Please state if this issue should be assigned to you or who you think could help to solve this issue.

@aditya-07
I looked at the current upload strategy code. As I will start working on designing and implementing it, could you add more details for reference?


Additional Tests for X-Forwarded-Proto

PR #285 introduces additional logic that checks if the X-Forwarded-Proto header is set before redirecting to HTTPS if the force-https option is set to true.
This code will need some additional tests to cover the likely failure scenarios. E.g.

Upstream proxy connects over TLS, but X-Forwarded-Proto is http. This should not redirect.
Upstream proxy terminates HTTPS and sets X-Forwarded-Proto to https.
Both of the above are true - Upstream proxy connects over TLS and X-Forwarded-Proto is https.

BAD BOT, NO CLOSEY

@jmickey do you think this was resolved by #619?

I was thinking about this the other day when I reviewed the PR - yes I think this is sorted now. I will close the issue!


Add  for already assembled jar with false

There are some cases that <injar> configured with an already packaged with dependencies.
<includeDependency>false</includeDependency>
<injar>${project.build.finalName}-jar-with-dependencies.${project.packaging}</injar>
<outjar>${project.build.finalName}-proguard.${project.packaging}</outjar>

Now I need to tell proguard some provided scoped deps to process.
<inclusions>
  <inclusion>
    <groupId>some</groupId>
    <artifactId>some</artifactId> <!-- which is provided scope -->
  <inclusion>
</inclusions>

Currently I'm doing...
<includeDependency>true</includeDependency> <!-- by default -->
<injar>${project.build.finalName}-jar-with-dependencies.${project.packaging}</injar>
<outjar>${project.build.finalName}-proguard.${project.packaging}</outjar>
<exclusions>
    <!-- list all compile/runtime scoped dependencies -->
</exclusions>

Seems to work when I just put some inclusions and a set includeDependencies to false?


Update client_matrix.py after 1.16 release

I ran the tools/interop_matrix/create_matrix_images.py script and verified that the images are updated to the gcp project

[trickle] No significant performance differences

Objective-C binary sizes
*****************STATIC******************
  New size                      Old size
 1,997,274      Total (=)      1,997,274

 No significant differences in binary sizes

***************FRAMEWORKS****************
  New size                      Old size
11,021,702      Total (>)     11,021,701

 No significant differences in binary sizes

Corrupt JSON data (indicates timeout or crash):
    bm_call_create.BM_IsolatedFilter_ClientChannelFilter_NoOp_.counters.new: 10
    bm_call_create.BM_IsolatedFilter_ClientChannelFilter_NoOp_.counters.old: 10

[microbenchmarks] No significant performance differences

Yes, following the process, and also similar to what we did in v1.15


Fix retireving image digest

The config object is the incorrect method of retrieving an image
digest as the config and layers itself creates a manifest which
is hashed to get the image digest. Instead, we will use skopeo
to retireve it. For this, we introduce a function in
tern/load/skopeo to do the remote inspection, and parse out
the image digest type and digest.
Fixes #1101
Signed-off-by: Nisha K<EMAIL_ADDRESS>

Looks good. Thanks for the fix :)


python3Packages.transmission-rpc: 3.2.5 -> 3.2.6

Motivation for this change
Update to latest upstream release 3.2.6
Change log: https://github.com/Trim21/transmission-rpc/releases/tag/v3.2.6
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

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

3 packages built:

flexget
python38Packages.transmission-rpc
python39Packages.transmission-rpc


From env read git author

Now, If the user information cannot be read in the repo config, GRC will read it from the environment variable.
Fixes #30

we done.


AV1 media with 10 or 12 bit depth not playing in supposedly compatible hardware.

Just player / exoplayer is facing issues in rendering the playback of some AV1 media.
https://telegra.ph/file/5175f4a78077f082ab981.jpg
The above picture is the first picture my friend sent when I suggested the app.
I don't have access to the above media, so decided to try some other AV1 media I could find.
https://telegra.ph/file/d970bf9dfdacb795660cf.jpg
This is the first one that I found and faced almost the same error as my friend.
On clicking on details this is the output.
I thought av1 10bit is the issue of some sort.
Then I tried this which again is playing fine!
I'm pretty confused.
My device is RMX1931 running A11 which in my opinion has pretty much the ideal media playback hardware. So was hoping if you could look in to this.
Feel free to communicate over Telegram.
Nevertheless I gotta this media player is one of the best in the business.
Hoping to help in any way possible.

The linked Tears of Steal video is 8 bit. I confirm that decoding 10 or 12 bit videos don't work when using the bundled software decoder (Google's libgav1). However Android 10+ device can have (but do not have to) hardware decoder. If your device is Realme X2 Pro with Snapdragon 855+ then this is indeed weird. (My OnePlus 7 with Snapdragon 855 can play 10 bit AV1 just fine)

Okay okay.
My bad.
I was too ignorant to check the metadata
Nevertheless, I got these samples and muxed them to an mkv and tried again.
And yes, it failed again
So yeah, higher bit depth issue.
Here's the error code.
Is there anyway I can get logs of some sort I can get and give you so that you can look further into it?
Because the error codes don't seem to be very helpful.

You can try this build which doesn't have the sw decoder: Just.Player.v0.64-without_av1_extension.apk

You can try this build which doesn't have the sw decoder: Just.Player.v0.64-without_av1_extension.apk

God damn!
Works without any issues 😂😂
Here's the screenshot.
Okay
So like, what to do now?
Be on this package forever 😂👀?
I'm sure you'll put out some switch based update to force hardware decoding
Or anything you find best.
But thank you!!

Send me the output or a screenshot of the General tab from the app AIDA64 so I can blacklist it by the device model.

Sure
https://paste.codes/?38e02b4aaf7115af#BMtZu8AnGXsGxKtAF1AtNMoPjNnTweDyXfk45WV8SFEK
Here ya go.
But if you'll have to do on a each device basis wouldn't it be sorta impossible?
Will there be an inclusion of a check to detect hardware decoder presence?

Ideally, the ExoPlayer detection should work and probably works on majority of devices. You could try replicating this issue in the ExoPlayer demo and reporting it directly to the developers but the inclusion of the AV1 extension requires few more steps and there's a chance that the issue will end up as "device bug".

Okay
Umm
That's sad
Thanks for the support tho!!

This version include the said blacklisting: Just.Player.v0.64.apk

Thank You for this!
Uh
But I might have to create a separate issue regarding frame drops during playback.
It could be solely because of exoplayer itself but less see.

I can duplicate this issue with 10 bit AV1 samples from Netflix - 960x540 videos work while 1920x1080 videos use the sw fallback decoder (non functional with 10/12 bit depth). In my previous tests, I tried resolutions lower than full HD. I will try debugging that before reporting it to ExoPlayer.

My phone with Snapdragon 855 reports support for AV1 only up to 1920x1072. This is probably also the reason why the playback is choppy (#191). Because of this, I won't use the blacklist and will keep updating the sw AV1 decoder in a hope that it will get better.

Okay then let's see what the future holds
If you need any testing for this, I'm down for it just 'cause this player has high hopes for being one of the default players in the market.

Check the available AV1 decoder capabilities using Codec Info. Seems like the decoder is not HW accelerated, just like on any other Snapdragon SOCs (even 888 doesn't include AV1 decoding). Only the last generation of the top Exynos and Mediatek chips have HW AV1 decoders.

The more I play with it the less I like how the fallback works so I'm going to ask ExoPlayer devs about that (ExoPlayer skips decoder because of a soft error while they try to use decoder which will fail with hard error).

Yes
It's the same for me.
I just hope the devs don't pass this off as a niche case because of the presence of little to none av1 Encoded legal media.

While Samsung Galaxy S21 (Exynos 2100) should handle at least 4K at 120 fps, possibly even more:


Support Laravel 5.8

Hi and thank you for the contribution!


[Bug] Verification messages are inaccurate when there are no resources available

Summary: When a user deletes a cluster and then loads a saved build step configuration, the messaging indicates that the previously saved cluster value is not in the project and zone. This leads to the selection being removed. However, the remaining "none" value is not then selected if it is the only option left.
Steps to Reproduce:

Create a Kubernetes cluster in one zone in GKE. Make sure it is the only cluster in that zone.
Create a job through jenkins and select "Configure".
Create a GKE plugin build step and choose the credentials, project, zone, and name for the cluster.
Save the configuration.
Delete the cluster that you created in step 1.
Reopen the configuration for the job you created in step 2 and view the build step from step 3.

Expected Result:
The empty value is selected in the cluster dropdown and the verification message says "Cluster is required".
Actual Result:
The empty value is not selected despite the dropdown being blank, and because the saved value is remembered, the verification message says "Cluster does not exist in specified project and zone".
Possible Resolution:
If the only value remaining in the dropdown is the empty value, select it.

After trying the above selected solution, I found that ListBoxModel doesn't really let you do this. However, I have a different idea that I'll submit in a PR soon: The case where a project and zone has no clusters is different than the case where a cluster is not entered, so I'll add a new verification message.

I found a related bug in the process of testing other work in the UI.
Summary:
Very similar except that this involves the case when there are other clusters to fall back on. If a previously selected cluster was deleted, nothing is selected.
Steps to Reproduce:
Same as above, but in step 1, create multiple clusters and make sure there is at least one other cluster.
** Expected Result**:
The next available value is selected in the cluster dropdown and the verification result is "OK".
Actual Result:
No cluster is selected and because there are other clusters remaining, the verification message says "Cluster does not exist in specified project and zone". While technically correct, this is a bad experience.
Resolution:
See the most recent commit on #30.


add info about upcoming protocol upgrade

Some links and hopefully useful information to help people looking for resources to deal with the upcoming May 15th protocol upgrade.
I hand-edited the html, but I'm not familiar with working with it. I probably missed some things that need to be changed (I tried to add a new section for the announcement). It should be checked by someone who knows how to work with it.

Updated spec link, now that the pull request has been merged

Yeah you need to add the new section to index.html.erb. I can review once that is changed, or I can help out and make the needed updates if you want.

OK, I added a section to index.html.erb
if you could please review it for me, that would be great :)

Ok, that adds something to the nav bar, but also extends the length quite a bit. I think we can keep it off the nav for now, and just have it as the first actual section. If you want I can make the changes, let me know.

Yeah, no need to have it appear on the Nav bar.
If you could make the changes, that would probably be better. I'll likely mess something up if I try to do it, since I don't really know how the code works.
Thanks!

Will get to this tonight. Thanks @Mengerian


OSError: [Errno 30] Read-only file system

Hi,
I'm currently trying to run SigProfilerExtractor as part of a nextflow pipeline, processing the matrix files generated by SigProfilerMatrixGenerator.
This is the python script I'm using:
https://github.com/maia-munteanu/Mutation_clustering/blob/main/SignatureExtractor.py
The matrix file used is created by the SigProfilerMatrixGenerator tools and the metadata is below.
JOB_METADATA.txt
The error I'm getting is:
Traceback (most recent call last):
File "/usr/local/lib/python3.8/dist-packages/sigProfilerPlotting/sigProfilerPlotting.py", line 1027, in plotSBS
fig_orig=make_pickle_file(context='SBS96', return_plot_template=True, volume=volume)
File "/usr/local/lib/python3.8/dist-packages/sigProfilerPlotting/sigProfilerPlotting.py", line 129, in make_pickle_file
os.mkdir(volume)
OSError: [Errno 30] Read-only file system: '/usr/local/lib/python3.8/dist-packages/sigProfilerPlotting/templates/'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/g/strcombio/fsupek_cancer1/SV_clusters_project/nextflow_pipeline/Mutation_clustering/SignatureExtractor.py", line 15, in
main_function()
File "/g/strcombio/fsupek_cancer1/SV_clusters_project/nextflow_pipeline/Mutation_clustering/SignatureExtractor.py", line 13, in main_function
sig.sigProfilerExtractor("matrix", "./Unclustered/Signatures", "./Unclustered/unclustered.SBS96.all", reference_genome="GRCh37", minimum_signatures=1, maximum_signatures=5, nmf_replicates=100, cpu=1)
File "/usr/local/lib/python3.8/dist-packages/SigProfilerExtractor/sigpro.py", line 793, in sigProfilerExtractor
sub.export_information(loopResults, mutation_type, layer_directory, index, colnames, wall=wall, sequence=sequence)
File "/usr/local/lib/python3.8/dist-packages/SigProfilerExtractor/subroutines.py", line 1110, in export_information
plot.plotSBS(signature_subdirectory+"/"+mutation_type+"_S"+str(i)+"Signatures"+".txt", signature_subdirectory+"/Signature_plot", "S"+str(i), tmp_m, True, custom_text_upper=stability_list, custom_text_middle=total_mutation_list)
File "/usr/local/lib/python3.8/dist-packages/sigProfilerPlotting/sigProfilerPlotting.py", line 1172, in plotSBS
os.remove(os.path.join(output_path, 'SBS_96_plots' + project + '.pdf'))
FileNotFoundError: [Errno 2] No such file or directory: './Unclustered/Signatures/SBS96/All_Solutions/SBS96_1_Signatures/Signatures/Signature_plot/SBS_96_plots_S1.pdf'
From the stdout file, I'm also getting this message:
************** Reported Current Memory Use: 0.33 GB *****************
Extracting signature 1 for mutation type 96
The matrix normalizing cutoff is 59057
process 1 continues please wait...
execution time: 2 seconds
process 1 continues please wait...
execution time: 3 seconds
process 1 continues please wait...
execution time: 2 seconds
.....
process 1 continues please wait...
execution time: 2 seconds
Time taken to collect 100 iterations for 1 signatures is 179.1 seconds
Optimization time is 2.5346157550811768 seconds
The reconstruction error is 0.2496, average process stability is 1.0 and
the minimum process stability is 1.0 for 1 signatures
There may be an issue with the formatting of your matrix file.
I read in the other issues that the Errno2 No such file of directory error is due to issues with older versions of SigProfilerPlotting, but as far as I can tell I am using the latest version, 1.3.13. I also couldn't find any references to the other error, Errno 30. Note that I am running SigProfiler within a singularity container, but I'm not sure if this has anything to do with it. I can run SigProfilerMatrixGenerator and SigProfilerClusters within the same container with no issues. As far as I can tell the matrix file unclustered.SBS96.all is fine because the first signature is generated in the Signatures directory, but the signature spectrum plot is not. Do you have any idea what might be generating these errors?
Thanks,
Maia

Hi @maia-munteanu,
The repositories are currently being updated to support moving post-installation files from the site-packages to a user defined location. The current implementation causes issues when running the code using a docker or singularity container, since plotting templates are being installed to a destination that does not have write access. I believe this is the error that you are seeing.
Until further updates have been made, please run using a python environment.
Thanks!


Typing for open_dataset/array/mfdataset and to_netcdf/zarr

[x] Closes #5382

Mypy is not able to compute the overloads of to_netcdf properly (too many Unions).
I had to add some # type: ignore
I am not sure about the types of

concat_dim
combine_attrs: the Callable part is still with Anys

I think merging main may fix the benchmark errors. (If you enable permissions for maintainers to modify the PR then GH offers a button to do this, FWIW)

I think merging main may fix the benchmark errors. (If you enable permissions for maintainers to modify the PR then GH offers a button to do this, FWIW)

It shows as enabled for me?

Whoops, some typing has lead to a bunch of type errors. I'll have to fix that some other day :)

Puh, 1k LOC diff, that was quite the rabbit hole...

Yes!
Re the concat_dim — it looks quite reasonable, though I'm not the expert. I would vote to merge before we get conflicts as I recognize it must have taken a lot of work to get here. I will also add a label and ask someone to have a look at our next dev meeting, though I suspect through time we'll find any improvements through bug reports & tests.
Thank you very much @headtr1ck !


fix(workflow): add token permissions

This PR may fix failing deploy-docs workflow.

Thanks @noelmcloughlin !


[QUERY] - Is there an Azure SDK endpoint that returns a VirtualMachineInstanceView object?

Query/Question
Hi!  In looking at the Rest API documentation, I found that this return type has a valuable field to me, namely the OS Profile Type, so I can easily tell if it's a Linux or Windows family VM.
https://docs.microsoft.com/en-us/rest/api/compute/virtualmachines/instanceview
I see that this type does exist in the Fluent SDK models, but I can't determine how to get one from the Fluent SDK.
https://docs.microsoft.com/en-us/dotnet/api/microsoft.azure.management.compute.fluent.models.virtualmachineinstanceview?view=azure-dotnet
I'm retrieving VM info today using this approach, but this gives me a Microsoft.Azure.Management.Compute.Fluent.VirtualMachineImpl object type which lacks the useful OSName fields.
azure.VirtualMachines.GetByIdAsync(vmArmID).Result;

Is there a way to get a VirtualMachineInstanceView object from the Fluent or ResourceManager SDKs?
Environment:

Name and version of the Library package used: [e.g. Azure.Storage.Blobs 12.2.0]
Hosting platform or OS and .NET runtime version (dotnet --info output for .NET Core projects): [e.g. Azure AppService or Windows 10 .NET Framework 4.8]
IDE and version : [e.g. Visual Studio 16.3]

Thank you for your feedback.  Tagging and routing to the team member best able to assist.

Once you have a vm object from Create() or GetById(), this object has an InstanceView property that provides access to the information you are seeking.
            var vm1 = azure.VirtualMachines.GetById("VMID");
            Console.WriteLine(vm1.InstanceView.OsName);
            Console.WriteLine(vm1.InstanceView.OsVersion);
            Console.WriteLine(vm1.InstanceView.XXXXX);
            ...

That's great, thank you Allen!


Night CI 2024-02-04: Failed -- egp not found

action url: https://github.com/spidernet-io/egressgateway/actions/runs/7776411155

• [FAILED] [202.664 seconds]
IP Allocation [Reliability_IP]
/home/runner/work/egressgateway/egressgateway/test/e2e/reliability/reliability_ip_test.go:21
  [It] test IP allocation [R00008, P00009]
  /home/runner/work/egressgateway/egressgateway/test/e2e/reliability/reliability_ip_test.go:71

  Timeline >>
  > Enter [BeforeEach] IP Allocation - /home/runner/work/egressgateway/egressgateway/test/e2e/reliability/reliability_ip_test.go:36 @ 02/04/24 20:53:23.217
  succeeded create egw: egw-a1baaa71-71e2-4cd2-b057-a538df1d6a5d
  < Exit [BeforeEach] IP Allocation - /home/runner/work/egressgateway/egressgateway/test/e2e/reliability/reliability_ip_test.go:36 @ 02/04/24 20:53:26.911 (3.694s)
  > Enter [It] test IP allocation - /home/runner/work/egressgateway/egressgateway/test/e2e/reliability/reliability_ip_test.go:71 @ 02/04/24 20:53:26.912
  STEP: create egressPolicies by gaven pods - /home/runner/work/egressgateway/egressgateway/test/e2e/reliability/reliability_ip_test.go:73 @ 02/04/24 20:53:26.912
  Automatically polling progress:
    IP Allocation test IP allocation (Spec Runtime: 23.695s)
      /home/runner/work/egressgateway/egressgateway/test/e2e/reliability/reliability_ip_test.go:71
      In [It] (Node Runtime: 20s)
        /home/runner/work/egressgateway/egressgateway/test/e2e/reliability/reliability_ip_test.go:71
        At [By Step] create egressPolicies by gaven pods (Step Runtime: 20s)
          /home/runner/work/egressgateway/egressgateway/test/e2e/reliability/reliability_ip_test.go:73

        Spec Goroutine
        goroutine 1405 [sleep]
          time.Sleep(0x1dcd6500)
            /opt/hostedtoolcache/go/1.20.5/x64/src/runtime/time.go:195
          github.com/spidernet-io/egressgateway/test/e2e/common.WaitEgressPolicyStatusReady({0x2973030, 0xc0000501b8}, {0x297ac00, 0xc000206510}, 0xc00045da40, 0x1, 0x1, 0xc0009d5da9?)
            /home/runner/work/egressgateway/egressgateway/test/e2e/common/egp.go:320
          github.com/spidernet-io/egressgateway/test/e2e/common.CreateEgressPoliciesForPods({0x2973030, 0xc0000501b8}, {0x297ac00?, 0xc000206510}, 0x4938d1?, {0xc000289a00, 0x32, 0x0?}, 0x6?, 0x1, ...)
            /home/runner/work/egressgateway/egressgateway/test/e2e/common/egp.go:393
        > github.com/spidernet-io/egressgateway/test/e2e/reliability_test.glob..func1.2()
            /home/runner/work/egressgateway/egressgateway/test/e2e/reliability/reliability_ip_test.go:74
              | // create egresspolicies
              | By("create egressPolicies by gaven pods")
              > egps, _, err = common.CreateEgressPoliciesForPods(ctx, cli, egw, pods, egressConfig.EnableIPv4, egressConfig.EnableIPv6, creationThresholdTime)
              | Expect(err).NotTo(HaveOccurred())
              |
          github.com/onsi/ginkgo/v2/internal.extractBodyFunction.func3({0x0, 0xc0007ab080})
            /home/runner/work/egressgateway/egressgateway/vendor/github.com/onsi/ginkgo/v2/internal/node.go:463
          github.com/onsi/ginkgo/v2/internal.(*Suite).runNode.func3()
            /home/runner/work/egressgateway/egressgateway/vendor/github.com/onsi/ginkgo/v2/internal/suite.go:889
          github.com/onsi/ginkgo/v2/internal.(*Suite).runNode
            /home/runner/work/egressgateway/egressgateway/vendor/github.com/onsi/ginkgo/v2/internal/suite.go:876
  STEP: create extra egressPolicies - /home/runner/work/egressgateway/egressgateway/test/e2e/reliability/reliability_ip_test.go:77 @ 02/04/24 20:54:33.36
  STEP: delete all egressPolicies - /home/runner/work/egressgateway/egressgateway/test/e2e/reliability/reliability_ip_test.go:88 @ 02/04/24 20:54:34.297
  STEP: create egressPolicies by gaven pods - /home/runner/work/egressgateway/egressgateway/test/e2e/reliability/reliability_ip_test.go:93 @ 02/04/24 20:54:39.962
  STEP: create another extra egressPolicies - /home/runner/work/egressgateway/egressgateway/test/e2e/reliability/reliability_ip_test.go:97 @ 02/04/24 20:55:44.095
  STEP: check egressgateway status synced with egresspolicies - /home/runner/work/egressgateway/egressgateway/test/e2e/reliability/reliability_ip_test.go:107 @ 02/04/24 20:55:44.998
  STEP: check eip of pods - /home/runner/work/egressgateway/egressgateway/test/e2e/reliability/reliability_ip_test.go:124 @ 02/04/24 20:55:46.191
  STEP: delete all egressPolicies - /home/runner/work/egressgateway/egressgateway/test/e2e/reliability/reliability_ip_test.go:135 @ 02/04/24 20:55:49.405
  STEP: check egressgateway status should be empty - /home/runner/work/egressgateway/egressgateway/test/e2e/reliability/reliability_ip_test.go:139 @ 02/04/24 20:55:58.407
  [FAILED] Unexpected error:
      <*errors.errorString | 0xc000625240>:
      egressGateway failed synced with egressPolicy, error: egresspolicies.egressgateway.spidernet.io "egp-e67eeca4-3683-47fc-bf60-1a2481ee41c4" not found

      {
          s: "egressGateway failed synced with egressPolicy, error: egresspolicies.egressgateway.spidernet.io \"egp-e67eeca4-3683-47fc-bf60-1a2481ee41c4\" not found\n",
      }
  occurred
  In [It] at: /home/runner/work/egressgateway/egressgateway/test/e2e/reliability/reliability_ip_test.go:141 @ 02/04/24 20:56:28.784
  < Exit [It] test IP allocation - /home/runner/work/egressgateway/egressgateway/test/e2e/reliability/reliability_ip_test.go:71 @ 02/04/24 20:56:28.785 (3m1.873s)
  > Enter [DeferCleanup (Each)] IP Allocation - /home/runner/work/egressgateway/egressgateway/test/e2e/reliability/reliability_ip_test.go:46 @ 02/04/24 20:56:28.785
  < Exit [DeferCleanup (Each)] IP Allocation - /home/runner/work/egressgateway/egressgateway/test/e2e/reliability/reliability_ip_test.go:46 @ 02/04/24 20:56:45.881 (17.096s)
  << Timeline

any update


Complete: Mehrad: Task 241- 245 Inquisitive, PROST

Hi,
I am adding five tasks. @admin Can you approve it?
Thanking you.

@Mehrad0711, wondering if you can help review this PR?

Please add a link to the dataset/ repo in "Source" field of each task file.
Rename "task241_inquisitive_inquisitive_question_generation.json" file to "task241_inquisitive_question_generation.json"
In all tasks I think it would be better to replace "\n" with a non-escaping character to avoid unwanted line splits when reading the file. Perhaps a special token like <sep> which can be added to the tokenizer special vocab list.
I think we can improve task definitions. I suggest the following:

tasks/task241_inquisitive_inquisitive_question_generation.json: The task is to generate an inquisitive question about a specific text span in a given sentence. A question is considered inquisitive when (1) it's about a specific text span in the sentence (2) the answer is not in the original sentence.
tasks/task245_inquisitive_span_detection.json: The task is to detect a text span in the passage about which an inquisitive question is asked. A question is considered inquisitive when (1) it's about a specific text span in the sentence (2) the answer is not in the original sentence.
tasks/task242_prost_question_generation.json: This task is to formulate questions about the information explicitly mentioned in a given passage.
tasks/task243_prost_mcq_generation.json and tasks/task244_prost_mcq_answers_generation.json: Please explain what MCQs are in the task definition.

The explanations can be simplified by removing "The above example is a (good | bad) example because"
In "task241_inquisitive_inquisitive_question_generation.json:" file: sentence itself sentence. --> sentence itself

@ashutosh1608, can you address reviewer comments so that I can evaluate?

Hi Swaroop, I'm on it but can you explain me the last review?
Thanks.
On Wed, Sep 22, 2021, 1:46 PM Swaroop Mishra @.***>
wrote:

@ashutosh1608 https://github.com/ashutosh1608, can you address reviewer
comments so that I can evaluate?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/swarooprm/CSE576HW/pull/125#issuecomment-925317278,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGGF722WQVRQDPQ3KK7AMRDUDI6CXANCNFSM5EBYKKWQ
.
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.

@ashutosh1608, can you address reviewer comments so that I can evaluate?

Hi Swaroop, I have addressed all the reviewer comments, you can go ahead and evaluate. Thanks.

@Mehrad0711, check if you are happy or have any other feedback?

Yeah, LGTM.

Your HW2 is complete now.
Would you like to submit the same tasks to our big project repo https://github.com/allenai/natural-instructions-expansion/pulls? You just need to fork that repo, rename tasks starting from the latest number in the repo and create PR there. This way, you can be part of our research on "learning from instructions instead of learning from examples (conventional machine learning)". This is purely optional and your HW2 grade does not depend on this @ashutosh1608

Sure thing, I'd like to be part of your research, I'll do as directed.
Thanks.

Would you like to submit the same tasks to our big project repo
https://github.com/allenai/natural-instructions-expansion/pulls? You just
need to fork that repo, rename tasks starting from the latest number in the
repo and create PR there. This way, you can be part of our research on
"learning from instructions instead of learning from examples (conventional
machine learning)". This is purely optional and your HW2 grade does not
depend on this @ashutosh1608 https://github.com/ashutosh1608
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/swarooprm/CSE576HW/pull/125#issuecomment-927155504,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGGF72ZQWIGMUHMYEIXLLMDUDYBFDANCNFSM5EBYKKWQ
.

Great! Thanks.

@ashutosh1608 Just a reminder that, if you plan to submit these tasks to the main Github repo and join our research project, Monday (27th Sept) is the deadline. Again, this is optional and independent of your HW2 grade.

@ashutosh1608 Just a reminder that, if you plan to submit these tasks to the main Github repo and join our research project, Monday (27th Sept) is the deadline. Again, this is optional and independent of your HW2 grade.

Hi Swaroop, I have raised the PR for the tasks. It is waiting for approval from a reviewer. Thanks.


lib.tests.release: build nix without flaky aws-sdk-cpp

Description of changes
The aws-sdk-cpp tests are flaky.
Since pull requests to staging cause nix to be rebuilt, this means that staging PRs end up getting false CI failures due to whatever is flaky in the AWS SDK tests.  Since none of our CI needs to (or should be able to) contact AWS S3, let's just omit it all.  Bonus: the tests build way faster.

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

General agreement to do this though :)

Okay, round three.


clientgen elements can't read their outputs back in without additional parsing

I have a clientgen code object for the query
query Farms { farms { id } }

For a schema with
type Farm {
    id: String!
}

The output for this query when run by hand includes the data and possibly error fields in the root of the returned payload - however the generated parseResponse(response::Value response) begins parsing for farms in the root document - not data
Combined with the JSON parsing of the returned document - it would make serialising the final response on the server and deserialising it back into C++ on the client simpler.
ie:
client::query::Farms::parseResponse(response::parseJSON(str))

Otherwise you need to do your own parse for data and errors beforehand.
Not gonna call this a bug but I would like to know if that is intentional behaviour or not. Doing a quick parse for data or errors is pretty easy - but could be standardised to save some boilerplate.

There's a function called parseServiceResponse in GraphQLClient.h which should do the trick. It'll split the response into data and error members, and then you can parse the data independently with the generated function from clientgen.
This has come up before, though. Maybe clientgen should output a comment with parseResponse referencing parseServiceResponse to make this clearer.


"TodoReview: Project Files" does not respect project "folder_exclude_patterns"

When using "TodoReview: Project Files", it includes files in folders that have been excluded by "folder_exclude_patterns" in the project settings. These folders (and files) do not appear in the sidebar or search and so should not be included in TodoReview

This is mentioned in the readme and numerous other issues. Sublime does not offer a plugin API to see what files/folders are excluded, so you must configure TodoReview accordingly.


Shailaja tasks

Pull request for including task074_squad1.1_question_generation

Hi @danyaljj,
My source of instructions is mainly their crowdsourcing template and analysis of their dataset (specifically section 3 & 4, figure 2 and table 2 in the paper https://arxiv.org/pdf/1606.05250.pdf).


[Feature Request] Enable mount propagation of directories on root file system.

Description
Docker has had mount propagation support for a while, but if one wants to deal with the host's root file system one generally has to do something like
mount --make-rshared /
docker run -v /:/rootfs:rshared .....

If code that runs inside the container and outside on the host expect the same path, it be cleaner to be able to do something like.  For instance code that talks to the docker daemon to run other containers and sets up volumes to be used by those containers.
docker run -v /path:/path:rshared ....

the above wont work, (I'm guessing) due to the fact that /path isn't a mount in and of itself.  In fact, it goes nuts mounting things on my local system and eventually dies with an error of
docker: Error response from daemon: oci runtime error: rootfs_linux.go:89: jailing process inside rootfs caused "pivot_root invalid argument".

one can solve that by bind mounting it to itself, ala
mount -- bind /path /path
docker run -v /path:/path:rshared ....

what I'm proposing is a way to automate that local bind mount with a new flag, that if the host path isn't a mount in and of itself, will bind mount it to itself so that mount propagation works correctly as one would naively expect.
thoughts?

The issue is that the path isn't within a shared mount (so in this case neither /path nor / is shared).
I do not think docker should automatically set this.. and believe that even creating the paths as we do now is really horrible.
A user can change the root mount for a particular path easily enough.
One thing that can be done is to stick docker itself into a mount namespace and set / to shared (or rshared). But this can cause other problems, and can't really be done by the docker daemon directly without some helper startup script.

In my above example, its really
mount --make-rshared /
docker run -v /path:/path:rshared...

unsure if that changes your comment.  (will try to fill in the rest in my next comment)

If you want to set up volumes, you might be better off making a volume plugin. Now these are just special images but they will get run with the right setup for making volumes.


SoS does not quit cleanly with exception from worker

SoS hangs when one of the workers raises an exception.
$ sos run Summarize_RNASeq.ipynb --dir ~/rsrch1/RNASeqV2/IPCT/Projects/PHLT0001
INFO: Executing default_0:
INFO: input:    []
INFO: Resolving 14 objects from 1 nodes
Process SoS_Worker-2:
Traceback (most recent call last):
  File "/Users/bpeng1/anaconda/lib/python3.6/multiprocessing/process.py", line 249, in _bootstrap
    self.run()
  File "/Users/bpeng1/anaconda/lib/python3.6/site-packages/sos-<IP_ADDRESS>-py3.6.egg/sos/sos_executor.py", line 153, in run
    self.run_workflow(*work[1:])
  File "/Users/bpeng1/anaconda/lib/python3.6/site-packages/sos-<IP_ADDRESS>-py3.6.egg/sos/sos_executor.py", line 173, in run_workflow
    executer.run(targets=targets, parent_pipe=self.pipe, my_workflow_id=workflow_id)
  File "/Users/bpeng1/anaconda/lib/python3.6/site-packages/sos-<IP_ADDRESS>-py3.6.egg/sos/sos_executor.py", line 687, in run
    dag = self.initialize_dag(targets=targets)
  File "/Users/bpeng1/anaconda/lib/python3.6/site-packages/sos-<IP_ADDRESS>-py3.6.egg/sos/sos_executor.py", line 632, in initialize_dag
    self.resolve_dangling_targets(dag, targets)
  File "/Users/bpeng1/anaconda/lib/python3.6/site-packages/sos-<IP_ADDRESS>-py3.6.egg/sos/sos_executor.py", line 442, in resolve_dangling_targets
    raise RuntimeError('No step to generate target {}{}'.format(target, dag.steps_depending_on(target, self.workflow)))
RuntimeError: No step to generate target /Users/bpeng1/rsrch1/RNASeqV2/IPCT/Projects/PHLT0001/IPCT-PHLT0001-24112-208023-B-TU-F01/IPCT-PHLT0001-24112-208023-B-TU-F01.snpEff.vcf.gz requested by merge-vcf_0

Assuming this can happen with other programs, interrupt from sos notebook should kill the subprocess, not the kernel. The latter is the case right now.

It might also be the case that other workers are working, so it is not entirely sure if we should change the behavior.


[CI] Fix Go binaries installation on the macOS runners

What does this PR do?
This PR fixes the golangci-lint: command not found we have on the macOS Gitlab runners.

Motivation
From Golang documentation:
The go install command builds and installs the packages named by the paths on the command line. Executables (main packages) are installed to the directory named by the GOBIN environment variable, which defaults to $GOPATH/bin or $HOME/go/bin if the GOPATH environment variable is not set. Executables in $GOROOT are installed in $GOROOT/bin or $GOTOOLDIR instead of $GOBIN. Non-executable packages are built and cached but not installed.

With the former code, GOBIN and GOPATH being unset, the installation defaulted to $HOME/go/bin to install the tools.
Since we're using gimme to install golang only $HOME/.gimme/versions/go.x.y.darwin.arm64/bin is in the PATH. This made the runners unable to find golangci-lint with a:
/bin/bash: golangci-lint: command not found

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

/merge


Update 410

What this PR does / why we need it:
This PR forwards the release-4.10 branch to the latest main branch
Checklist

[ ] Subject and description added to both, commit and PR.
[ ] Relevant issues have been referenced.
[ ] This change includes docs.
[ ] This change includes unit tests.

/lgtm

/test e2e-aws

/retest-required

/test images

/retest


Why is Firebase Analytics only included for iOS?

I'm digging through trying to understand why Firebase isn't recording any activity for Android but recording all for iOS. And I noticed this in plugin.xml for the plugin itself
<platform name="ios">
    <pods>
	<pod name="Firebase/Analytics" spec="~> 6.3.0" />
	<pod name="Firebase/Messaging" spec="~> 6.3.0" />
    </pods>
</platform>

There's no mention of Firebase Analytics for Android configurations.

It used to be required in the past. It seems to not be required anymore.
Thank you for letting me know.

Dependency removed in the new 7.3.0 version. Thank you.

I was actually bringing it up hoping to see how we could include it for Android as well. It's working great for iOS (from what I can tell), but I need to use another plugin for Android, which is causing some compatibility issues with this one.

@aml25
Which plugin you are you using? Maybe the incompatibility can be addressed.

Some plugins that initialise firebase will conflict as firebase instance is already initialised with given configuration. It would be good if you can either let firebase initialiser to be passed to plugin and it can use an existing initialised firebase instance or if it is not passed then initilise it and export it so user can have both firebase and fcm exported to their app so they can use the same instance with other plugins or on their own.
Only initialize Firebase if no firebase instance is passed and then export that instance back regardless of being initialised by this plugin or passed to you.
Let me know if there is a better solution to this. iOS analytics was giving good output on firebase dashboard and google analytics.

Interesting, would you share which plugins are you using that conflict with this one? I can verify how difficult would it be to make them work together.

Please see #176 as one example.

I need to dig deeper into this, but one of the issues I'm seeing is that only iOS reports "notification" events by default. I believe this is happening due to this plugin including Analytics for iOS and not Android. Using cordova-plugin-firebase-analytics does fire Android events to Analytics, but it doesn't capture any notification events.


Doc confusion

Proper variables are proper nouns - any word that isn't a reserved keyword and starts with an uppercase letter. Proper variable names can contain spaces as long as each space is followed by an uppercase letter.

Put 'Hello World' into the message will assign the value 'Hello World' to the variable the message.

as well as

My heart is true - initialises the variable my heart with the Boolean value true

and many others.
How is this valid?

My, is and true are keywords, that's fine. The parser will find the keyword is, end the global variable declaration beginning with My and expecting a value. The value is the keyword true, with that the statement ends

In that case it should be clarified that you don't always need to have each word in the variable name start with an uppercase letter.

You need capitals for proper variables, common variables start with my etc and start with lower case.

Common variables MUST start with a, an, the, my or your followed by a unique variable name, which must contain only lowercase ASCII letters a-z. So my red house would not be a valid variable name, but my house is fine.
Proper variables must always be a series of Title Cased Identifiers that aren't language keywords.
But remember I'm still sort of batting ideas around and seeing how they work so all this is (a) just for fun, (b) subject to change and (c) getting WAAAY more issues and PRs than I thought I would. Which is kinda cool. :)


warnings in install (npm i)

[ ] Bug report
[ ] Feature request
[ ] Documentation issue or request
Environment
- generator version: 3.2.1
- node version: 8.9.4
- npm version: 5.6.0
- OS: Windows

Hello,
When I launch npm install it says warnings :
npm WARN deprecated<EMAIL_ADDRESS>Please upgrade to Chalk 2.1.0 - template literals in this version (2.0.1) are quite buggy.
npm WARN deprecated<EMAIL_ADDRESS>Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated<EMAIL_ADDRESS>All versions below 4.0.1 of Nodemailer are deprecated. See https://nodemailer.com/status/
npm WARN deprecated<EMAIL_ADDRESS>Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated<EMAIL_ADDRESS>Use uuid module instead

That's normal ?
Thanks

Yes, that "normal". These warnings are due present in dependencies of dependencies, and related to offline tooling.

Thanks :)


Hooking into lifecycle events for cleanup

Description
Components have lifecycle hooks but do not provide a means to update the state of the app. This makes it difficult to cleanup any component actions. For example, consider a component that when mouseover occurs, will fetch data every ten seconds. When I leave the page and the component unmounts, I can catch the unmount event, but I have no way to send a message that would allow me to stop fetching.
I was able to handle this before the update to 0.3 by using state.update in the view function; but state is no longer passed in as an argument. At the moment, we are slowly integrating seed into an existing app, so we are not at the point where we are using routes (I think I could hook into there if I was). I think the easiest thing (from my point of view) would be to provide a way to send messages in lifecycle callbacks, similar to how events can send messages in their callback function. Is this something that can be done?
Regards,
Will

The API I'm thinking for this is a seed::update function that can be called anywhere. Need to sort out the implementation.

It might be more feasible to implement having the lifecycle hooks return an Option that can be used to update state once complete with side-effects.

WIP API: did_mount(|_| log!("mounted")).update(Msg::DoThis)

Added my progress to latest commit (Breaks tests, but not code). Panics if you attempt to use the .update2() syntax described above.

Note: Tests are currently broken due to this WIP change. Expect them to be broken until resolved.

Thanks @David-OConnor, will take a look at this when I get a chance.

@MartinKavik fixed the tests, and the PR he referenced above will likely to the solution to this issue.

update2() doesn't do anything for me, it's not sending any messages.
Anyways, this API does not provide a way to pass the node passed to the lifecycle closure to the event. I'm trying to integrate a canvas element into seed, which needs both the model and the HtmlCanvasElement (aka Node) at the same time. Seed provides a canvas! macro, but I don't think it can actually be used at this point.

Didn't get update2 (WIP name) working yet. Still need to fix.

Any progress here?

Nope

Is this able to be handled by seed::update?

Is there a way to do this in 0.4.0? Looks like the update2 fn has been removed.
Would it be possible to have the lifecycle hooks return a message?

@jgrund Could you provide an example(s) so we/I can help you resolve your issues and it's clear what are you trying to do?
Note: In 0.4.0 you can get App instance to call app.update(..) from orders.
Example: https://github.com/David-OConnor/seed/blob/master/examples/animation_frame/src/lib.rs#L72

@MartinKavik Sure, in my case I'm trying to propagate the validation state of an input to the model when did_mount fires. There doesn't appear to be an easy way to do this within the view.

I haven't used hooks before so I've created a simple example from the quick source code exploration: https://github.com/MartinKavik/seed/blob/demo/did_mount/examples/did_mount/src/lib.rs.
But it doesn't work and API seems a little bit weird on the first glance.
So I suggest to :

Create a new issue dedicated to general hook APIs.
Find out current state of hooks.
Prepare some real-world examples because hooks can be easily abused to do VirtualDOM's work by reading and modifying DOM and it's hard to debug it. And we need something for integration tests.
Redesign API if necessary.
Write some unit tests and implement it.

@David-OConnor what do you think?

I don't use hooks myself, here or elsewhere - if there are ways around them in most cases, we can ditch the hooks api entirely. Need a good understanding of what the common use-cases.

My use case: I use a hook into a canvas element and render the canvas when it's initialized. I think this could be quite common for html canvas-heavy apps

I investigated it a little bit and found some related discussions in the Elm world:

https://github.com/elm/virtual-dom/issues/11
https://github.com/elm/html/issues/19

It looks that hooks are useful in some special cases but Elm still doesn't support them because we don't need them in the most cases and it can be hard to design it properly.

Back to specific use-cases:

@zimond's one - Canvas element

There is Elm library which uses custom element (see elm-canvas.js and element creation). So we can use custom elements for cases like this but I don't know if it's a workaround or a proper solution.

@jgrund's one - Propagate validation state of an input to the model

It sounds a little bit weird to me but we probably need more context here.

@johnsonw's one - Stop fetching on component unmount when leaving page

At the moment, we are slowly integrating seed into an existing app, so we are not at the point where we are using routes (I think I could hook into there if I was).

I agree with you that you should "listen" route/page changes (or some other reliable events) instead of a component unmount. (Un)mounting is async because Seed waits for the next animation frame to rerender page so It's possible that according to your Model you are already on the other page but it still fetches.
So it seems like an anti-pattern to me and you can probably use some workarounds while you are integrating Seed into existing application.

Some more context, I am utilizing the built-in HTML5 validation API: https://developer.mozilla.org/en-US/docs/Learn/HTML/Forms/Form_validation#Using_built-in_form_validation.
My usecase is conceptually simple; I want to display the error message from a required attribute when the element mounts on the page. I want to do this with a custom error tooltip. Ex:

The tricky part is that the DOM controls essentially own that error message (accessible via https://docs.rs/web-sys/0.3.25/web_sys/struct.HtmlInputElement.html#method.validation_message, so I need a way to persist that message to the model when the component loads so it can be rendered into that tooltip.
If I could trigger a message when the element mounts, I could persist it through the update fn.
If there is some other way to utilize that message in the tooltip on page load (rather than hooks), I'd be happy to do that as well.

I've created an example of custom "tooltip" with an error message.

https://github.com/MartinKavik/seed/blob/demo/did_mount/examples/did_mount/src/lib.rs
You can clone branch and run cargo make start did_mount from the root.

However there is one thing which I don't understand:

in the tooltip on page load

@jgrund: Why on page load? - When do you run form validation?

P.S. There is Ev::Invalid in example. It's missing in Seed, it's todo - I'll probably create a new issue or add missing events.

if there are ways around them in most cases, we can ditch the hooks api entirely

I'm starting to agree with @David-OConnor. See this comment: https://github.com/David-OConnor/seed/issues/200#issuecomment-522235968. Custom elements seem to be a better alternative (also in Elm world - see https://guide.elm-lang.org/interop/custom_elements.html).
To support custom elements we probably just need to add API to support custom events (and it will be nice to add missing official events as well). I'll create an issue if we agree on this.

FYI, there is a new API and examples:
@zimond's - Canvas element

see the canvas example :)
and JS custom element
and Typescript custom element

@jgrund

If there is some other way to utilize that message in the tooltip on page load (rather than hooks), I'd be happy to do that as well.

I think you can use also the new API orders.after_next_render. See canvas example.

I think we can close the issue.

@MartinKavik Thank you for the updates. I'll close the issue.


Cognitive Services 2024-10-01

ARM (Control Plane) API Specification Update Pull Request

[!TIP]
Overwhelmed by all this guidance? See the Getting help section at the bottom of this PR description.

PR review workflow diagram
Please understand this diagram before proceeding. It explains how to get your PR approved & merged.

Purpose of this PR
What's the purpose of this PR? Check the specific option that applies. This is mandatory!

[ ] New resource provider.
[x] New API version for an existing resource provider. (If API spec is not defined in TypeSpec, the PR should have been created in adherence to OpenAPI specs PR creation guidance).
[ ] Update existing version for a new feature. (This is applicable only when you are revising a private preview API version.)
[ ] Update existing version to fix OpenAPI spec quality issues in S360.
[ ] Convert existing OpenAPI spec to TypeSpec spec (do not combine this with implementing changes for a new API version).
[ ] Other, please clarify:

edit this with your clarification

Due diligence checklist
To merge this PR, you must go through the following checklist and confirm you understood
and followed the instructions by checking all the boxes:

[x] I confirm this PR is modifying Azure Resource Manager (ARM) related specifications, and not data plane related specifications.
[x] I have reviewed following Resource Provider guidelines, including
ARM resource provider contract and
REST guidelines (estimated time: 4 hours).
I understand this is required before I can proceed to the diagram Step 2, "ARM API changes review", for this PR.

Additional information

 Viewing API changes
For convenient view of the API changes made by this PR, refer to the URLs provided in the table
in the Generated ApiView comment added to this PR. You can use ApiView to show API versions diff.

Suppressing failures
If one or multiple validation error/warning suppression(s) is detected in your PR, please follow the
suppressions guide to get approval.

Getting help

First, please carefully read through this PR description, from top to bottom. Please fill out the Purpose of this PR and Due diligence checklist.
If you don't have permissions to remove or add labels to the PR, request write access per aka.ms/azsdk/access#request-access-to-rest-api-or-sdk-repositories
To understand what you must do next to merge this PR, see the Next Steps to Merge comment. It will appear within few minutes of submitting this PR and will continue to be up-to-date with current PR state.
For guidance on fixing this PR CI check failures, see the hyperlinks provided in given failure
and https://aka.ms/ci-fix.
For help with ARM review (PR workflow diagram Step 2), see https://aka.ms/azsdk/pr-arm-review.
If the PR CI checks appear to be stuck in queued state, please add a comment with contents /azp run.
This should result in a new comment denoting a PR validation pipeline has started and the checks should be updated after few minutes.
If the help provided by the previous points is not enough, post to https://aka.ms/azsdk/support/specreview-channel and link to this PR.

      "format": "arm-id",

you can also add a x-ms-arm-id-details with allowedResources if the id will be only Microsoft.CognitiveServices one

Refers to: specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2024-10-01/cognitiveservices.json:5476 in 7125885. [](commit_id = 712588527b63edd85646b714ed5d9c82f4843200, deletion_comment = False)

I signed it off but check also my comment about arm-id properties


Disabled dates will be enabled once the user selects a date.

Describe the bug
Disabled dates will be enabled once the user selects a date. Is there a way to retain the disabled status?
To Reproduce
See this link: https://stackblitz.com/edit/vue-tailwind-datepicker-f4boen?file=src%2Fcomponents%2FPlayground.vue
Steps to reproduce the behavior:

Notice the dates initially disabled determined by the disableDates() function.
Select any date on the date picker.
Once the date have selected, those initially disabled dates have enabled.

Expected behavior
Initially disabled dates should retain disabled once the date has been selected.
Screenshots

Desktop & mobile (please complete the following information):
"node_modules/vue-tailwind-datepicker": {
"version": "1.7.1",
"resolved": "https://registry.npmjs.org/vue-tailwind-datepicker/-/vue-tailwind-datepicker-1.7.1.tgz",
},

My mistake! There's a prop disableInRange that should fix my issue. I wasn't able to read it on the docs.


Update functions-identity-based-connections-tutorial.md

Fixed typo

@mathiasi : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Update ESP_PanelVersions.h

Hi @isthaison, the ESP_PANEL_BOARD_CUSTOM_VERSION_PATCH in the ESP_PanelVersions.h file should be same with ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH in the ESP_Panel_Board_Custom.h file. Could you please explain the reason for making this modification?

If the project root does not initialize the ESP_Panel_Board_Custom.h file, it will warn

https://github.com/esp-arduino-libs/ESP32_Display_Panel/blob/master/src/ESP_PanelVersions.h#L82  looks like the place to declare again if there is no file


fixed (typo?) in Op_SBC, it now passes Klaus Dormann's actual test suite

the decimal subtraction didn't pass Klaus' tests and Bruce Clark's test neither:
sed      ; Decimal mode (BCD subtraction: 12 - 21)
sec
lda #$12
sbc #$21
expected after this instruction, C = 0, A = $91 but A was $EB (or something).
Looks like a typo.

great! thanks


Change the portable theme engine's license to Apache 2.0 so it can be used by more projects.

As of right now, it's under GPLv3+, which isn't really helpful for a library.

It's back to GPLv3+ until it matches the functionality of the built-in theme engine, at which point it'll go back to Apache License 2.0.


An unremovable Linux icon shows up on the desktop upon install

This issue is a duplicate of #11325, which was closed prematurely. Please read on.
Windows Version
Microsoft Windows [Version 10.0.22631.3296]
WSL Version
<IP_ADDRESS>
Are you using WSL 1 or WSL 2?

[X] WSL 2
[ ] WSL 1

Kernel Version
<IP_ADDRESS>-2
Distro Version
No response
Other Software
No response
Repro Steps
Install WSL on a new machine through wsl --install, through the Microsoft Store or through the MSIX fron GitHub.
Expected Behavior
A Linux icon should be added to the File Explorer sidebar and nowhere else (not the desktop).
Actual Behavior
Upon install, a Linux icon appears on the desktop that cannot be removed other than through registry changes (see here). The icon is equivalent to the one on the File Explorer sidebar and takes you to \\wsl$. (The icon in the sidebar is still created.)
This icon is created before the Ubuntu app package is installed --- it is NOT related to the Ubuntu app package as claimed in #11325. It also created if one only installs WSL through the MSIX and no distribution, or if one selects a different distribution.

This is new and unexpected behavior, as previously, an icon would only be added to the sidebar, not the desktop. It also only happens on new installs. On another machine where WSL has been installed and continually updated (through the Microsoft Store and GitHub) since July 2022, no desktop icon appears even after updating to the latest WSL version.
Diagnostic Logs
No response

Thank you @adrianghc. We've made some installation fixes in 2.2.1, can you try upgrading and see if the icon is still there ?
If so, can you share a screenshot of it's property page ?

Unfortunately, 2.2.1 doesn't fix this. Also unfortunately, you cannot open the icon's property menu, as that results in this error:

"The properties of this element are not available."

Thank you @adrianghc. Does the icon go away if you run wsl.exe --uninstall ?

Yes, it does.

Ok good. Can you capture a full installing trace by downloading the msi and running:
(as administrator)
msiexec /i <path-to-msi> /L*VX C:\wsllogs.txt

And then check if that re-created the shortcut ?

This does indeed create the shortcut. I have attached the log file.
wsllogs.txt

Thank you @adrianghc. I have a theory:
Does opening regedit.exe and deleting HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\{B2B4A4D1-2754-4140-A2EB-9A76D9D7CDC6} gets you rid of the shortcut ?

This is exactly correct. 👍

Ok that's the icon I was thinking from. Can you share the content of HKEY_CLASSES_ROOT\CLSID\{B2B4A4D1-2754-4140-A2EB-9A76D9D7CDC6} ? That's probably where something is messed up.

Oh, I have another theory: Is your system main drive installed on C:\ ? Does C:\Windows\System32\windows.storage.dll exist ?

This is the content of HKEY_CLASSES_ROOT\CLSID\{B2B4A4D1-2754-4140-A2EB-9A76D9D7CDC6}:
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\CLSID\{B2B4A4D1-2754-4140-A2EB-9A76D9D7CDC6}]
@="Linux"
"SortOrderIndex"=dword:00000077
"System.IsPinnedToNameSpaceTree"=dword:00000001

[HKEY_CLASSES_ROOT\CLSID\{B2B4A4D1-2754-4140-A2EB-9A76D9D7CDC6}\DefaultIcon]
@="C:\\Windows\\System32\\wsl.exe,-1"

[HKEY_CLASSES_ROOT\CLSID\{B2B4A4D1-2754-4140-A2EB-9A76D9D7CDC6}\InProcServer32]
@="C:\\Windows\\System32\\windows.storage.dll"

[HKEY_CLASSES_ROOT\CLSID\{B2B4A4D1-2754-4140-A2EB-9A76D9D7CDC6}\Instance]
"CLSID"="{4FE04BFD-85B9-49DD-B914-F4C9556B9DA6}"

[HKEY_CLASSES_ROOT\CLSID\{B2B4A4D1-2754-4140-A2EB-9A76D9D7CDC6}\Instance\InitPropertyBag]
"DisplayType"=dword:00000002
"EnumObjectsTelemetryValue"="WSL"
"Provider"="Plan 9 Network Provider"
"ResName"="\\\\wsl.localhost"

[HKEY_CLASSES_ROOT\CLSID\{B2B4A4D1-2754-4140-A2EB-9A76D9D7CDC6}\ShellFolder]
"Attributes"=dword:a080004d
"FolderValueFlags"=dword:00000028

Is your system main drive installed on C:\ ? Does C:\Windows\System32\windows.storage.dll exist ?

Yes and yes.

Hmm this all looks correct.
What's the content of  HKEY_CLASSES_ROOT\CLSID\{4FE04BFD-85B9-49DD-B914-F4C9556B9DA6}\ShellFolder ?

Also another question: Is the "Windows subsystem for Linux" optional component enabled ?

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\CLSID\{4FE04BFD-85B9-49DD-B914-F4C9556B9DA6}\ShellFolder]
"FolderValueFlags"=dword:00080000

The optional component is not installed on this machine, but it is on my other machine where the icon does not appear (the machine I mention in the last paragraph of the original post). You might be onto something there...

Thank you @adrianghc. This all looks correct.
Unfortunately I still can't reproduce the issue with the optional component enabled or disabled. Does enabling the optional component and then rebooting make the icon disappear ?

Yes, that is indeed exactly what happens (though it also disappears from the File Explorer sidebar then).

Hmm I guess that does makes sense since that would overwrite the registry keys. If you uninstall and then reinstall WSL with the optional component enabled, does the icon come back ?

It does not come back in this case. And that would explain the difference between my two machines.

This happened to me out of the blue, having uninstalled WSL, the Linux icon re-appeared, and clicking upon it had Windows 11 complain at me that 'WSL components were missing'. I had to either recreate the registry entry, or uninstall WSL with wsl.exe --uninstall - I chose the latter.

This happened to me out of the blue, having uninstalled WSL, the Linux icon re-appeared, and clicking upon it had Windows 11 complain at me that 'WSL components were missing'. I had to either recreate the registry entry, or uninstall WSL with wsl.exe --uninstall - I chose the latter.

Woa thanks, that helped in my case.
In the past I tested WSL but uninstalled it.
The icon re-appeared after I fiddled arround with networkdrives.

Ok, it just happened for me. I found WSL was installed by MS Store few minutes before this scary little Penguin appeared on my desktop. I ran all Anti Virus & Malware tools I could think about.
Thanks I landed here, and used the mentioned "wsl.exe --uninstall" through Admin Powershell command to get ride of it.
Weird this cannot be uninstalled through the MS Store or Windows installed App or Components...

I have the same problem!!!

here is a workaround:
https://www.brainbytez.nl/windows/windows-11-hide-remove-wsl-linux-icon-from-desktop/
https://www.tweaknow.com/RegTweakHideDesktopIcons.php
https://www.reddit.com/r/windows/comments/185fyx2/linux_icon_on_my_desktop_that_i_cant_remove_not/

This is strange, i have to install docker desktop, the installation seems to activate WSL in the "Windows features on/off".
So i removed the registry dword (the workaround), it is not needed when you activate wsl in win features.

I got the "Linux" Explorer sidebar entry and the desktop icon after uninstalling WSL on different machines some months ago.
Both the fixes works for me:
1:
Run wsl.exe --uninstall again.
If you just uninstalled WSL, you might want to restart Windows before doing so to make sure nothing will interfere.
It will remove the whole HKEY_CLASSES_ROOT\CLSID\{B2B4A4D1-2754-4140-A2EB-9A76D9D7CDC6}, instead of the pin-point fix below, which keeps that entry intact.
2:
Remove the Explorer sidebar entry:
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\CLSID\{B2B4A4D1-2754-4140-A2EB-9A76D9D7CDC6}]
"System.IsPinnedToNameSpaceTree"=dword:00000000

Remove the the desktop icon:
Windows Registry Editor Version 5.00

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\{B2B4A4D1-2754-4140-A2EB-9A76D9D7CDC6}]

The icons won't re-appear for me and I didn't test it, since I got the settings sync disabled.
If you only got 1 machine synced, then it should be fixed after you deal with it and sync the settings.

 I found the simple way to fix this.

click the search box on windows and search "wsl"
right-click on that wsl icon(which is a shortcut), then click "Open file location"
In that location, you can find the wsl icon in the forder, Program Files which has the shortcuts of such systemfiles.
delete the shortcut and then the unremovable desktop icon, 'wsl' will also be automatically removed.

UNSUBSCRIBE
On Fri, Jun 14, 2024, 4:36 PM Danilo A. @.***> wrote:

This is strange, i have to install docker desktop, the installation seems
to activate WSL in the "Windows features on/off".
So i removed the registry dword (the workaround), it is not needed when
you activate wsl in win features.
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/WSL/issues/11347#issuecomment-2168728089,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABIZ6L3I2BYAYZLZWSQ7T3LZHNH3ZAVCNFSM6AAAAABFDU7V3SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNRYG4ZDQMBYHE
.
 I found the simple way to fix this.

click the search box on windows and search "wsl"
right-click on that wsl icon, then click "Open file location"
In that folder which contains startmenu, you can find 'wsl' icon which is a shortcut to the wsl.exe in System32 folder.
delete the shortcut in that folder and then the desktop icon, 'linux' will also be automatically removed.

Simply, find the shortcut in the start menu folder in your windows, then delete the appropriate shortcut (wsl) to disappear the icon (linux) in your desktop.

Not work for me.

Was this ever solved? I got the same issue


awsCodeBuild: This step has not yet defined any visual configuration.

I have learned in this github issue  that the awsCodeBuild plugin also supports Jenkins pipeline.
But the Snippet Generator (Jenkins 2.3.2) doesn't lets you generate a groovy snippet for awsCodeBuild, it only displays the message 'This step has not yet defined any visual configuration.'
Could you therefore please:
a) Add visual configuration
b) Add a sample snippet for pipeline to the Readme.md?

https://github.com/awslabs/aws-codebuild-jenkins-plugin/commit/8840317859700952aede28e61b70c7ce0e98ed4d

@leobaran-aws Thanks. :)


What is the version of slowfast(R50)?

I tried to extract video features through slowfast 8x8 R50 on the tvsum data set. There are some differences from the features downloaded in the feature file you gave.
given: XzYM3PfTM4w.npz

extract by slowfast 8x8 R50

This ended up not working well when I went to test

I am using this version now:

I know the reason. I accidentally switched the positions of clip and slowfast during concat, which resulted in poor results.

Hi @hellojet , have you found the reason? can you please use this codebase for feature extraction. https://github.com/linjieli222/HERO_Video_Feature_Extractor for easy reproduction.


Add label on comment parent

Need to add the label/badge on comment, that how many responses/replies the parent comment have.

#16


Add new "send_broadcasted_messages_to_discord" setting feature

This pull request adds the ability to send server broadcasted messages to discord, especially those sent via the /say command. If the broadcasted message has no sender (executed from the console), then the message's format will default to Server: <message>. If webhooks are being used, the webhook's avatar will be that of the Discord bot being used. A respective setting has been added in the Config class as well.
I'm fully open to any suggestions or changes to this PR if deemed necessary :D

Thank you for the contribution!


Add test for RequireValueGenerator handling

#3282 got fixed by other changes.
Removed all work-arounds and added test

:shipit:


fix validation.py file

Fixes #<issue_number_goes_here>

It's a good idea to open an issue first for discussion.

[ ] Tests pass
[ ] Appropriate changes to README are included in PR

test


Very slow voterGuidesToFollowRetrieve API performance causes trouble

We have a very very slow api, voterGuidesToFollowRetrieve, that is paged, and for the California election the 3 pages takes about 45 seconds to complete.  It causes all kinds of delays, lack of UI fluidity (bordering on freezes), and makes the first minute of the app session mediocre on the WebApp and much worse in Cordova.
In addition to not wanting to wait for so long for the data, the server is grinding away for 45 seconds on each new session startup (based on the California election complexity).
I'm going to start this one off at priority 2 for the project, but it is priority 1 for Cordova.

@DaleMcGrew
Hi Dale,
The previous performance changes on the React side helped a lot, and I could keep going down that path for lower value queries -- all the time trying to get the performance of Cordova up to acceptable.  The highest payoff query to optimize server side, is still voterGuidesToFollowRetrieve, and it is a performance blocker for Cordova.
I'd like to try adding Redis to the API server. Based on the metrics in this issue, even if we took the query in Python and coded it to be 5x  faster, it would still be very processor and disk intensive.  I looked through the code, there are many places we make python calls that are NOT voter_we_vote_id specific -- those would be great candidates to cache.  That voterGuidesToFollowRetrieve query is paged 3x for California, so we are running parts of the same query 3 times for one dataset update.
I would add Redis, so that its use is configurable and optional, so that we could optionally use Redis on dev machines, and to not rule out using the Redis version of ElastiCache in case we wanted to share a cache between multiple instances.
I bet I could get that 45 seconds to down to 0.1 seconds for the second identical query by the same user (we do that!), and maybe in half or a quarter for the first query for the same election, by a second user.  That would mean many fewer aws instances as loads went up.
What do you think?
Thanks,
Steve
https://www.fullstackpython.com/blog/install-redis-use-python-3-ubuntu-1604.html

Hi @SailingSteve, I’d like to discuss first, perhaps early this next week?
I think the way we work with voter-guides-to-follow needs to be refactored on both the server and in WebApp (not just raw performance improvements). I have been thinking about one way to do this. The good news is that I don’t think we will see situations with as many guides in another election in 2018 as we did for this recent California election, because I don’t think we’re going to pull the ratings from Vote Smart again.

I made several improvements that should hold us for the next year or two.


useConfig docs link is broken

Inside the SEO docs there is a section talking about a useConfig function, with a link on the useConfig text which leads here: https://nextra.site/docs/docs-theme/api/use-config
However the link appears to be broken, leading to a 404

Duplicate https://github.com/shuding/nextra/issues/1139


Implementation of buildpack.yml to env var migration

Thanks for contributing. To speed up the process of reviewing your pull request
please provide us with:

A short explanation of the proposed change:

Implementation of RFC 0003.

An explanation of the use cases your change enables:

Allows a user to specify the mri version to use via the $BP_MRI_VERSION environment variable. The following changes still support using buildpack.yml for configurations, but includes a warning message in the build phase that this will be deprecate in MRI Buildpack v0.1.0.
An implementation choice I have made is to include all versions as requirements in the detect phase (i.e. if a user sets a version through both $BP_MRI_VERSION and buildpack.yml, both version entries will be requirements). The build phase plan entry resolver contains logic to choose the version with the highest priority, and will list the different options in the logs under Candidate version sources (in priority order).
Please confirm the following:

[X] I have viewed, signed, and submitted the Contributor License Agreement.
[X] I have added an integration test, if necessary.

@ryanmoran @ForestEckhardt I'm finally finished tweaking this PR, so it's ready for review.


Add knative-serving-ingress for OSSM 3.x

JIRA: https://issues.redhat.com/browse/SRVKS-1281
Changes

Adds knative-serving-ingress to policies, as this is where the istio-ingressgateway will be for OSSM 3.x

/assign @skonto

/lgtm
/approve


Make Xcode project cross platform

Look into making versions that run on iOS (phone and pad).

load a video, setup all the effects, then it syncs to iCloud and you can render it on your home machine.
have a platform ready for integrating any cool new AR features that come out at WWDC
eventually stable diffusion won't be the only effect, and maybe some could be rendered on mobile

Maybe split this into separate tasks.
For the AR bit, get to a point where I have ARKit going using existing toolkits.  Have this ready by WWDC.
Doesn't have to do anything yet, maybe even commented out. Just have it ready for quickly integrating new stuff.


add the router key in dubbo.xsd

Codecov Report

Merging #5337 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@             Coverage Diff              @@
##             master    #5337      +/-   ##
============================================
+ Coverage     61.18%   61.18%   +<.01%
+ Complexity      424      421       -3
============================================
  Files           919      919
  Lines         37517    37520       +3
  Branches       5462     5462
============================================
+ Hits          22956    22958       +2
- Misses        12053    12057       +4
+ Partials       2508     2505       -3

Impacted Files
Coverage Δ
Complexity Δ

...g/apache/dubbo/config/AbstractReferenceConfig.java
87.5% <100%> (+0.7%)
0 <0> (ø)
:arrow_down:

...e/dubbo/remoting/transport/netty/NettyChannel.java
52.27% <0%> (-7.96%)
19% <0%> (-2%)

...ng/transport/dispatcher/all/AllChannelHandler.java
68.96% <0%> (-6.9%)
0% <0%> (ø)

...g/apache/dubbo/rpc/protocol/rest/RestProtocol.java
68.21% <0%> (-3.11%)
0% <0%> (ø)

.../dubbo/remoting/transport/netty4/NettyChannel.java
66.33% <0%> (-1.99%)
0% <0%> (ø)

...che/dubbo/remoting/transport/mina/MinaChannel.java
43.42% <0%> (-1.32%)
16% <0%> (-1%)

...g/apache/dubbo/registry/consul/ConsulRegistry.java
61.87% <0%> (-0.63%)
29% <0%> (ø)

...pache/dubbo/registry/support/AbstractRegistry.java
80.52% <0%> (+2.99%)
0% <0%> (ø)
:arrow_down:

...c/main/java/org/apache/dubbo/rpc/RpcException.java
83.33% <0%> (+3.33%)
0% <0%> (ø)
:arrow_down:

...ng/exchange/support/header/HeartbeatTimerTask.java
78.94% <0%> (+5.26%)
0% <0%> (ø)
:arrow_down:

... and 2 more

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 4704413...78e3103. Read the comment docs.


Make the "types" setting optional

This PR makes the "types" setting in the config default to all event types if it is not specified.
After this PR is merged, I will remove the "types" setting from config.yml in tinuous-inception so that future PRs like #95 will take effect automatically without the need to edit tinuous-inception.

The tinuous-inception test failures are because #95 hasn't been merged yet.

Codecov Report

Merging #96 (210dba8) into master (0f13cf6) will decrease coverage by 27.11%.
The diff coverage is 0.00%.

@@             Coverage Diff             @@
##           master      #96       +/-   ##
===========================================
- Coverage   67.92%   40.80%   -27.12%
===========================================
  Files           9        8        -1
  Lines         820      816        -4
  Branches      121      122        +1
===========================================
- Hits          557      333      -224
- Misses        221      482      +261
+ Partials       42        1       -41

Impacted Files
Coverage Δ

src/tinuous/config.py
75.94% <0.00%> (-15.19%)
:arrow_down:

src/tinuous/__main__.py
0.00% <0.00%> (-58.65%)
:arrow_down:

src/tinuous/appveyor.py
33.33% <0.00%> (-46.92%)
:arrow_down:

src/tinuous/base.py
61.60% <0.00%> (-26.40%)
:arrow_down:

src/tinuous/github.py
31.12% <0.00%> (-22.45%)
:arrow_down:

src/tinuous/travis.py
28.97% <0.00%> (-8.42%)
:arrow_down:

src/tinuous/util.py
79.54% <0.00%> (-6.82%)
:arrow_down:

src/tinuous/_version.py

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 0f13cf6...210dba8. Read the comment docs.


[FLINK-10783] Update WindowOperatorMigrationTest for 1.7

What is the purpose of the change
This pull request updates WindowOperatorMigrationTest for 1.7
Brief change log

Generate snapshot files on release-1.7.0
Add MigrationVersion.v1_7 to WindowOperatorMigrationTest

Verifying this change
This change is already covered by existing tests.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (no)
The serializers: (no)
The runtime per-record code paths (performance sensitive): (no)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (no)
The S3 file system connector: (no)

Documentation

Does this pull request introduce a new feature? (no)

cc @zentol


Logging using an ILogger<T> instance does not work when it is not part of a function execution

Logging using a constructor injected ILogger<T> instance does not work when it is not part of a function execution. This means logging does not work inside an implementation of IHostedService or BackgroundService which is registered as a hosted service in worker.
internal class CacheRefreshService : BackgroundService
{
    private readonly ILogger<CacheRefreshService> _logger;
    public CacheRefreshService(ILogger<CacheRefreshService> logger)
    {
        _logger = logger ?? throw new ArgumentNullException(nameof(logger));
    }

    protected override async Task ExecuteAsync(CancellationToken stoppingToken)
    {
        // Below logging does not work.
        _logger.LogInformation("Inside ExecuteAsync");
        // code to refresh cache.
        await Task.Delay(5000);
    }
}

In this case, the code executed in the background service has no invocation id associated with it. So I believe this line in host is dropping the log messages sent from worker to host.

@kshyju I might be missing some context/knowledge here, but a function has to be triggered. And a BackgroundService would not be executed if there's no trigger.

@SeanFeldman Can you please explain why the function has to be triggered?
In my case I just register a service and background service.
The service is going to consume some data which will be periodically retrieved by the background service which is added as a hosted service and doesn't require any invocation.

@ayrton97, my question is based on understanding how Functions operate. Take a consumption plan where a Function is constrained in the execution time. That means b/g service or not, the function will be shut down and the background service won't be able to run.

I'm not talking about the consumption plan, I'm talking about the way function is initialized.
For references: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/host/hosted-services?view=aspnetcore-5.0&tabs=visual-studio
AFAIU Azure Function brought a lot of stuff from ASP.Net Core, so my understanding that this should work the same way it works for ASP.Net.
services.AddSingleton();
services.AddHostedService();
services.AddSingleton(ctx => {
if (!int.TryParse(hostContext.Configuration["QueueCapacity"], out var queueCapacity))
queueCapacity = 100;
return new BackgroundTaskQueue(queueCapacity);
});
So I've tried using the same approach to implement BackgroundService and inject logger similar to :
public QueuedHostedService(IBackgroundTaskQueue taskQueue,
ILogger logger)
{
TaskQueue = taskQueue;
_logger = logger;
}
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
    _logger.LogInformation(
        $"Queued Hosted Service is running.{Environment.NewLine}" +
        $"{Environment.NewLine}Tap W to add a work item to the " +
        $"background queue.{Environment.NewLine}");

    await BackgroundProcessing(stoppingToken);
}

What I observe is that the BackgroundProcessing stuff is working as expected and I can do periodic update from the BackgroundService even if there is not function invocation, but logger just doesn't work.
@SeanFeldman , it's not consistent with what you are saying that function requires a trigger - in this case there is no explicit trigger such as HTTP call, timer or queue, etc. The only trigger is the function initialization and that's sufficient to trigger the first run which will take care of the subsequent ones.

@ayrton97 and your b/g service is consistently involved? @fabiocav is that a supported scenario? As it sure goes against the documentation and the invocation model for Functions.

@SeanFeldman,
Please elaborate on what you mean by "continuously involved"?
The BG service periodically updates another service with the data retrieved by the BG service. The update happens every minute. so I'd say it's consistently involved.

It was a typo. I meant to write "continuously invoked", which is the case when your b/g service is invoked every minute.
That's why I'm so confused that it's even working, given that it's not how functions are supposed to work. Hence the ping for clarification from Fabio, who's assigned to this issue.

Do you have any ETA for triage?

This will be discussed in the next design sync (week of the 29th) as it may require host changes.

@kshyju assigning this to make sure someone is on point to drive the design discussion.

This is being discussed in the context of logging improvements. Will continue to move this forward until we have the broader logging issue details.

FYI @brettsam @kshyju

Assigning to @brettsam as part of the logging enhancements.

@brettsam was this one of the issues we planned on closing, sharing the guidance to use the new Application Insights package?

Closing as I believe this should be addressed by using Application Insights or OTel support


Provide Sample Code for InstanceGroupsClient

This repository doesn't have sample code for InstanceGroupsClient. This issue tracks providing sample code similar to the following snippet.
from google.cloud import compute_v1

project = "project-xxx"
zone = "us-central1-a"
instance_group = "test"

instance_groups_list_instances_request_resource = compute_v1.InstanceGroupsListInstancesRequest()
instance_groups_list_instances_request_resource.instance_state = "RUNNING"
instance_groups_client = compute_v1.InstanceGroupsClient()

instance_groups_list = instance_groups_client.list_instances(project=project, zone=zone, instance_group=instance_group, instance_groups_list_instances_request_resource=instance_groups_list_instances_request_resource)

for instance in instance_groups_list:
    print(instance.name, instance.labels)

The samples have moved to python-docs-samples


ClinVar genome data is not VCF-shifted

Describe the bug
ClinVar does not left-shift the variants in VCF style. Rather, variants are shifted according to HGVS.
To Reproduce
Steps to reproduce the behavior:

Load a case with variant 13-32912089-CTG-C (GRCh37)
Go to variant detail.
See that no clinvar entry exists.
Go to gnomAD v2.1, see correct link to ClinVar.

Expected behavior

We need genome left-shifted variants asap.
In the near-term future, we will also need to query for variant effects on the protein level.

Additional context

https://gnomad.broadinstitute.org/variant/13-32912089-CTG-C?dataset=gnomad_r2_1
https://www.ncbi.nlm.nih.gov/clinvar/variation/51493/

Actually, the VCFs appear to be left-shifted already.

The root cause actually is that on import, positionVCF is not used by start position.


Serde support

@AltSysrq do you have any sense of what functionality would be required from Serde before fourleaf could take advantage of Serde's serialize and deserialize traits?
The only one I could discern from the docs is zero-copy deserialization of &str and &[u8] which has already been merged in Serde and will be available in the next release:
#[derive(Serialize, Deserialize)]
struct S<'a, 'b, 'c, 'd, 'e> {
    // copied from the input
    w: String,

    // &str and &[u8] are always implicitly borrowed from the input
    x: &'a str,

    // other types require an attribute to opt into borrowing
    #[serde(borrow)]
    y: Cow<'b, str>,

    // can narrow down which lifetimes should be borrowed
    #[serde(borrow = "'c + 'd")]
    z: Z<'c, 'd, 'static, 'e>,
}

Wow, serde appears to have progressed quite a bit. My complements in particular on the newer docs.
So, besides zero-copy support, the main things that come to mind (reading the release docs):

If the comment at the bottom of serde_bytes is correct, there's still the issue of, e.g., Vec<u8> serialising as a list of integers rather than a byte array. Looks like serde's plan here is to use specialisation; fourleaf currently uses a much more painful workaround that works on stable.

fourleaf uses predefined integer tags for identifying struct fields and enum variants. I suppose you could infer tags from field encounter order / variant_index, but I'm not sure if there would be any benefit over just using bincode instead at that point. I think fourleaf could work around this unilaterally by having an additional trait (or a schema definition value) to translate between enum indices / field indices and tags, though this would still require something akin to fourleaf_retrofit! or a proc macro to generate implementations for the trait. I'm conflicted as to whether serde should provide the tags itself; one one hand, it'd be convenient here, but on the other it's more complexity for serde and breaks down as soon as someone needs two binary formats with different tags.

I imagine there could be some things in std that serialise differently via serde vs fourleaf. I think specialisation would help here, but I could just accept the breakage since I don't know of anything actually serialising things like SocketAddr.

I'll definitely look into implementing this once zero-copy in serde lands. Thanks for bringing this to my attention! I didn't think anyone knew about this crate.

Really sorry for taking so long on this, some personal stuff came up and then I forgot for a while.
I've been working on this off and on, and it looks like everything should be doable as-is. So serde support will probably come eventually; sooner, if some immediate need for it arises.


"/stats" page returning 500 @ commit 64cebfa

Checklist

[V] I have read the FAQ
[V] I have checked if this issue already exists (both open and closed issues)
[V] I am using the most recent version of pogom from the master branch
[ ] If this is an installation issue, I am posting my OS, OS version, python version, pip version
[V] I'm posting the complete log
[V] I'm using a descriptive title for this issue

My Issue
Commit @ master: https://github.com/favll/pogom/commit/64cebfacddb3bb6564763ffa6341e1340df0c835
When browsing to the "View Stats and Notifications" (/stats) page, server returns a HTTP error 500.

If I change line 70 of "templates/stats.html" to:
                        {{ pokemon.lastseen }}

the problem seems to be fixed.