Updated instructions to download install script with HTTPS.

My editor seems to want to add a newline to the last line. Not trying to mess with your donate link, promise!

Are you by any chance laumars at Hacker News? Anyway, check #24 and #66.
I could still use HTTPS but just some months ago they didn't even have a valid certificate there. Now they do, but still not HSTS. If in the future they start using HSTS (so there is a "guarantee" that the valid certificate will be mantained), I'll be happy to switch to HTTPS, still with --no-check-certificate for the reasons already mentioned in the past.

No he's not laumars. And HSTS has nothing to do with the validity of certificates. It's just a HTTP header that tells your browser to reconnect over SSL/TLS. In practical terms, it's little different to a 301 redirect.
The fact that you keep closing these issues is insane.  Either do your users a favour and add the following to your instructions, or close this repo and leave security software deployment to people who are security concious:
$(which apt-get yum) install ca-certificates

I know what HSTS is. It implies a compromise of continuity, which just a few months ago wasn't there with GitHub providing an invalid certificate. HSTS is very different than a simple redirect because it instructs further connections to be over SSL only and not even try plain text.

Either do your users a favour and add the following to your instructions, or close this repo and leave security software deployment to people who are security concious

I propose a third option: you don't tell me what to do with my repo after all the hours of work/testing/support I've invested over the years to help people for free. I can consider suggestions, but I will not implement all of them. One-liners are always insecure by defaut, HTTPS or not.

HSTS is very different than a simple redirect because it instructs further connections to be over SSL only and not even try plain text.

That's not a big difference dude. And completely irrelevant in our discussion because wget would be connecting to Github for the first time and thus wouldn't have a .wget-hsts database created at that point.

I can consider suggestions.

You're not though. That's the point. These issues have been raised a multitude of times and with a multitude of solutions and you've closed every single one of them arguing that it's perfectly fine to blindly pull down code over insecure connections and then run them as root. This is your pet project, I appreciate that. I'm just concerned that you're putting your users at unnecessary risk given the fix is really easy. At this point, I honestly think you're just closing these issues out of shear stubbornness since a few of us have offered some genuinely helpful suggestions. But at the end of the day this is your repo.

One-liners are always insecure by defaut, HTTPS or not.

Not really. $(which apt-get yum) install ca-certificates actually improves the security as it means you don't need to disable SSL certificate checking. But we both know this is a futile discussion so I'll just leave you be :)

That's not a big difference dude. And completely irrelevant in our discussion

It is not. You don't seem to be understanding my point: HSTS would mean that GitHub will make sure to maintain a valid certificate there so it doesn't disappear in the future again like it did just a few months ago.

You're not though.

I do consider all of the suggestions and pull requests. I just don't merge/implement all of them.

it's perfectly fine to blindly pull down code over insecure connections and then run them as root

It is NOT fine to blindly pull down code over ANY connection and instantly run it as root. Don't put words in my mouth which I never used.

the fix is really easy

None of the proposed fixes lack negative implications. The one proposed here has two that I can think of:

No apt-get update before install means the one liner breaks under some conditions (like a fresh OS image at many virtualization providers).
git.io isn't using SSL by default and HTTPS there has been already broken in the past.

Anyway: check e58addc2c5b8cbc75709d457a54b3ee50c6036e0. The one-liner is still there because of the above and because it is insecure anyway. I still consider reasonable to verify server certificates on the script itself, specially since the ca-certificates bundle is very prevalent anyway.

It is not. You don't seem to be understanding my point: HSTS would mean that GitHub will make sure to maintain a valid certificate there so it doesn't disappear in the future again like it did just a few months ago.

HSTS offers none of those guarantees though. It's just a HTTP header. Github could still break their SSL certs tomorrow even with HSTS enabled.

It is NOT fine to blindly pull down code over ANY connection and instantly run it as root. Don't put words in my mouth which I never used.

That is exactly what your install instructions did though.

None of the proposed fixes lack negative implications. The one proposed here has two that I can think of:

No apt-get update before install means the one liner breaks under some conditions (like a fresh OS image at many virtualization providers).

Fair point, though you can add that in too:
pkg=$(which apt-get yum); $pkg update && $pkg install ca-certificates

(not that I'm advocating one liners either. Just following your lead on this one)

git.io isn't using SSL by default and HTTPS there has been already broken in the past.

To be fair, I recommended you do away with URL shortners even before I knew this. Between these SSL issues you've highlighted with git.io, and the way it breaks readability for the user (they can't prove it goes to your Github repository without accessing the link via one method or another), I personally don't think there's a sufficient benefit in the "it saves keystrokes" nor "it looks prettier" argument to justify it.
But I can at least sympathise why wanted the Github URL shortened :)

Anyway: check e58addc.

Nice update :+1:

pkg=$(which apt-get yum); $pkg update && $pkg install ca-certificates

Unfortunately, update in yum = upgrade in apt-get. I can't think of a simple approach for the one-liner without an if/else.
Anyway, I plan to remove the --no-check-certificate and force HTTPS in the future. I'm just waiting for the templates missing ca-certificates to become more uncommon.

yum does also have an update which does perform slightly differently to apt-get update and yum upgrade, but yum update would still work in this particular scenario.

but yum update would still work in this particular scenario

It would update other unrelated packages, so it is unacceptable.

So does yum upgrade yet earlier you were advocating that.
In fact you should be ensuring your users are running the latest patched software. But that's another issue from a long list of security vulnerabilities with your repo.

So does yum upgrade yet earlier you were advocating that.

False, I never said anything like that.

In fact you should be ensuring your users are running the latest patched software. But that's another issue from a long list of security vulnerabilities with your repo.

No, no, no and no. I'm not going to force my users to upgrade/break their system, this scripts installs OpenVPN and that's it. I'm definitively not forcing an upgrade on anyone because that's not the expected outcome of an OpenVPN installer.

long list of security vulnerabilities with your repo.

You've only listed one "vulnerability": a one-liner which is completely optional. Open a new issue if you find any reasonable vulnerability within openvpn-install.sh and I'll make sure to address it. Until then, don't waste more of my time.


🚨 Downloading models with CivitAi

Please be sure that the model downloaded correctly.
Please select all the drop-down menus until you see the download URL.

Please make sure that the Additional Networks Enabled model is selected and that the weight is not 0

If you want to use LoRA with auto this button please uncheck the save LoRA to additional-networks

the CIVITAI tab does not appear here

Get an error when trying to search for a model.

@guranu Elaborate on it so we can help.

@guranu Elaborate on it so we can help.

Already fixed.

I cant download the model, whe I click "4th - Download Model" nothing happens


CX Command_Injection @ projects/Terminal_progress_bar_with_images_resizing/progress_bar_ with_images_resizing.py [master]

Command_Injection issue exists @ projects/Terminal_progress_bar_with_images_resizing/progress_bar_ with_images_resizing.py in branch master
*The application's input method calls an OS (shell) command with input, at line 17 of projects\Terminal_progress_bar_with_images_resizing\progress_bar_ with_images_resizing.py, using an untrusted string with the command to execute.  This could allow an attacker to inject an arbitrary command, and enable a Command Injection attack.The attacker may be able to inject the executed command via user input, input, which is retrieved by the application in the input method, at line 17 of projects\Terminal_progress_bar_with_images_resizing\progress_bar_ with_images_resizing.py.Similarity ID: -930650913
The application's input method calls an OS (shell) command with input, at line 18 of projects\Terminal_progress_bar_with_images_resizing\progress_bar_ with_images_resizing.py, using an untrusted string with the command to execute.  This could allow an attacker to inject an arbitrary command, and enable a Command Injection attack.The attacker may be able to inject the executed command via user input, input, which is retrieved by the application in the input method, at line 18 of projects\Terminal_progress_bar_with_images_resizing\progress_bar_ with_images_resizing.py.Similarity ID:<PHONE_NUMBER>*
Severity: High
CWE:77
Vulnerability details and guidance
Internal Guidance
Checkmarx
Training
Recommended Fix
Lines: [17](https://github.com/mariana-bteixeira/python-mini-projects/blob/master/projects/Terminal_progress_bar_with_images_resizing/progress_bar_ with_images_resizing.py#L17) [18](https://github.com/mariana-bteixeira/python-mini-projects/blob/master/projects/Terminal_progress_bar_with_images_resizing/progress_bar_ with_images_resizing.py#L18)

[Code (Line #17):](https://github.com/mariana-bteixeira/python-mini-projects/blob/master/projects/Terminal_progress_bar_with_images_resizing/progress_bar_ with_images_resizing.py#L17)
path = input("Enter Path to images : ")

[Code (Line #18):](https://github.com/mariana-bteixeira/python-mini-projects/blob/master/projects/Terminal_progress_bar_with_images_resizing/progress_bar_ with_images_resizing.py#L18)
size = input("Size Height , Width : ")

Issue still exists.


3 node deployment resides in a single AZ

This impacts HA/FT.

This was by design in order to keep the number of lines of code to a minimum.  We can re-architect across 3 AZs if required, but this will mean additional:

Subnets
Route table entries and associations

In order to be "Well Architected" the deployment needs to span AZs.  We did that automatically deploying into the default network that comes with subnets in each AZ for the region it resides in.  By not specifying an AZ, the ASG automatically spanned the available ones.
I can't remember how this all works in a non default network.  It does seem like we need to explore that.
AWS does provide this which might be useful for insight.  I've found it to be rather over engineered in the past.  https://github.com/aws-quickstart/quickstart-aws-vpc

It might be good for us to review this material a bit.  We became compliant on this for our Quick Start deployment (and the subsequent Marketplace template based on it).  That allowed us to achieve a well architected status for the IaaS deployment.  That in turn got Neo4j an approved IaaS FTR which led to Advanced Tier status with AWS.
https://aws.amazon.com/architecture/well-architected/

https://github.com/neo4j-partners/amazon-cloud-formation-neo4j/pull/46

@benofben  added changes to make this work across two AZ's , did not go with three since there might be a region with only two AZ's. Please have a look and close the issue if this looks good

Is there a way we can span 3 if 3 available, two if not?

@benofben i can try but it will make it more complex and extra code since this will need some conditions and length function to check the number of AZ's ...and as far as i can remember we wanted to keep the template as simple as possible.
@benofben  Let me know if you are ok with giving up on the simplicity of the template and i can work on it

I'm a little afraid we're seeing a snowball impact of moving away from the default VPC.  That's led to making our own VPC.  That leads to subnet stuff.  CFT doesn't provide good constructs to manage that, so we now have this increasingly complex code that customers will have difficulty customizing.
I'm not sure the best path here.

i think the current code suffice's our need of deploying Neo4j in a multi AZ ...i don't think we need to deploy it in exactly 3 multi AZ since deploying in a minimum of 2 satisfy the multi AZ condition.
To be discussed more with @edrandall-dev


HAP Q Alpha in FFMPEG

Hi,
Is there any reason FFMPEG not supporting HAPQ Alpha ?

It should be possible to implement. I once started an attempt to do so, but had to learn my c-knowledge is way insufficient for such a task. It is not a simple hack, since HAPQ Alpha requires handling a BC3 Color Texture + BC4 Alpha texture.

Hello !
Thank you very much, did you have any progress on that ?

No, unfortunately my C is as bad as it was two years ago. 😕

🤣 anyway thank you for your work^^
On Fri 7 Oct 2022 at 16:15, VuiMuich @.***> wrote:

No, unfortunately my C is as bad as it was two years ago. 😕
—
Reply to this email directly, view it on GitHub
https://github.com/Vidvox/hap/issues/38#issuecomment-1271654570, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AASAVRIBVKXL4ERSSGNY46LWCAV7NANCNFSM4ZA6BWVA
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
Noël Froger
cell: +33637588758
https://www.linkedin.com/in/noelfroger/kennedy-agency.com
http://www.kennedy-agency.com
[image: https://twitter.com/kennedyagencyfr]
https://twitter.com/kennedyagencyfr [image:
https://www.facebook.com/KENNEDYAgencyFR/]
https://www.facebook.com/KENNEDYAgencyFR/ [image:
https://www.linkedin.com/in/noelfroger/]
https://www.linkedin.com/in/noelfroger/


Guide for importing in a frond end app?

Can't seem to find the dist file ? colormap.js ? guide is pretty bare.
Any help appreciated thanks.

Right there is no dist. I'll try and update the build of this module so it has some more modern practices.

also yes, the documentation is sparse. I've slated to do a little work in this lib soon


Add support for Markdown

The bulk of content in https://functionalprogramming.in can be written in Markdown files, and then included in the blaze-html DSL. This is more convenient than having to write lots of H.p etc. in the DSL.
We will have a ./markdown directory or something that contains a list of .md files. Then, in the DSL, we can select any particular Markdown file and render it.
Tailwind's prose can be used to style them en masse: https://tailwindcss.com/docs/typography-plugin

Much of the code for this will come from the Ema "sub-site" that lives upstream: https://github.com/EmaApps/ema/blob/multisite/src/Ema/Route/Lib/Extra/MarkdownRoute.hs


Error "No module name 'scapy'" When I run kickthemout

root@kali:~/Desktop/kickthemout# ./kickthemout.py

ERROR: Requirements have not been satisfied properly. Please look at the README file for configuration instructions.

If you still cannot resolve this error, please submit an issue here:
	https://github.com/k4m4/kickthemout/issues

Details: No module named 'scapy'

i read readme.md and i run command but i can't run kickthemout. please help me !!! Thank you

Hi there @hodonggiang. You seem to be using ./kickthemout.py to run the main script; however, in the README file it states that you should use sudo python3 kickthemout.py. Can you try running that please? Thanks.

i try using ./kickthemout.py but same error


Skip down link remains at the bottom of the page on Grommet.io homepage.

Fixed by https://github.com/grommet/grommet/commit/bd91a3f728b90aa0c636e1ee39568c456630d966


Enhance React i18n module

To follow the idea of what have been done in the VueI18nModule, the React one module needs the be adapted.

Use a setup file to mock react i18n for all tests
Separate translations to be scoped to each bounded context in separate translation files

@DamnClin @Gnuk
We need to decide what we want for front translation design (https://github.com/jhipster/jhipster-lite/issues/11111)
Vue Ts configuration with multiple bounded context files
React one json file with all translations
Because rn, React and Vue are not aligned and I would like to make the work the same way 😃

I think you can split translations by context. If it's easier to be consistent with JSON, we can start with it and maybe later (in the future) we will be able to use typescript type system to check translation keys.


Running as standalone server

Hi,
Thanks for what looks like a great project!
Maybe I'm misreading the readme but it seems like there is no explicit explanation for how to run rufus as a standalone server. I'm not sure if I'm not seeing this because it's very obvious that it's possible or because it's totally not intended to be used as such 😅
If I have a script schedule.rb
require 'rufus-scheduler'

scheduler = Rufus::Scheduler.new
scheduler.every '3h' do
  `rails runner 'Foo.archive_old_things'`
end

Is it good practice to then run this as a persistent process (e.g. in a heroku Procfile or with systemd) with bundle exec schedule.rb?
Furthermore, if I have a script that needs access to a rails app environment:
require 'rufus-scheduler'

scheduler = Rufus::Scheduler.new
scheduler.every '3h' do
  Foo.archive_old_things
end

Can I run it in a persistent process with bundle exec rails runner schedule.rb?
or will that not work for some reason, and it's better to use the approach suggested by https://github.com/Rykian/clockwork:
require 'config/boot'
require 'config/environment'

require 'rufus-scheduler'

scheduler = Rufus::Scheduler.new
scheduler.every '3h' do
  Foo.archive_old_things
end

Sorry if this is already covered somewhere - I'll try to submit an update for the readme if you think that's a good idea.

Hello,
the explicit explanation is "rufus-scheduler is not a cron replacement". It's not a crond, nor an atd replacement.
Maybe https://github.com/javan/whenever is a better tool for you.
I, personally, mostly use rufus-scheduler inside of Ruby applications (Rack - Sequel) to run jobs intermittently.
I think that testing will give the answer to your bundle exec ruby schedule.rb vs bundle exec rails runner schedule.rb. If your job requires the Rails support, bundle exec rails runner with require 'config/boot' et al is probably what you are looking for.
Regarding good practice, one has to know if the scheduling process is running or not, and, in case of errors, the errors must be logged somewhere. Heroku or self-hosted or whatever the solution, this differs.
These might also be interesting to you: https://devcenter.heroku.com/articles/scheduler and https://devcenter.heroku.com/articles/scheduled-jobs-custom-clock-processes#custom-clock-processes
I am not sure I'd want an addition to the README. That'd be widening the area for which people expect me to provide answers.
Closing the issue but not the conversation. Thanks.

Thanks for the quick response! everything you said to get me away from rufus-scheduler is pretty much the exact line of reasoning that brought me to rufus-scheduler 😄

heroku scheduler and cron have to instantiate a rails instance for each job, so don't allow running things every minute or 30 seconds or second
cron jobs, each with their own rails instance, have to fight each other for memory
the heroku custom clock process docs are a big contribution to how i'm thinking about the problem... but they never make recommendations for ruby projects to use to implement it. so in my search for a solution, i found rufus-scheduler to be the best-maintained solution
making sure it stays up is def something to explore... I think with a bare-bones invocation, heroku and other PaaS will behave as desired, but I should test
I've already got a good solution for error reporting in rails runners (below)

app/lib/runner_error_reporter.rb
class RunnerErrorReporter < Rails::Railtie
  runner do
    at_exit do
      next unless $!
      next if SystemExit == $!.class && $!.success?
      ErrorTrackerService.track_exception($!)
    end
  end
end

here's my analysis of the space:

Here's my POC (no require
schedule.rb
require 'rufus-scheduler'
scheduler = Rufus::Scheduler.new

scheduler.every '1 second' do
  puts User.count
end

scheduler.join

bundle exec rails runner schedule.rb

Excellent!


build: quote library search path options

When passing the linker search path options to the driver, ensure that
we quote the argument.  We would previously incorrectly split the
arguments that were passed to the driver if there were spaces.  This
would manifest as link failures on Linux when cross-compiling to
Windows.

Replace this paragraph with a description of your changes and rationale. Provide links to external references/discussions if appropriate.

Resolves SR-NNNN.

@swift-ci please test and merge


Roadmap

We need to build a roadmap for the Walter GitHub code writing bot.
Here is an overview:
The workflow with WALTER is simple: Open an issue on a repo and communicate with #GPT4 via issue comments to design a solution to a problem. Then you approve the design and the AI creates a pull request against the repo based on the conversation / design. The bot supports typescript.
Core Ability Roadmap:

[X] Ability to communicate with bot to design solution based on GitHub link to file
[X] Ability for the bot to create and submit pull request
[ ] Ability to include type dependencies in prompts
[ ] Find minimal set of dependencies for change
[ ] Multi file edits
[ ] Create new files
[ ] Author new multi file features abased on user chat / specification
[ ] Auto Test Generation
[ ] Find dependent files and update them as well
[ ] Automated Testing Integration: The bot can generate and run test cases based on the changes made in the pull request, ensuring that the new code doesn't break existing functionality.
[ ] Code Security Analysis: The bot can perform security checks on the code changes, identifying potential vulnerabilities and suggesting fixes to improve the overall security of the project.
[ ] Documentation Generation: The bot can automatically generate and update documentation based on the code changes, keeping the documentation up-to-date with the latest code.

@primuzer yes this is designed to be self hosted.


F0621 14:17:23.990013 7 main.go:72] Port 80 is already in use. Please check the flag --http-port

rancher version :v2.24
singbox deploy
nginx-ingress-controller pod logs:
NGINX Ingress controller
Release: 0.21.0-rancher3
Build:
Repository: https://github.com/rancher/ingress-nginx.git
F0621 14:17:23.990013 7 main.go:72] Port 80 is already in use. Please check the flag --http-port

Not sure if you are using the same host for running Rancher and adding a node to a cluster, if so, you can check https://rancher.com/docs/rancher/v2.x/en/installation/single-node/#running-rancher-rancher-and-rancher-rancher-agent-on-the-same-node.
If not, please supply the requested information in the issue template to help investigate the issue.

Not sure if you are using the same host for running Rancher and adding a node to a cluster, if so, you can check https://rancher.com/docs/rancher/v2.x/en/installation/single-node/#running-rancher-rancher-and-rancher-rancher-agent-on-the-same-node.
If not, please supply the requested information in the issue template to help investigate the issue.

The doc also shows to use 80:80 443:443 in docker run -d --restart=unless-stopped \ 	-p 80:80 -p 443:443 \ 	rancher/rancher:latest \ 	--acme-domain <YOUR.DNS.NAME>


⚠ AGEG website (prod) has degraded performance

In a132d5a, AGEG website (prod) (https://www.ageg.ca/) experienced degraded performance:

HTTP code: 200
Response time: 4916 ms

Resolved: AGEG website (prod) performance has improved in 161de54.


Ionic2 takes almost 30 sec to load app

Ionic version:
2.2.0
Current behavior:
Using ionic2 and angular2 we build almost 13-14 small features/module.
I dont understand why my app takes too much time to hide splashscreen/load app.
Hello everyone, after frustrating too much to find solutions how to decrease time to load app
Expected behavior:
It takes maximum 4-5 seconds to hide splashscreen and load module perfectly.
Package.json
{
  "name": "Yugma-Management",
  "author": "NxtLife Team",
  "homepage": "http://www.nxtlifetechnologies.com/",
  "private": true,
  "scripts": {
    "build": "ionic-app-scripts build",
    "watch": "ionic-app-scripts watch",
    "serve:before": "watch",
    "emulate:before": "build",
    "deploy:before": "build",
    "build:before": "build",
    "run:before": "build",
    "postinstall": "typings install"
  },
  "dependencies": {
    "@angular/common": "2.2.1",
    "@angular/compiler": "2.2.1",
    "@angular/compiler-cli": "2.2.1",
    "@angular/core": "2.2.1",
    "@angular/forms": "2.2.1",
    "@angular/http": "2.2.1",
    "@angular/platform-browser": "2.2.1",
    "@angular/platform-browser-dynamic": "2.2.1",
    "@angular/platform-server": "2.2.1",
    "@ionic-native/camera": "^3.4.4",
    "@ionic-native/core": "^3.1.0",
    "@ionic-native/file": "^3.4.4",
    "@ionic-native/file-chooser": "^3.4.4",
    "@ionic-native/transfer": "^3.4.4",
    "angular2-moment": "^1.0.0-beta.rc.1",
    "intl": "^1.2.5",
    "ionic-angular": "2.2.0",
    "ionic-gallery-modal": "^0.1.1",
    "ionic-native": "^2.2.3",
    "ionic2-calendar": "^0.2.4",
    "ionic2-rating": "0.0.10",
    "ionicons": "3.0.0",
    "nxtlife-ionic2-rating": "^1.0.3",
    "rxjs": "5.0.0-beta.12",
    "sw-toolbox": "3.4.0",
    "typings": "1.3.1",
    "underscore": "^1.8.3",
    "zone.js": "0.6.26"
  },
  "devDependencies": {
    "@ionic/app-scripts": "^1.1.4",
    "typescript": "2.0.6"
  },
  "cordovaPlugins": [
    "cordova-plugin-whitelist",
    "cordova-plugin-statusbar",
    "cordova-plugin-device",
    "cordova-plugin-console",
    "ionic-plugin-keyboard",
    "cordova-plugin-splashscreen"
  ],
  "cordovaPlatforms": [],
  "description": "NxtLifeYugma2: An Ionic project"
}

Other information:
stackoverflow link
Ionic info:
Cordova CLI: 6.5.0
Ionic Framework Version: 2.2.0
Ionic CLI Version: 2.2.1
Ionic App Lib Version: 2.2.0
Ionic App Scripts Version: 1.3.7
ios-deploy version: Not installed
ios-sim version: Not installed
OS: Linux 4.9
Node Version: v6.10.3
Xcode version: Not installed

Have you try to build your application in production mode ?
ionic-app-scripts build --prod

Sir we use ionic build android --prod command to generate android app

There is two build to build an application to a device in production:

The first is made by app-scripts
ionic-app-scripts build --prod
The second is made by Cordova to build the app on a platform.
ionic build android --release

Hello, all! So just to clear up how to do a production build, the correct command to run for a production, ready for the Play store apk with the latest cli is to run ionic cordova build android --prod --release. Now on to the core issue here of the long load time. Would you mind posting the repo for your app here? I want to see how big the bundles are in the app and analyze them for what is causing the large code size.

@jgw96 I have a private repository, so I will need to give us the access, can you please provide your user details so that I can do the needful. Thanks in advance !!!

Have you defined custom colors?
https://forum.ionicframework.com/t/ionic2-app-show-blank-screen-on-android-device-4-4-4-after-splash-screen/81118/21

We just override default color like:
$colors: (
  primary:    #00BCD4,
  secondary:  #32db64,
  danger:     #f53d3d,
  light:      #fff,
  dark:       #222,
  cool:       #607D8B,
  fab:        #3e9e3e,
  header:     #387ef5,
  color1:     #00bcd4,
  colorLight: #80deea,
  transparent: rgba(0, 0, 0, 0),
  csStripColor:#797d80
);

and just create over own color that is used in our app.
$color0 :       #fd4544;
$color1 :       #00BCD4;
$csPink:        #f6c2d8;
$csDarkPink:    #d35a7b;
$colorLight:    #00acc1;
$dim:           #dddddd;
$csBlue:        #37cbff;
$csGreen:       #47c947;

I follow your docs which you are provided but i don't think so that is the correct solutions.

I recommend using Chrome's profiling tools to see where your app is spending its time during startup:
https://developers.google.com/web/tools/chrome-devtools/rendering-tools/

@Tusharbalar
I have an app that was taking almost 20 secs to boot and that was getting me crazy! I took some time and updated everything! I can see in you package.json that maybe you're a bit outdated on Ionic and Angular!
My sugestion is, update Ionic, Ionic CLI, create a new blank project, add your plugins again (the latest versions)  and also the @ionic-native related packages
This solved my problem like a charm! It reduced even in dev mode the boot from 20 to 12 secs and in prod it takes 2 secs top!
I hope it helps you the same way it helped me!
cheers

@tattivitorino ionic forum i have followed the link above migrated from ionic version 2.2.0 to latest ionic and the boot time of the app has been reduced to 13-15 seconds (which again depends on the mobile phone used to boot it.) But still unable to understand why this is happening as it should take approx  3-5 second.
 Should I do it or not? And if I do it what will be the benifit of it? If you have any other link or resources to achieve lazy loading for the quick boot time?
Please help me out in this issue as I am stuck since long. Thanks a lot.

Did you try commenting out your custom color changes? What was the outcome?

Hello all! I am going to close this issue by pointing to this comment. While that is an old comment, it is still very much valid. We are hard at work on reducing load time for ionic apps. In fact, it is our main priority by a long shot above everything else. We are working on some very exciting things internally that should finally solve this issue. Thanks for using Ionic!

Hey @jgw96 as you told me
I want to see how big the bundles are in the app and analyze them for what is causing the large code size.
forget about my code and i create a fresh repo using ionic start super --type=ionic-angular command.
ionic info:
tushar@localhost:~/workspace3/tabs$ ionic info

global packages:

    @ionic/cli-utils : 1.5.0
    Cordova CLI      : 7.0.1
    Ionic CLI        : 3.5.0

local packages:

    @ionic/app-scripts              : 2.0.2
    @ionic/cli-plugin-cordova       : 1.4.1
    @ionic/cli-plugin-ionic-angular : 1.3.2
    Cordova Platforms               : android 6.2.3
    Ionic Framework                 : ionic-angular 3.5.3

System:

    Node       : v6.11.1
    OS         : Linux 4.11
    Xcode      : not installed
    ios-deploy : not installed
    ios-sim    : not installed
    npm        : 3.10.10

You can see here
Is takes >30 sec to boot app after installing release app in my mobile.
when i check inside network tabs i found something: please check vendor.js and load time also:

I haven't change in your code and package.json file also.
In short i haven't change anything that is provided by ionic team although, why it takes too much time ?
I think you guys need to work on it properly.

@peterkelly Thank you for suggesting Chrome's profiling tools. following screenshot shows my profiling result:

As you can see majority of spent time happens in Evaluate Script(main.js:1). I am quite new to this profiling tool, would you please guide me to investigate deeper on this? I just want to make sure I am not doing something wrong in my code. thanks.
Some more info that might help:
 ionic cordova run android --prod executed before running chrome's profiler.
Ionic info:
cli packages:

    @ionic/cli-plugin-cordova       : 1.5.0
    @ionic/cli-plugin-ionic-angular : 1.4.0
    @ionic/cli-utils                : 1.6.0
    ionic (Ionic CLI)               : 3.6.0

global packages:

    Cordova CLI : 7.0.1

local packages:

    @ionic/app-scripts : 2.1.3
    Cordova Platforms  : android 6.2.3
    Ionic Framework    : ionic-angular 3.6.0

System:

    Android SDK Tools : 25.1.1
    Node              : v6.9.5
    OS                : Linux 4.4
    npm               : 4.6.1

And here is my saved timeline data:
IonicApp-TimelineRawData-20170731T155138.json.zip

Hello  @jgw96
is there any progress with this issue? or you can tell me some work around way? because this issue ie really a block issue for our web site user. now my vendor.js size is almost 5.2M, and the first page load almost 1.3min when use inviting.
We are looking forward to your reply, thank a lot.

Hello all! I am going to close this issue by pointing to this comment. While that is an old comment, it is still very much valid. We are hard at work on reducing load time for ionic apps. In fact, it is our main priority by a long shot above everything else. We are working on some very exciting things internally that should finally solve this issue. Thanks for using Ionic!

@jgw96 my vendor.js is about 2.5M and my app's boot time is about ~12 seconds.
vendor.js size in ionic-conference-app is about 796 KB and it's boot time is about ~8 seconds
So by taking @zhu04303661 statistics into account, can we conclude by increasing vendor.js size boot time will increase accordingly?
@ionic-team please let us know how can we follow your progress on this? and please let us know how can we provide more information/help if needed? thanks
p.s. This is a real showstopper! and I wish I knew about this limitation in advance.

I have the same problem

I've fixed using this environment:
"dependencies": {
    "@angular/common": "4.4.4",
    "@angular/compiler": "4.4.4",
    "@angular/compiler-cli": "4.4.4",
    "@angular/core": "4.4.4",
    "@angular/forms": "4.4.4",
    "@angular/http": "4.4.4",
    "@angular/platform-browser": "4.4.4",
    "@angular/platform-browser-dynamic": "4.4.4",
    "@ionic-native/app-version": "4.3.3",
    "@ionic-native/core": "4.3.3",
    "@ionic-native/date-picker": "4.3.3",
    "@ionic-native/device": "4.3.3",
    "@ionic-native/google-analytics": "4.3.3",
    "@ionic-native/http": "4.3.3",
    "@ionic-native/media": "4.3.3",
    "@ionic-native/music-controls": "4.3.3",
    "@ionic-native/screen-orientation": "4.3.3",
    "@ionic-native/splash-screen": "4.3.3",
    "@ionic-native/status-bar": "4.3.3",

  "devDependencies": {
    "@ionic/app-scripts": "3.1.0",
    "@types/core-js": "^0.9.43",
    "typescript": "^2.4.2"

@ionic/cli-utils  : 1.18.0
ionic (Ionic CLI) : 3.18.0

global packages:
cordova (Cordova CLI) : 7.1.0

local packages:
@ionic/app-scripts : 3.1.0
Cordova Platforms  : android 6.3.0 ios 4.5.3
Ionic Framework    : ionic-angular 3.8.0

System:
Android SDK Tools : 26.1.1
ios-deploy        : 1.9.2
ios-sim           : 6.1.2
Node              : v6.11.4
npm               : 5.5.1
OS                : macOS Sierra

ionic cordova build android --prod --release
without issues
on old android tablet the boot time is 4-5 seconds


[Do not merge yet] Improvements in group tasks execution algorithm and dag package

See this issue https://github.com/Azure/azure-sdk-for-java/issues/1354 for the main work items addressed in this PR.

@jianghaolu can you pls code-review?

also, let's pls hold off merging this potentially destabilizing (or at least behavior changing) PR until we get the VMSS NIC listing issue out of the way with the new swagger by releasing a snapshot with that.

@martinsawicki @jianghaolu should we merge this given that we released beta4.1 ?

we're verifying samples off of master right now, so maybe wait till we finish?

@martinsawicki .. ah, right - we can do after samples verification.


Central Khmer Translation Progress

Maintainer List

@Bunlong
@lengsovandara

For New Translators
To translate a page:

Check that no one else has claimed your page in the checklist and comments below.
Comment below with the name of the page you would like to translate. Please take only one page at a time.
Clone this repo, translate your page, and submit a pull request!

Before contributing, read the glossary and style guide (once they exist) to understand how to translate various technical and React-specific terms.
Please be prompt with your translations! If you find find that you can't commit any more, let the maintainers know so they can assign the page to someone else.
For Maintainers
When someone volunteers, edit this issue with the username of the volunteer, and with the PR. Ex:

[ ] Home Page (@tesseralis) #1

When PRs are merged, make sure to mark that page as completed!
Core Pages
To do before releasing as an "official" translation. Please translate these pages first.

[ ] Home Page
[ ] Tutorial

Basics

[ ] Hello World
[ ] Introducing JSX
[ ] Rendering Elements
[ ] Components and Props
[ ] State and Lifecycle
[ ] Handling Events
[ ] Conditional Rendering
[ ] Lists and Keys
[ ] Forms
[ ] Lifting State Up
[ ] Composition vs Inheritance
[ ] Thinking in React

API Reference

[ ] React
[ ] React.Component
[ ] ReactDOM
[ ] ReactDOMServer
[ ] DOM Elements
[ ] SyntheticEvent
[ ] Test Utilities
[ ] Shallow Renderer
[ ] Test Renderer
[ ] JS Environment Requirements
[ ] Glossary

Navigation
These are the navigation links that appears in the sidebar. Possibly wait until
the corresponding sections are translated to do these.

[ ] tutorial/nav.yml
[ ] docs/nav.yml

Next Steps
These are the next most important translations, ordered by importance:
Installation

[ ] Getting Started
[ ] Add React to a Website
[ ] Create a New React App
[ ] CDN Links

Hooks
Everyone is hooked on hooks! People are really excited for these and it would be great for them to be translated.

[ ] Introducing Hooks
[ ] Hooks at a Glance
[ ] Using the State Hook
[ ] Using the Effect Hook
[ ] Rules of Hooks
[ ] Building Your Own Hooks
[ ] Hooks API Reference
[ ] Hooks FAQ

Warnings
These are the pages that you get when you click the links in the console (e.g. https://reactjs.org/warnings/dont-call-proptypes.html). People tend to search these, so please don't translate the error message itself.

[ ] dont-call-proptypes
[ ] invalid-aria-prop
[ ] invalid-hook-call-warning
[ ] legacy-factories
[ ] refs-must-have-owner
[ ] special-props
[ ] unknown-prop

Advanced Guides

[ ] Accessibility
[ ] Code-Splitting
[ ] Context
[ ] Error Boundaries
[ ] Forwarding Refs
[ ] Fragments
[ ] Higher-Order Components
[ ] Integrating with Other Libraries
[ ] JSX In Depth
[ ] Optimizing Performance
[ ] Portals
[ ] React Without ES6
[ ] React Without JSX
[ ] Reconciliation
[ ] Refs and the DOM
[ ] Render Props
[ ] Static Type Checking
[ ] Strict Mode
[ ] Typechecking With PropTypes
[ ] Uncontrolled Components
[ ] Web Components

FAQ

[ ] APIs and AJAX
[ ] Babel, JSX, and Build Steps
[ ] Passing Functions to Components
[ ] Component State
[ ] Styling and CSS
[ ] File Structure
[ ] Versioning Policy
[ ] Virtual DOM and Internals

Contributing
Priority: Low

[ ] How to Contribute
[ ] Codebase Overview
[ ] Implementation Notes
[ ] Design Principles

Components
Components in src/components that have some text in them.

[ ] CodeEditor
[ ] CodeExample
[ ] ErrorDecoder
[ ] LayoutFooter
[ ] LayoutHeader
[ ] MarkdownPage

Additional Translations
These are not the primary translation targets.

[ ] Blog
[ ] Community

@Bunlong, @lengsovandara, please use this issue to track your progress!

@tesseralis Okay, we got it. Thank you!

@Bunlong please don't check the checkbox until the PR is merged! Thanks!

@tesseralis Okay, I got it. Thanks!

interested in helping translate to khmer language, how can i help?

@toeurtenh respond to this issue with a page to translate, and create a pull request like this one.

It looks like this translation has stalled, and is now outdated.
I'm going to archive this repo, but if someone wants to pick up, please start a new effort.


More control over document validator rules

Thanks a lot for this awesome library.
I was wondering if there is a good way to have more control over what rules are used for validation. In my usecase I'm using this library with overblog/GraphqlBundle.
When doing some profiling I noticed that some time is spent in validating the query. This is also ok. But when I use whitelisted queries that have been checked before, could I skip validating all rules?

Maybe this is also just a measuring mistake. I'll update this issue if I find out more.
Thanks again!

Yes, you can skip validation. GraphQL::execute is just a conveniece facade over parsing, validation and execution steps. You can unwrap it and create your own facade with custom validation logic.
try {
    if ($requestString instanceof DocumentNode) {
        $documentNode = $requestString;
    } else {
        $source = new Source($requestString ?: '', 'GraphQL request');
        $documentNode = Parser::parse($source);
    }

    $queryComplexity = DocumentValidator::getRule('QueryComplexity');
    $queryComplexity->setRawVariableValues($variableValues);

    $validationErrors = DocumentValidator::validate($schema, $documentNode);

    if (!empty($validationErrors)) {
        return new ExecutionResult(null, $validationErrors);
    } else {
        return Executor::execute($schema, $documentNode, $rootValue, $contextValue, $variableValues, $operationName);
    }
} catch (Error $e) {
    return new ExecutionResult(null, [$e]);
}

See the DocumentValidator::validate() call. It has 3rd argument which accepts an array of validation rules to be executed (or you can just skip validate step entirely for your whitelisted queries).

Sorry for the late answer. Thanks a lot! That's awesome.

Ops you wanted to keep the issue open :D sorry

New signature of GraphQL::execute (and GraphQL::executeAndReturnResult):
    function execute(
        Schema $schema,
        $source,
        $rootValue = null,
        $contextValue = null,
        $variableValues = null,
        $operationName = null,
        callable $fieldResolver = null,
        array $validationRules = null,
    )

Setting $validationRules to empty array will let you skip the validation. Will be published in v0.10.0.

Awesome! Thanks a lot @vladar :)


v1.0 TODOs

This issue is basically for me to track TODOs of v1.0. But if you'd like to, you can always jump in! It's just been started and everything's changing, so please first drop a comment and discuss with me before starting to work.
Currently there's still no work I can share. Please wait a little!
Post-implementation works

[ ] Fix FIXMEs
[ ] Update FAQ
[ ] Update README and other markdowns
[ ] Prepare documentations (Guide, API, ...)

Moved to Project


fix misaligned tab list indentation on mobile

Remove the unneeded and unresponsive chevron-right in mobile view and instead use a plain list in which the active item is underlined.

fix https://github.com/woodpecker-ci/woodpecker/discussions/2162#discussioncomment-11355337

I suspect some windi issues here. Let's wait until #4614 is done

OK got it working now.

@pat-s Can we apply the formatting changes in a single PR that does not contain anything else? Its really hard to review such PRs.

Yes, I know, I did #4622 to solve this.
But this is a bit blocked / WIP still.
We can push #4622 first, then the unrelated sorting changes should be wiped in the other ones.

Why not just disable your plugin for now. I'm ok to review the existing PRs in this state, but would reject any new PR with such an amount of unrelated changes.

Personally, I don't think this way of highlighting looks nice. What do you think about using the same way we use for pipeline list items and use the hover bg?

Why not just disable your plugin for now.

Yes, I should have done so already. Just didn't think about it and went on doing work.

What do you think about using the same way we use for pipeline list items and use the hover bg?

Is an option. I tried it but didn't like that the line highlights spawns so wide to the right. For steps it is smaller and hence less an issue. But I can try, makes sense to use the same approach.

Yeah, but making it not use the full width is also bad on mobile.


Update website links

The website currently linked on npm doesn't appear to be associated with this project.
Social image previews also don't work as they point to the same website.

Thanks 🤦♂ forgot I let the domain expire

Anything preventing this from being merged? I can look at CI if that's the blocker

Nope. I just forgot 🙃


enh(CPlusPlus): fix indent stock span problem

PR Checklist:

[x] My submission is formatted according to the guidelines in the contributing guide
[ ] My addition is on refer on the language README.md file
[x] My addition does not have a spelling problem
[ ] My submission has a proper and user-friendly description of the algorithm
[ ] My submission has the time complexity of the algorithm
[ ] My submission has sample input-output of the program (NOT FOR PYTHON)

What kind of change does this PR introduce? (check at least one)

[ ] Bugfix
[ ] New algorithm
[ ] Optimization in previous algorithms
[x] Code style update
[x] Refactor
[x] Documentation
[ ] Other, please describe:

Briefly describe the changes in this PR

Other information:

@Arsenic-ATG thank you. I believe I don't have the rights to merge this PR.

@Arsenic-ATG thank you. I believe I don't have the rights to merge this PR.

It's kind of a tradition here, where all the PRs are merged by @ming-tsai .
they should merge it as soon they get time to do so.

Hi @ppani002,
Nice work!!!

Merging the pull request


Renaming a playlist does not work.

I tried to rename a created playlist but when I hit rename, nothing happened.
Looks like the rename option is not working.
https://youtu.be/KVGt2O85Rqc

Most of the playlist menu features are not implemented just to be placed there, I will implement it later.


driver.visualize_execution should allow overrides

Is your feature request related to a problem? Please describe.
Pretty essential piece of execution -- this could help debugging
Describe the solution you'd like
dr.visualize_execution should allow overrides -- this would visualize the upstream nodes from overrides/inputs taht would be executed.

Another reason: If one can execute dag using overrides, one should be able to visualize that exact dag.

Implemented! https://github.com/DAGWorks-Inc/hamilton/pull/313


Create a separate Pylint extension

Based on the discussion here: https://github.com/PyCQA/pylint/issues/5796
We will be creating a linting extension for pylint as a part of this work item.

https://marketplace.visualstudio.com/items?itemName=ms-python.pylint


. command is deprecated as for fish shell

It may be a little from a bug, but currently .  is deprecated (https://github.com/fish-shell/fish-shell/issues/310).
Therefore, pipx completions command should suggest to use source command instead of . command.

. (a single period) is an alias for the source command. The use of . is deprecated in favour of
source, and . will be removed in a future version of fish.

(This is quoted from source --help)
Describe the bug

$ pipx completions

:

fish:
    register-python-argcomplete --shell fish pipx | .

Expected behavior

$ pipx completions

:

fish:
    register-python-argcomplete --shell fish pipx | source

I Issued also in argcomplete (https://github.com/kislyuk/argcomplete/issues/308).

For the record, this is documented in the fish documetation as well:
https://fishshell.com/docs/current/cmds/source.html

. (a single period) is an alias for the source command. The use of . is deprecated in favour of source, and . will be removed in a future version of fish.


Upgrade firebase version from 8 to 9

The firebase syntax has changed quite a lot in version 8. The documentation - https://firebase.google.com/docs/web/modular-upgrade

Hey can I try working on this issue?

did you used java for development?

Hey can I try working on this issue?

Hello @Anubhab2002 sure thing

Hey can I try working on this issue?

Hey @Anubhab2002 sure thing!

did you used java for development?

Hey, no I used javascript.

Assigned @Prashoon123


Add format check for toml files.

As suggested by @Xuanwo , we can use taplo to format toml file.

Would something like this  work?

Would something like this  work?

Yes, thanks for contributing!

Closed by #167


How to Use ?

Please Bro

Hello there I simply changed the topic name into English and don't know your language. You must be asking how to properly set up the application. So let's start with the easy part. After filling in the keys, rename .env.example to .env You will need a chat GPT account and its token, which you can obtain from the browser's inspect.

I hope you fix the problem so I'm going to close.

Thanks 👍😊


Added Lambda function block

Closes #354
Implements a LambdaFunction block.
Example
from prefect_aws import LambdaFunction

lf = LambdaFunction.load("my-lambda")
lf.invoke(
  payload={"foo": "bar"}
)

{
  "Payload": <StreamingBody>,
  "ResponseMetadata": {...},
  "StatusCode": 200
}

Screenshots

Checklist

[x] References any related issue by including "Closes #" or "Closes ".

If no issue exists and your change is not a small fix, please create an issue first.

[x] Includes tests or only affects documentation.
[x] Passes pre-commit checks.

Run pre-commit install && pre-commit run --all locally for formatting and linting.

[x] Includes screenshots of documentation updates.

Run mkdocs serve view documentation locally.

[x] Summarizes PR's changes in CHANGELOG.md

I noticed that the new style doesn't highlight links at all. That should be addressed.
I didn't process the AWS response in LambdaFunction.invoke. I think this is the right choice, but I am open to handling error codes and immediately fetching the data response from the StreamingBody in the response["Payload"].

hey @dominictarro - thanks so much for the contribution 🙏🏼 just a couple superficial comments, code is looking good to me!
I will try to get this QA'd as soon as possible
edit: its also curious we have those "empty JSON"-looking errors on windows 🧐

@zzstoatzz
So it seems related to needing Docker to execute the Lambda. One of two ways we can go about this

Just patch the boto client's .invoke (lambda_client.invoke)
Set up a test docker engine and cache the images.

I see almost no reason to go as far as option 2 wants us to go, but maybe you can think of one that I'm missing.

@dominictarro your first option

Just patch the boto client's .invoke (lambda_client.invoke)

seems reasonable to me, doing some assert_called_with to make sure we're passing the expected things.
I'll also reiterate @desertaxle's point, that for consistency and to allow flexibility for the user, we should try to implement the JobBlock interface here. Any questions about that?

@desertaxle @zzstoatzz

... that for consistency and to allow flexibility for the user, we should try to implement the JobBlock interface here. Any questions about that?

Only issue is this is Lambda's 'Event' (asynchronous) endpoint (1, 2) doesn't return any job ID or result fetch URL. The JobBlock interface seems more natural for external execution environments where that is returned by the API like dbt.
If we're intent on JobBlock, what I can try is to create a coroutine that performs the invocation and add it to the running loop, then place its future in the JobRun result. wait_for_completion and fetch_result can just await that future. Maybe this is what you were looking for? I haven't done something like it but I think it should work.

The JobBlock interface will work well with the RequestResponse invocation type you currently have as the default. I recommend implementing the JobBlock interface where trigger uses the RequestResponse invocation type and add another method where the Lambda function is invoked with the 'Event' invocation type. That way the 'Event' invocation style doesn't need to return a JobRun and it's clear that method shouldn't be used when the user wants to wait for the run to finish.

The JobBlock interface will work well with the RequestResponse invocation type.

I think I'm a bit confused by the use of "fire-and-forget". The boto3.client("lambda").invoke with RequestResponse completely blocks until the Lambda has completed (see examples below). If the point of conforming this block to a JobBlock is the ability to invoke the job and do other things until a result in JobRun is accessed, then this approach doesn't work. It'll just block and then return a JobRun once the Lambda finishes, which seems to defeat the point of using the interface. Is there something that I'm misunderstanding?

The boto3.client("lambda").invoke with RequestResponse completely blocks until the Lambda has completed

Ah, I didn't realize boto3 blocks until the Lambda function execution completes. Your original intuition that the Lambda function doesn't fit the JobBlock interface is correct. I'd like to see if we can run the invocation as a coroutine or in another thread, but we don't need to block this PR for that. I can give this a review once the tests are passing. Thanks for your patience while I wrap my head around this!

@desertaxle Ready for review whenever you have time.

This is ready for review whenever you have the time.


fix(Select): Handle overflowing option label

Related issue
Closes #2951
Overview
Truncate and add ellipses to overflowing select label content. Also add Tooltip to the selected option label that displays on hover.
Link to preview
https://61f2771ee6b8899f7e9c826a--infallible-meitner-a1d8bb.netlify.app
Reason

When a select element contains text that does not fit it overflows the component, blocking the "X" and drop down icon.

Work carried out

[x] Remove some unsued imports
[x] Handle overflowing selected values
[x] Check optional onChange callback exists before invoking to avoid error

Screenshot

Developer notes
This component is about to be superseeded by the new 3.x.x implementation. I've created a seperate issue to look into the behaviour there as it doesn't appear to handle this scenario yet.

Thanks @m7kvqbe1 just a small bug I noticed if the mouse comes from below the component (may be related with where the tooltip is?):
https://user-images.githubusercontent.com/73531035/151334205-3b5e9e63-6722-415e-90db-c9287563264c.mov

@k9dh3zij That issue should now be resolved - the fix also in turn resolves a related positioning and z-index issue:

Great, thanks @m7kvqbe1 ! 👍


Java: Add ability to use different OpenAI models for semantic functions

Motivation and Context
Link to issue.
Description
Here is how I added multi model support

Added serviceId field to PromptTemplateConfig so that serviceId configured in config.json can be read.
Fixed DefaultCompletionSKFunction to use serviceId from promptTemplateConfig associated with SemanticFunctionConfig instead of hardcoded null

Contribution Checklist

[x] The code builds clean without any errors or warnings
[x] The PR follows the SK Contribution Guidelines and the pre-submission formatting script raises no violations
[x] All unit tests pass, and I have added new tests where possible
[x] I didn't break anyone :smile:

@microsoft-github-policy-service agree company="Salesforce"

I think the pattern we need to replicate is https://github.com/microsoft/semantic-kernel/blob/main/dotnet/src/SemanticKernel.Abstractions/AI/ChatCompletion/ChatCompletionServiceExtensions.cs#L22 where when they get a ChatCompletion, they provide an optional serviceId.
Since we use builders Java side, IMO the equivalent translation for this is to add setServiceId to CompletionSKFunction.Builder then pass that serviceId on to DefaultCompletionSKFunction and then select our service based on that id at: https://github.com/microsoft/semantic-kernel/blob/experimental-java/java/semantickernel-core/src/main/java/com/microsoft/semantickernel/orchestration/DefaultCompletionSKFunction.java#L238

@johnoliver When skills are imported to kernel, the DefaultCompletionSKFunction  builder is abstracted and configurations are loaded using config.json file. That's why I added serviceId to PromptTemplateConfig.
Can you look at the example code I added and let me know how we will able to pass serviceId if it is added to  DefaultCompletionSKFunction  builder ?

@relango Ok I see the issue, yes my suggestion would not work without probably larger changes to other parts of the api.
@shawncal this is a change that would impact the other languages too, do you think this is the way to go, is there a different way around this? #1787 suggests adding preferred_service, and #989 suggests an alternative that I don't think would provide a solution to skills loaded externally.

Thank you for approval @markwallace-microsoft , can we get it merged?

@johnoliver @markwallace-microsoft
Just following up on this PR. Is there anything need to get this PR merged?

@markwallace-microsoft it seems that you added service_id in https://github.com/microsoft/semantic-kernel/pull/2739 but I cant find that code now, was it intentionally removed or has that code moved?
@relango I will need to test, but looking at .NET side, it seems like they are adding service_id to the "completion" property, i.e looking at:
https://github.com/microsoft/semantic-kernel/blob/main/dotnet/src/IntegrationTests/Connectors/OpenAI/OpenAICompletionTests.cs#L348
            {
                "completion": {
                    "max_tokens": 256,
                    "service_id"": "azure-text-davinci-003"
                }
            }

Presumably this means that service_id us adding it to PromptTemplateConfig would be a break from .net schema.
@markwallace-microsoft  can you confirm if .net has implemented
            {
                "completion": {
                    "max_tokens": 256,
                    "service_id"": "azure-text-davinci-003"
                }
            }

OR
            {
                "completion": {
                    "max_tokens": 256
                },
                "service_id"": "azure-text-davinci-003"
            }

Thank you for update @johnoliver. Please let me know if you need anything from me. Appreciate if this change could merged sooner.

@johnoliver please follow up on this before the next release of SK for Java

@relango I have opened a PR on your branch at:
https://github.com/relango/semantic-kernel/pull/1
This PR updates for full support for ADR 008 (https://github.com/microsoft/semantic-kernel/blob/main/docs/decisions/0008-support-generic-llm-request-settings.md), which is the ADR in this area.
This PR does the following:

Bring your branch up to date with java-development branch (you will also need to change the branch this PR is against to the java-development branch)
Updates the code to support ADR.
Apply code formatting needed on these

If you dont want do do this PR via your branch I can PR it directly and close this PR.
You can see a slightly cleaner view of the changes at:
https://github.com/microsoft/semantic-kernel/compare/java-development...johnoliver:semantic-kernel:experimental-java-sfdc-multimodel-support-4?expand=1&w=1
The key examples of the usage can be seen at: https://github.com/microsoft/semantic-kernel/compare/java-development...johnoliver:semantic-kernel:experimental-java-sfdc-multimodel-support-4?expand=1&w=1#diff-c26be3bc48c2d3fd4faf320f234e13d113f0464987c4e023723a619ae56b4de0R32
Now you can add serviceId and model to invocation, i.e:
Mono<SKContext> result = function.invokeAsync("time travel to dinosaur age",
        SKBuilders
            .completionRequestSettings()
            .serviceId("text-davinci-003")
            .build());

function config, i.e:

    var function = kernel.
        getSemanticFunctionBuilder()
        .withPromptTemplate("tell a joke about {{$input}}")
        .withRequestSettings(
            SKBuilders.completionRequestSettings()
                .temperature(0.4)
                .topP(1)
                .maxTokens(100)
                .serviceId("text-davinci-003")
                .build())
        .build();

Or config file
{
  "schema": 1,
  "description": "Sample plugin with a model and service id",
  "type": "completion",
  "completion": {
    "max_tokens": 150,
    "temperature": 0.9,
    "top_p": 0.0,
    "presence_penalty": 0.6,
    "frequency_penalty": 0.0,
    "service_id": "text-davinci-003",
    "model_id": "text-davinci-003"
  }
}

Let me know what you think of the changes and if they address your usecase. If you are ok with it you can merge the changes into your branch and I can get someone here to review it (as my code is in there will need a different reviewer)

Thank you @johnoliver . The code changes look good. Since you already got my changes in your branch/PR. Please go ahead merge yours and close this PR.
Let me know once it is merged, and I will test it.

Closing in favour of #3366


Fixes #140

Fixes #140
The hmtx table was parsed only for TTF fonts. For OTF/CFF fonts, the glyphs advanceWidth was calculated only after lazy-loading of the path, resulting in NaN values.
This may be impacted by #135.

Thanks! I understand that this will have an impact if we implement hmtx lazy loading (#135), but this is actually correct, whereas before we had NaN values.


MissingPluginException for 'FcmDartService#start' on iOS

Defining 'onBackgroundMessage' in firebaseMessaging.configure(...) causes a MissingPluginException under iOS because there is no MethodChannel definition for "FcmDartService#start" in the iOS implementation.
firebaseMessaging.configure(
      onMessage: (Map<String, dynamic> message) async {
        print("onMessage: $message");
      },
      onBackgroundMessage: backgroundMessageHandler,  // <- causes exception on iOS.
      onLaunch: (Map<String, dynamic> message) async {
        print("onLaunch: $message");
      },
      onResume: (Map<String, dynamic> message) async {
        print("onResume: $message");
      },
    );

Version: firebase_messaging 6.0.15

iOS is currently not supported. You have to write it like this:
import 'dart:io';
....
onBackgroundMessage: Platform.isAndroid ? backgroundMessageHandler : null,

Hi @tkeithblack
I see there's an open issue addressing the case you described.
Please follow up on that issue,
I'm closing the current one as duplicate.
If you disagree please write in the comments
and I will reopen it.
Thank you

Hi @tkeithblack
I see there's an open issue addressing the case you described.
Please follow up on that issue,
I'm closing the current one as duplicate.
If you disagree please write in the comments
and I will reopen it.
Thank you

Thank you @iapicca. Probably should update the plugin docs showing this is not supported for iOS.
Keith


No index search engine tags followup

@timabbott I have left a comment in changes. Please check that.

@timabbott Updated!

Merged, thanks @hackerkid!


Add CodeQL workflow for GitHub code scanning

#299 in our own branch.

It seems we can't ignore 3rd-party from analysis. Here for discussions.

It seems we can't ignore 3rd-party from analysis. Here for discussions.

Instead of excluding directories from analyzing in the first place, now I use a third-party (but also from GitHub) action to post-process and filter out some result. (The downside is that the ignored warnings are marked as "fixed" at GitHub's pages, which is somewhat confusing).
Additional examples from a blog: https://josh-ops.com/posts/github-codeql-ignore-files/


Open File Dialog Box Feature request

First of all, let me thank you for a great product that we use on a daily basis!
I think that there might be an improvement if we had an option to "remember" the option chosen previously when selecting whether to allow or not opening the file.

I understand that it's a security reason the dialog box is there in the first place. But in the case when the user knows that the blob storage is private and secure, and works very often with files, it would be much easier if we could have a checkbox to "Remember the choice" and Open the files automatically from now on.
Once again thank you for your efforts to bring us such a great product.

What file are you being asked about? This is not a dialog/message that we generate. It looks like this is something coming from your OS.

@MRayermannMSFT I guess you are right, this is platform-specific. I am running Ubuntu 19.04 and I installed Azure Storage Explorer via snap.
Apparently, it is related to snap asking permission to open the file from /run/user/100/snap.storage-explorer/ folder, and after googling this issue I understood that there is no way to give snap access to a specific folder.
I am closing this issue.


Can't directly assign between FieldAccessors with array syntax

Consider this task which copies a field from one region to another. (In my case, T = double and DIM = 1.)
template <typename T, int DIM>
void copy_task(const Legion::Task *task,
               const std::vector<Legion::PhysicalRegion> &regions,
               Legion::Context ctx, Legion::Runtime *runtime) {
    const auto &dst_region = regions[0];
    const auto &src_region = regions[1];
    FieldAccessor<LEGION_WRITE_DISCARD, T, DIM> dst_writer{dst_region, FID_DST};
    FieldAccessor<LEGION_READ_ONLY, T, DIM> src_reader{src_region, FID_SRC};
    for (PointInDomainIterator<DIM> it{dst_region}; it(); ++it) {
        dst_writer[*it] = +src_reader[*it]; // BREAKS IF + REMOVED
    }
}

Notice the unary + operator in the line dst_writer[*it] = +src_reader[*it]; -- if I remove the +, it fails to compile with the following error:
/usr/local/include/legion/legion.inl:400:26: error: 'Realm::AccessorRefHelper<double> Legion::ArraySyntax::AccessorRefHelper<double, LEGION_READ_PRIV>::helper' is protected within this context
  400 |           { helper = rhs.helper; return *this; }
      |                      ~~~~^~~~~~
/usr/local/include/legion/legion.inl:417:38: note: declared protected here
  417 |         Realm::AccessorRefHelper<FT> helper;
      |                                      ^~~~~~

@streichler said in Slack:

@lightsighter I think we need a friend declaration here so that the P != P2 case is legal?
https://gitlab.com/StanfordLegion/legion/-/blob/master/runtime/legion/legion.inl#L399-401
but actually, doesn't doing an assignment of the helper mean the value isn't actually read from one and written to the other? nvm - it's just falling through an an assignment of the realm helpers (edited)

https://gitlab.com/StanfordLegion/legion/-/commit/c605731384c6ec85f2dee22d13e7b506110406f6

This should be fixed now. Assigning @dzhang314 to confirm and close.

@lightsighter Looks good to me. Thanks for the quick fix!


Update main.tf

Description
We keep getting output to switch the cluster's snapshot to false when we have it set to true in terraform.  The RDS instances themselves have the "copy to snapshots" set to true, but the cluster itself gets reset to false.
Motivation and Context
We keep getting output to switch the cluster's snapshot to false when we have it set to true in terraform.  The RDS instances themselves have the "copy to snapshots" set to true, but the cluster itself gets reset to false.
Here is the example:
  # module.primary_db_aurora.aws_rds_cluster_instance.this[1] will be updated in-place
  ~ resource "aws_rds_cluster_instance" "this" {
        apply_immediately               = true
        arn                             = "arn:aws:rds:us-east-1:xxx:db:db-2"
        auto_minor_version_upgrade      = true
        availability_zone               = "us-east-1b"
        ca_cert_identifier              = "rds-ca-2019"
        cluster_identifier              = "db"
      ~ copy_tags_to_snapshot           = true -> false
        db_parameter_group_name         = "db-parameter-group"
        db_subnet_group_name            = "db"
        dbi_resource_id                 = "db-xxxxxxxx"
        endpoint                        = "db.xxxx.us-east-1.rds.amazonaws.com"
        engine                          = "aurora-postgresql"
        engine_version                  = "11.7"
        id                              = "db-2"
        identifier                      = "db-2"
        instance_class                  = "db.r5.large"
        kms_key_id                      = "arn:aws:kms:us-east-1:xx:key/xx3"
        monitoring_interval             = 0
        performance_insights_enabled    = true
        performance_insights_kms_key_id = "arn:aws:kms:us-east-1:xxxx"
        port                            = 5432
        preferred_backup_window         = "02:00-03:00"
        preferred_maintenance_window    = "sun:05:00-sun:06:00"
        promotion_tier                  = 2
        publicly_accessible             = false
        storage_encrypted               = true
        writer                          = false
    }

Breaking Changes
Nothing!
How Has This Been Tested?
We have cloned the module locally and are using this fix in production.

@ChrisLanks could you update the PR title please.

@ChrisLanks Please find a related issue in https://github.com/hashicorp/terraform-provider-aws/issues or open a new one there. I am really skeptical to add support for edge cases into ignore_changes because it affects many more people and there should be a proper solution in the first place. There have to be at least a few more people on the internet complaining about this.


No windows support

It seems it only supports linux?

Since OsStr(ing)Ext is platform specific, no, no Windows support at this time. I can take a look at how much work it would be to support Windows.

Hi, I just came across this crate, and it still fails to compile on Windows:
cargo build
    Updating crates.io index
   Compiling either v1.6.1
   Compiling itertools v0.8.2
   Compiling osstrtools v0.2.2
error[E0432]: unresolved import `os_str_bytes`
   --> ~\.cargo\registry\src\github.com-1ecc6299db9ec823\osstrtools-0.2.2\src\lib.rs:679:13
    |
679 |         use os_str_bytes::OsStringBytes;
    |             ^^^^^^^^^^^^ use of undeclared type or module `os_str_bytes`

error[E0432]: unresolved import `os_str_bytes`
   --> ~\.cargo\registry\src\github.com-1ecc6299db9ec823\osstrtools-0.2.2\src\lib.rs:686:13
    |
686 |         use os_str_bytes::OsStringBytes;
    |             ^^^^^^^^^^^^ use of undeclared type or module `os_str_bytes`

error[E0432]: unresolved import `os_str_bytes`
   --> ~\.cargo\registry\src\github.com-1ecc6299db9ec823\osstrtools-0.2.2\src\lib.rs:742:13
    |
742 |         use os_str_bytes::OsStrBytes;
    |             ^^^^^^^^^^^^ use of undeclared type or module `os_str_bytes`

error[E0405]: cannot find trait `WinOsStr` in this scope
   --> ~\.cargo\registry\src\github.com-1ecc6299db9ec823\osstrtools-0.2.2\src\lib.rs:740:6
    |
740 | impl WinOsStr for OsStr {
    |      ^^^^^^^^ not found in this scope

error[E0425]: cannot find value `bytes` in this scope
   --> ~\.cargo\registry\src\github.com-1ecc6299db9ec823\osstrtools-0.2.2\src\lib.rs:754:19
    |
754 |         unsafe { (bytes as *const _).cast:() }
    |                   ^^^^^                  - help: maybe you meant to write a path separator here: `::`
    |                   |
    |                   not found in this scope

error: aborting due to 5 previous errors

I recently found this crate and I love the idea of it but I haven't been able to get it working. Upon building, I get the following errors.
I believe the 425 error can be resolved by changing bytes to self but I'm not sure.
error[E0405]: cannot find trait `WinOsStr` in this scope
   --> C:\Users\esauder\.cargo\registry\src\github.com-1ecc6299db9ec823\osstrtools-0.2.2\src\lib.rs:740:6
    |
740 | impl WinOsStr for OsStr {
    |      ^^^^^^^^ not found in this scope

error[E0425]: cannot find value `bytes` in this scope
   --> C:\Users\esauder\.cargo\registry\src\github.com-1ecc6299db9ec823\osstrtools-0.2.2\src\lib.rs:754:19
    |
754 |         unsafe { (bytes as *const _).cast:() }
    |                   ^^^^^                  - help: maybe you meant to write a path separator here: `::`
    |                   |
    |                   not found in this scope

error: aborting due to 2 previous errors


Test the Pipeline for Maternal Mortality

Test the Pipeline

[x]  Ensure no other devs are merging any PRs or using the dev pipeline
[x]  Run git push origin HEAD:infra-test -f, which will use your local branches backend code to build a new version of the development backend pipeline (on the HET Infra TEST Google Cloud Platform project)
[x]  Check the GitHub Actions page: https://github.com/SatcherInstitute/health-equity-tracker/actions/workflows/deployBackendToInfraTest.yml and watch as it attempts to test, build, and deploy your new backend code
[x]  If it passes, the staging BigQuery and staging Buckets will be updated. NOTE: these GCP resources won't be available to open-source contributors, so please ask a full time team member to check
[x]  Check Staging BigQuery: https://console.cloud.google.com/bigquery?authuser=0&project=het-infra-test-05&supportedpurview=project&ws=!1m0
[x]  Check Staging Buckets (with JSON): https://console.cloud.google.com/storage/browser/het-data-tables;tab=objects?forceOnBucketsSortingFiltering=true&authuser=0&project=het-infra-test-05&supportedpurview=project&prefix=&forceOnObjectsSortingFiltering=false

Done! By @alinix1 @benhammondmusic


Fixed syntax error in aznfswatchdog

A syntax error in aznfswatchdog prevents the script from running, resulting in the inability to mount blob storages.

@palashvij-msft Can you check this PR? The syntax error is a big issue for us. We need to add this change to our infra asap. Thanks!

@palashvij-msft Can you check this PR? The syntax error is a big issue for us. We need to add this change to our infra asap. Thanks!

Hi,
Thanks for pointing out the issue.
We have fixed this in our new release 1.0.10. Please try with that, and Let us know if you face any issues now.
Thanks
Palash


Greenkeeper/eslint plugin import 2.19.1

Pull Request Test Coverage Report for Build 1019

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 96.644%

Totals

Change from base Build 565:
0.0%

Covered Lines:
1270

Relevant Lines:
1320

💛  - Coveralls


Add multi-format-parser and concat plugins

These plugins are light-weight so adding it to images doesn't impact image size.
Signed-off-by: Masahiro Nakagawa<EMAIL_ADDRESS>

this is very helpful, thanks!

where can i see Dockerfile or Image path to pull . Not sure if iam missing. Thank you


Comparison of emptyDrops to emptyDropsCellRanger on Alevin-fry unfiltered output

In this PR, I am addressing the first point in #105, which is if use of the DropletUtils::emptyDropsCellRanger() function for filtering of empty droplets provides an alternative option for filtering the unfiltered output from using Alevin-fry with the --unfiltered-pl option. Previously, we had found that use of DropletUtils::emptyDrops() resulted in much higher cell numbers than the numbers of cells reported from Cell Ranger on the same samples, and that cells not filtered by emptyDrops(), but filtered in the Cell Ranger output led to a lower UMI/cell and genes/cell distribution and median. DropletUtils::emptyDropsCellRanger() aims to mimic the filtering observed in Cell Ranger and Star Solo so here I tested it in comparison to emptyDrops and then looked at the number of cells and distributions of UMI/cell and genes/cell after filtering.
A few things to note for this notebook:

The version of DropletUtils I am using is from the cellranger branch: https://github.com/MarioniLab/DropletUtils/pull/66
There are errors in this version that I found when installing it so you cannot install from github directly. I had to clone the repo and build and install it locally after solving documentation errors and a mis-naming of a variable in an internal function.
Upon successfully being able to use emptyDropsCellRanger, I didn't see a huge improvement in the cells that were being filtered out with the number of cells and distributions looking very similar to use of emptyDrops with default parameters.
After doing some more reading, I chose to test increasing the lower parameter for emptyDrops which would increase the number of UMI count at which all cells below this point are considered empty Droplets. This is also used in creating the ambient RNA expression profile which is used to calculate the likelihood of each cell being empty or not. In doing this, I found that lower=200 resulted in a much more similar cell number and distribution of UMI/cell and genes/cell to Cell Ranger than the other filtering methods. I only tested lower=100 (the default) and lower=200.

For reviewers, are there any other metrics that would be helpful to see? Or any other modifications of parameters for the filtering methods?

Hi @allyhawkins,
I notice that this PR mentioned the emptyDropsCellRanger() we are working on. To be honest, I would not expect that the result of this function is very different from that of emptyDrops() for single cell experiments.
The reason we implemented that function is we found that for single nucleus datasets, the knee finding method of alevin-fry sometimes returns much more high-quality barcodes than STARsolo and Cell Ranger. This is because usually, single-nucleus captures fewer reads than single-cell, which will make the knee finding method of alevin-fry very hard and conservative since the UMI count rank plot will be very flat. This also happens when applying emptyDrops() on the unfiltered count matrix. However, this will not affect STARsolo and Cell Ranger a lot because they have some hard thresholds (same as the arguments we used in emptyDropsCellRanger()). As there is no standard way to predict high-quality nuclei for single nucleus datasets, we decided to implement this function to make sure that Alevin-fry can at least get a similar result as other tools.
The version of emptyDropsCellRanger() you used is not the finalized version, but I think the final version will come out soon.
Sincerely,
Alevin-fry team

It looks from https://github.com/alexdobin/STAR/blob/master/docs/STARsolo.md#emptydrop-like-filtering like the CellRanger lower bound on UMI is 500 (umiMin), though it is a bit hard to tell from this exactly how this is applied. It is also hard to tell exactly how the various variables interact. In particular, while I can imagine that umiMinFracMedian  sets a minimum bound based on a fraction of the median UMI count, but which takes priority in the interaction between umiMin and umiMinFracMedian? Is it always the larger or the smaller? I can imagine arguments for either choice!
Either way, it seems to me that a higher threshold is a quite reasonable adjustment to make. I do not think there is likely to be much value in a 500 UMI cell or nucleus. I would be curious to know if EmptyDrops was eliminating most of those cells anyway with the lower (200) threshold.

Hi @allyhawkins,
The emptyDropsCellRanger function in the cellranger branch is ready. We still need to improve the description, but the function itself does what it is expected to do.
As for your question, we think the answer is yes, you do need different hard thresholds for single-cell and single-nucleus samples. This is because the default values of those hard thresholds are just heuristics, chosen by 10X and then propagated to STARsolo, so there is no reason to believe they should apply equally well to all experiments. However, we don't know what the best thresholds are, as they may vary from experiment to experiment. If testing different values is a part of your analysis, we will look forward to hearing your conclusion!
As for how the parameters interact, here is the relevant part in STARsolo, and here is how we implement it in R.
Sincerely,
Dongze

In particular, while I can imagine that umiMinFracMedian sets a minimum bound based on a fraction of the median UMI count, but which takes priority in the interaction between umiMin and umiMinFracMedian? Is it always the larger or the smaller? I can imagine arguments for either choice!

Based on going through some of the R code, it looks like the priority is going to be the smaller of the two.

Either way, it seems to me that a higher threshold is a quite reasonable adjustment to make. I do not think there is likely to be much value in a 500 UMI cell or nucleus. I would be curious to know if EmptyDrops was eliminating most of those cells anyway with the lower (200) threshold.

So from what I can tell it looks like the Alevin-fry paper used a lower=500 for emptyDrops and a umiMin=500 for the emptyDropsCellRanger function (which is the default). We could try lower=500 as well, but I tend to agree that I'm sure many of those closer to the lower bound are going to be thrown out  regardless. I was trying to be consistent with Cell Ranger without being overly stringent.

Based on going through some of the R code, it looks like the priority is going to be the smaller of the two.

Based on the code here, I drew the other conclusion; it is the larger of the specified minimum and the value calculated from the umi.min.frac.median (which uses the median of the top set of cells, not the whole population, which can lead to other complexity depending on how that top set gets defined!)
In any case, I would like to see the effect of the cutoff at 500, since that is what is used elsewhere. A higher cutoff may make the calculations a bit more efficient as well, since it will require fewer tests.

I was trying to be consistent with Cell Ranger without being overly stringent.

I think we can err on the side of consistency with common parameters as long as it seems to makes sense. As always, we have the out of telling people to go use the unfiltered data and do their own filtering.
That said, I would also like to see a "bad" example here: do we have some snRNA-seq data with a knee plot that looks wonky, so we can look at what happens in that case? I'd be curious what happens with low count data, and the examples here don't seem to cover that situation very well.

In any case, I would like to see the effect of the cutoff at 500, since that is what is used elsewhere. A higher cutoff may make the calculations a bit more efficient as well, since it will require fewer tests.

Sounds reasonable, I will go ahead and add in lower=500 to the comparisons.

That said, I would also like to see a "bad" example here: do we have some snRNA-seq data with a knee plot that looks wonky, so we can look at what happens in that case? I'd be curious what happens with low count data, and the examples here don't seem to cover that situation very well.

We do have two examples of bad snRNA-seq data that I can add in here. I haven't yet processed them with alevin-fry cr-like-em since we switched to using that and the most recent version of Alevin-fry, but I don't think that will be a confounder here as the filtering was still done using --unfiltered-pl.

I just looked at the HTML file to get a quick idea about these results and one thing that jumped out to me when looking at plots, etc. is that I don't know anything about the samples aside from their identifiers if I'm looking at the plots. I can guess which are single-cell and single-nuclei, but we don't want folks to guess if they happen to look at this!

@jashapiro I went ahead and updated this PR with the addition of 2 "bad" single-nuclei samples (SCPCR000118 and SCPCR000119), added in testing of emptyDrops with lower=500, and also added a tag for either cell or nuclei to the sample names so that it is present in all of the plots.
One thing to note is that in updating this PR, I used the most recent version of emptyDropsCellRanger that has an updated version to the way the ambient profile is calculated in this commit:
https://github.com/MarioniLab/DropletUtils/commit/ebf214dfc60da314ba8324d18575e05a79e5b600
Because of this, the results have changed and we see that emptyDropsCellRanger is more similar to Cell Ranger and emtpyDrops with higher thresholds used for lower.

The one thing I think this leaves a bit unresolved is a recommended action plan. Based on my read of the results, I would probably go with lower=200, as I might rather be a bit more lenient than less, but I could probably be convinced to go the other way as well! If emptyDropsCellRanger were stable and released, I might go with that, but as it is not, I don't think it is the right choice at this time. We may want to revisit if that changes before we process everything.

I went back and looked at this again and it looks like lower=200 usually gives a cell number either equal to cell ranger or a little bit higher, while lower=500 is either equal or a little bit lower. So it really is a question of how lenient we want to be. My only pro for going with the lower=500 is that was what Alevin-fry uses in their paper and it maybe slightly more consistent with emptyDropsCellRanger (which I also agree I would pick in general if it were slightly more developed). I think I could really be convinced either way.

The one thing I think this leaves a bit unresolved is a recommended action plan. Based on my read of the results, I would probably go with lower=200, as I might rather be a bit more lenient than less, but I could probably be convinced to go the other way as well! If emptyDropsCellRanger were stable and released, I might go with that, but as it is not, I don't think it is the right choice at this time. We may want to revisit if that changes before we process everything.

I went back and looked at this again and it looks like lower=200 usually gives a cell number either equal to cell ranger or a little bit higher, while lower=500 is either equal or a little bit lower. So it really is a question of how lenient we want to be. My only pro for going with the lower=500 is that was what Alevin-fry uses in their paper and it maybe slightly more consistent with emptyDropsCellRanger (which I also agree I would pick in general if it were slightly more developed). I think I could really be convinced either way.

I agree. My point is mostly that it would be worth including these overall thoughts in the document, as that is what we will likely go back to first rather than the series of github comments on the PR!

I agree. My point is mostly that it would be worth including these overall thoughts in the document, as that is what we will likely go back to first rather than the series of github comments on the PR!

Good point! I went ahead and added a section with conclusions, summarizing the points in this discussion so we have it there for reference.


Controller Support for Worker Node Taints

The EKS-A Controller should reconcile modifications to the taints field of the workerNodeGroupConfigurations in such a way that new nodes are rolled out and tainted appropriately.
In order to provide controller support for taints, we'll need to add a mechanism by which we generate new kubeadmconfigtemplates with an update joinConfiguration containing the requisite taints, and then modify the machineDeployemnts which reference those kubeadmconfigtemplates to reference the new kubeadmconfigtemplate; this way we can trigger a rollout of the machinedeployments, causing new machines to be launched, and the updated joinConfiguration in the kubeadmconfigtemplate to go into effect. This will also address SSH key rolling.
As of right now, upstream intentionally does not support 'immutable' kubeadmconfigtemplates, but the official guidance is to treat them in the same way we treat the immutable machineTemplates -- e.g. create a new one with the updates, modify the machineDeployment to use it, trigger rollout & node recreation.
See:

https://github.com/kubernetes-sigs/cluster-api/issues/4910
https://cluster-api.sigs.k8s.io/tasks/updating-machine-templates.html

Originally posted by @danbudris in https://github.com/aws/eks-anywhere/issues/189#issuecomment-1030421998

support for reconciliation of taints we merged in with #1175


Use mass local hideObject in order to hide modded rooms

Modded rooms (crew quarters, briefing room...) can be locally invisible when the player is not inside one of them. This mean that a chopper pilot could not see these elements even when flying around [0,0], and could not collide with it either, ensuring a safe flight for the aircraft and its passengers.
This adjustment requires to store any props in a setVariabled list, and to use hideObject in bulk on this list when the player exit the ship.

If dynamic TFAR muting is achievable, this might not be needed : modded rooms could be physically spawned inside the ship's hull, avoiding the need for anything located near [0,0]

See #61


Add publisher for the player's currentItem property

AVPlayer's currentItem property can be nil, which is handled poorly by the current implementation:
func statusPublisher() -> AnyPublisher<AVPlayerItem.Status, Never> {
    guard let currentItem = currentItem else {
        return Empty().eraseToAnyPublisher()
    }
    let keyPath: KeyPath<AVPlayerItem, AVPlayerItem.Status> = \.status
    return Publishers.KVObservingPublisher(observedObject: currentItem, keyPath: keyPath).eraseToAnyPublisher()
}

As it only ever makes sense to observe the item's status if playerItem is not nil, it might be a good idea to introduce an additional publisher, which will fire when playerItem changes (since it's KVO-compliant according to the docs)

👍 +1


Use 'map' to set default quotations in the 'virtual-server' and 'api-analytics' recipes

r? @delapuente

Nice. Thank you.


cross-platform install integeraged to vcpkg

Thank you for this excellent work. I  have read the docs of CacheLib, and want to use as In-process mutithread read-write cache. But I failed install on macos and centos7 system.
Can you give a vcpkg cross-platform install solution?

@hudengjunai now there is a vcpkg port https://github.com/microsoft/vcpkg/pull/29973/files
but linux only for now


NTRBOOT: People copy files to the wrong SD cards

(Primarily single system ntrboot)
A lot of people copy over the files to their R4i's SD card instead to the 3DS' SD card. They get this mixed up quite frequently. Can it be made more clear which files go to which SD card?

There is only one file. The exact instruction is Insert your flashcart's SD card into your computer, followed by Copy ak2i_ntrcardhax_flasher_dsi.nds to your flashcart's SD card...

Any changes made are not good enough, people still have issues with this even now.


Better asynch non-locking copy massive files

Start-BitsTransfer -Source https://server01/servertestdir/. -Destination c:\clienttestdir\
Run it as job? Then show status in GUI?  Probably max 3 jobs, same as in Windows Explorer.

$scriptblock = {
    $BasePath = $args[0]
    $TargetPath = $args[1]
    $files = Get-ChildItem -File -Recurse -Path "$($BasePath)\$($Filename)" -ErrorAction SilentlyContinue

    foreach ($file in $files)
    {
        $subdirectorypath = split-path $file.FullName.Replace($BasePath, "").Trim("\")
        $targetdirectorypath = "$($TargetPath)\$($subdirectorypath)"
        if ((Test-Path $targetdirectorypath) -eq $false)
        {
            Write-Host "Creating directory: $targetdirectorypath"
            md $targetdirectorypath -Force
        }

        Write-Host "Copying file to: $($targetdirectorypath.TrimEnd('\'))\$($File.Name)"
        Move-Item $File.FullName "$($targetdirectorypath.TrimEnd('\'))\$($File.Name)" -Force
    }
}

$arguments = @("C:\From","C:\To")
start-job -scriptblock $scriptblock -ArgumentList $arguments

Found this online (no credits given).
Testing.

$scriptblock = {
    $SourcePath = $args[0]
    $TargetPath = $args[1]
    #$SourceFilesAndDirectories = Get-ChildItem -File -Recurse -Path "$($SourcePath)\$($Filename)" -ErrorAction SilentlyContinue
    Write-Host "`$SourcePath = $SourcePath"
    Write-Host "`$TargetPath = $TargetPath"
    $SourceFilesAndDirectories = Get-ChildItem -Recurse -LiteralPath "$SourcePath" -ErrorAction SilentlyContinue

    foreach ($fileOrDirectory in $SourceFilesAndDirectories)
    {
        $MeaningfulPartOfSourcePath = ($fileOrDirectory.FullName.Substring($SourcePath.Length).Trim("\"))
        Write-Host "`$MeaningfulPartOfSourcePath = $MeaningfulPartOfSourcePath"
        $NewlyConstructedTargetPath = "$($TargetPath)\$($MeaningfulPartOfSourcePath)"
        if ((Test-Path -LiteralPath $fileOrDirectory.FullName -PathType Container))
        {
            # For cases where directories are empty, we still want to move them over.
            Write-Host "Creating directory: $NewlyConstructedTargetPath"
            New-Item -Path $NewlyConstructedTargetPath -ItemType Directory -Force|Out-Null
        } else {
            Write-Host "Copying file to: $NewlyConstructedTargetPath"
            # We want to use Move-Item because of space concerns when moving to the same spindle.  Huge moves of many files and directories could run out of space with Copy-Item
            Move-Item -LiteralPath $fileOrDirectory.FullName -Destination $NewlyConstructedTargetPath -Force|Out-Null
        }
    }
    Write-Host "`$SourcePath = $SourcePath"

    # This deletes the source
    Remove-Item -LiteralPath $SourcePath -Force -Recurse -ErrorAction SilentlyContinue|Out-Null
}

Much better. Moves all directories as well.

Great progress. However, issues with migrating drives vs. just moving and replacing last folder ("from", "to"). So setting up flags.


Add nodiscard attribute

The scope_guard class should be declared nodiscard as there really isn't any good reason to discard returned instances of it.

Plus, the caller could still discard if they wanted (e.g. cast, assign to std::ignore).
Thanks @oold! I am just trying to get Github Actions back into shape first.


Fix generate source command when VARIANT column has no json

Codecov Report

Merging #23 (60cd3ce) into main (55e887f) will decrease coverage by 0.16%.
The diff coverage is 20.00%.

@@            Coverage Diff             @@
##             main      #23      +/-   ##
==========================================
- Coverage   45.51%   45.34%   -0.17%
==========================================
  Files          16       16
  Lines         479      483       +4
==========================================
+ Hits          218      219       +1
- Misses        261      264       +3

Flag
Coverage Δ

unittests
45.34% <20.00%> (-0.17%)
:arrow_down:

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

Impacted Files
Coverage Δ

dbt_coves/tasks/generate/sources.py
22.03% <20.00%> (+0.10%)
:arrow_up:

Continue to review full report at Codecov.

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

@ClaudioRussi could you please take this opportunity to also check and fix the failing checks.