fix shadow variable name, use find method instead of filter

I signed it!
Vào 11:19, 27 Th12, 2018, lúc 11:19, 11:19 đã viết:

Thanks for your pull request. It looks like this may be your first
contribution to a Google open source project (if not, look below for
help). Before we can look at your pull request, you'll need to sign a
Contributor License Agreement (CLA).
:memo: Please visit https://cla.developers.google.com/ to sign.
Once you've signed (or fixed any issues), please reply here (e.g. I signed it!) and we'll verify it.

What to do if you already signed the CLA
Individual signers

It's possible we don't have your GitHub username or you're using a
different email address on your commit. Check your existing CLA
data and verify that your
email is set on your git
commits.

Corporate signers

Your company has a Point of Contact who decides which employees are
authorized to participate. Ask your POC to be added to the group of
authorized contributors. If you don't know who your Point of Contact
is, direct the Google project maintainer to
go/cla#troubleshoot (Public
version).
The email used to register you as an authorized contributor must be
the email used for the Git commit. Check your existing CLA
data and verify that your
email is set on your git
commits.
The email used to register you as an authorized contributor must
also be attached to your GitHub
account.

--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/angular/angular-cli/pull/13306#issuecomment-450070512


Switch from tclap to gflags

We've previously discussed switching the flags handling to gflags (https://github.com/gflags/gflags), this issue will track work on moving forward with this.

I don't really care about this one way or the other, but can I ask what the difference is? It seems like change for change sake? Do you have internal hooks for gflags that do something special?

We have a lot of production tooling and libraries that knows how to work with the gflags format, so from our side it would make handling Envoy more uniform. We could try and support both if you feel this would be helpful but we'll just do gflags if it's a potato potatah thing.

Nope don't care. That's fine.

@rlazarus is interested in taking a look.

I don't want to try to add a dependency while @htuch is rejiggering the build (#415), so barring any objections I'll wait until he's finished before committing anything here.
From playing around in the meantime, some notes on compatibility:

tclap uses hyphens in flag names --like-this while gflags uses underscores --like_this. (It isn't just a matter of idiom: in gflags, the flag name is the same as the C++ identifier, so hyphens aren't legal.) Obviously we can't break every existing user by renaming all the flags to use underscores, so I propose the slightly-ugly workaround of running the argv through a find-replace for each flag name (e.g. replace "--config-path" with "--config_path") before passing to gflags for parsing. That'll support both forms.

gflags doesn't offer single-letter aliases (e.g. -c being equivalent to --config-path) but I propose to emulate that behavior by adding both as flags, using whichever one is set, and crashing if they're both set. (It also doesn't support combining single-letter flags like rm -rf but Envoy only has one boolean flag, so we don't care.)

Flag values in gflags can be globally accessible -- for example if we put DECLARE_uint32(concurrency); in a header file, then anywhere else we can use the uint32 variable FLAGS_concurrency. That means, if we wanted to, we could do away with Envoy's Options type. I propose to ignore this, and keep all the gflags business wrapped up in options_impl.cc, the same way all the tclap business is now. If we ever decide we want to change that, we can do it as a separate refactor.

Note that with the proposed tweaks above, we should be able to do this backwards-compatibly -- which means we don't necessarily need to block the freeze for #625.
Other details are the same: --help will still print a (different) auto-generated usage string, -- will still stop parsing flags, and so on. The howto has all the details, both user-facing and dev-facing.

How are you planning to munge the auto generated --help to reflect the
hacks to the flags in points one and two?
On Mon, Mar 27, 2017 at 6:45 PM Reuven Lazarus<EMAIL_ADDRESS>wrote:
I don't want to try to add a dependency while @htuch
https://github.com/htuch is rejiggering the build (#415
https://github.com/lyft/envoy/issues/415), so barring any objections I'll
wait until he's finished before committing anything here.
From playing around in the meantime, some notes on compatibility:

tclap uses hyphens in flag names --like-this while gflags uses
underscores --like_this. (It isn't just a matter of idiom: in gflags,
the flag name is the same as the C++ identifier, so hyphens aren't legal.)
Obviously we can't break every existing user by renaming all the flags to
use underscores, so I propose the slightly-ugly workaround of running the
argv through a find-replace for each flag name (e.g. replace
"--config-path" with "--config_path") before passing to gflags for
parsing. That'll support both forms.
gflags doesn't offer single-letter aliases (e.g. -c being equivalent to
--config-path) but I propose to emulate that behavior by adding both as
flags, using whichever one is set, and crashing if they're both set. (It
also doesn't support combining single-letter flags like rm -rf but Envoy
only has one boolean flag, so we don't care.)
Flag values in gflags can be globally accessible -- for example if we
put DECLARE_uint32(concurrency); in a header file, then anywhere else we
can use the uint32 variable FLAGS_concurrency. That means, if we wanted
to, we could do away with Envoy's Options type. I propose to ignore
this, and keep all the gflags business wrapped up in options_impl.cc, the
same way all the tclap business is now. If we ever decide we want to change
that, we can do it as a separate refactor.
Note that with the proposed tweaks above, we should be able to do this
backwards-compatibly -- which means we don't necessarily need to block the
freeze for #625 https://github.com/lyft/envoy/issues/625.
Other details are the same: --help will still print a (different)
auto-generated usage string, -- will still stop parsing flags, and so on.
The howto https://gflags.github.io/gflags/ has all the details, both
user-facing and dev-facing.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/lyft/envoy/issues/613#issuecomment-289608385, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AKaLv4DjafA17ncdWyCFt5-TgHd1X7M-ks5rqDwcgaJpZM4MnFB5
.

Nothing fancy. The underscored name becomes the "canonical form" for Envoy flags, so that's what will be listed in --help. (I don't propose trying to avoid that; as long as we're switching to gflags, the underscores will inevitably leak out in other ways too.) We can include a note in the usage string about how hyphens are accepted too, and that'll display at the top of --help. For consistency we should also update flag names as mentioned in the docs.
For the single-letter aliases, we can just have -c's help string be "Alias for --config_path" -- no need to try to merge the entries.

SGTM. I agree on waiting for the Bazel stuff, we'll need to get gflags in both the Docker CI image WORKSPACE and also building under Bazel for developer-local builds via repositories.bzl. You might want to double check with @mattklein123 if the backwards compatibility is required.

I would prefer that we maintain backwards compatibility even if only on a temporary hack basis until we get everything at Lyft upgraded.

@rlazarus can we sync up on this tomorrow? @htuch mentioned that you all might not need this anymore? I would like to close as won't fix or do the switch by the end of next week if possible. I'm trying to close out all the major churn so we can ship 1.3.0 in a couple of weeks.

Going to close this for now. Let's reopen if this is still needed at some point.


rewards ?

Hi, when I tried to print the info given when an episode has done, I found this problem:

As you can see, the total reward 'r' is not equal to the sum of all 4 reward components? Why would this happen?  Can you explain more, please?

Hi,
the reward is computed here:
bool VisionEnv::computeReward(Ref<Vector<>> reward) {
  // ---------------------- reward function design
  // - compute collision penalty
  Scalar collision_penalty = 0.0;
  size_t idx = 0;
  for (size_t sort_idx : sort_indexes(relative_pos_norm_)) {
    if (idx >= visionenv::kNObstacles) break;

    Scalar relative_dist =
      relative_pos_norm_[sort_idx]
        ? (relative_pos_norm_[sort_idx] > 0) &&
            (relative_pos_norm_[sort_idx] < max_detection_range_)
        : max_detection_range_;

    const Scalar dist_margin = 0.5;
    if (relative_pos_norm_[sort_idx] <=
        obstacle_radius_[sort_idx] + dist_margin) {
      // compute distance penalty
      collision_penalty += collision_coeff_ * std::exp(-1.0 * relative_dist);
    }

    idx += 1;
  }

  // - tracking a constant linear velocity
  Scalar lin_vel_reward =
    vel_coeff_ * (quad_state_.v - goal_linear_vel_).norm();

  // - angular velocity penalty, to avoid oscillations
  const Scalar ang_vel_penalty = angular_vel_coeff_ * quad_state_.w.norm();

  //  change progress reward as survive reward
  const Scalar total_reward =
    lin_vel_reward + collision_penalty + ang_vel_penalty + survive_rew_;

  // return all reward components for debug purposes
  // only the total reward is used by the RL algorithm
  reward << lin_vel_reward, collision_penalty, ang_vel_penalty, survive_rew_,
    total_reward;
  return true;
}

This is called step/stage reward.
The terminal reward is computed differently here depending on the terminal condition:
bool VisionEnv::isTerminalState(Scalar &reward) {
  // simulation time out
  if (cmd_.t >= max_t_ - sim_dt_) {
    reward = 0.0;
    return true;
  }

  // world boundling box check
  // - x, y, and z
  const Scalar safty_threshold = 0.1;
  bool x_valid = quad_state_.p(QS::POSX) >= world_box_[0] + safty_threshold &&
                 quad_state_.p(QS::POSX) <= world_box_[1] - safty_threshold;
  bool y_valid = quad_state_.p(QS::POSY) >= world_box_[2] + safty_threshold &&
                 quad_state_.p(QS::POSY) <= world_box_[3] - safty_threshold;
  bool z_valid = quad_state_.x(QS::POSZ) >= world_box_[4] + safty_threshold &&
                 quad_state_.x(QS::POSZ) <= world_box_[5] - safty_threshold;
  if (!x_valid || !y_valid || !z_valid) {
    reward = -1.0;
    return true;
  }
  return false;
}

Thanks, I got it, the 'r' has to be added with the terminal reward as well. But taking the sum over many steps makes the error around 0.01.


fix: Update the sitemap with .html suffix to entries

This will require a patch release after merging.


WARNING: Can't mass-assign protected attributes for Mailboxer::Receipt: receiver , mailbox_type

2.3.1 :005 > po.send_message(pm, "body", "subject")
WARNING: Can't mass-assign protected attributes for Mailboxer::Receipt: receiver
, mailbox_type
WARNING: Can't mass-assign protected attributes for Mailboxer::Receipt: receiver
, mailbox_type
=> #<Mailboxer::Receipt id: nil, receiver_id: nil, receiver_type: nil, notifica
tion_id: nil, is_read: true, trashed: false, deleted: false, mailbox_type: nil,
created_at: nil, updated_at: nil, is_delivered: false, delivery_method: nil, mes
sage_id: nil>

I'm seeing the same issue after updating to Rails 4.2.7, using mailboxer 0.14.0

I'm also getting this problem after upgrading.

I've added the following to mailboxer initialiser as a workaround:
Mailboxer::Receipt.class_eval do
  attr_accessible :receiver, :mailbox_type
end

Thanks @JustinasDaugela


Full installation guide

Is it possible to have a full installation guide inside the README file
with all the steps explained?
Actually I'm stuck at the doctrine db creation.
Thank you

Added some details.

DB schema created successfully created ( I used mysql instead ),
here below my local configuration, perhaps should be helpful
            'orm_default' => [                 'driver'   => 'pdo_mysql',                 'host' => 'localhost',                 'port' => '3306',                 'user'     => 'root',                 'password' => '',                 'dbname' => 'oauth',                 'driverOptions' => array(                     1002 => 'SET NAMES utf8'                 )             ],
what is missing now is the data/samples/sample_data.sql,
is it possible to integrate it within the source code?
Thank you!

I guess your configuration is ok. You don't need any extra things. Maybe, sql file may not be executed correctly in mysql because I used sqlite to sampling my example. You may need some correction for SQL. Now, you can install Postman and add collection and send requests.

Yeah, the configuration is ok and the DB schema was correctly created by Doctrine2.
The issue now is that the next step in the REAMDE is:
"Now you should create a sample user and client to simulate example oauth actions. Please run data/samples/sample_data.sql file."
but there isn't a "data/sample" directory or am I mistaking?
Thank you

Ops :) I am really sorry dude. These days, I think I spend a lot of time with my baby.

I really appreciate your help :)

You can change some part of this example. For example, AccessTokenRepository can work with redis. To do this, please check this example : https://gist.github.com/hkulekci/fcb688d5169f737d1d5b69c7dd848cb5 this update will save your user's seconds.

Everything is installed and I think it works fine! :)
I have last request about documentation but obviously feel free to add it whenever you want.
It is possible to have a schema about practical usage from the perspectives of a client and a resource server?
Eg. client try to access the train booking microservice app (tbma), tbma communicates with oauth server, how is it happening? I think that the protected application should ask for client credentials right?
What about if from the "tbma" the client goes to another resource server ( eg. hotel booking microservice app, hbma ), how to propagate the client session to this second resource?
Also some graphic schema should be very helpful.
Thank you!

For your first question, you can use client credential with clientId and clientSecret to communicate oauth server. You can see all the scenario in RFC.
For second question, your authorization server can be in the middle of your structure . All of your applications (microservice apps), can create and check their tokens with this central server. So, your hbma application can check this coming token with the central server.

I did some research and I also I've found some helpful video resources on Youtube, anyway RFC was also helpful.
At the moment, what I miss is the 'secret' of 'myawesomeapp' and wich kind of algorithm to use to generate secrets ( mcrypt? )
Is there any place where this is explained? I couldn't find any.
Thanks for your help and time! :)

You can check this line. PHP password_hash function used and u can see we use a directly our secret for exampling. You need to change this part of the code. I should say that this repository for only exampling OAuth system, this is not production ready.

$clients array not used directly to insert database, but it is example of the dataset.

Perfect, thank you very much :)


How to format citation keys on Mac?

Hi all,
I'm a new user to BBT and markdown writings. I tried to format my own citation key using the instructions given in Citation Keys, but when I want to set the journal abbreviation filter to auto, I tried journal.abbr:auto, journal.abbr=auto, and journal.abbr(auto), and none of which worked (when it didn't work the background went orange). I looked up some posts and see people use citation key format like [auth:lower][year][veryshorttitle:lower], and wonder how I can format my citation keys correctly?

My debug log id is: J65V7GJQ-refs-apse

authEtal2 + journal(abbrev=auto) + year, but this does mean that if an item has an explicit journal abbrev set, it will not be used.

Thanks! It works!
I also want to know how to use Title:fold=chinese:lower:nopunctordash:select=1,3 in the the format because I'm also a Chinese user having problems with the title...I wish veryshorttitle also gets the fold=Chinese function.

clean(false) + veryshorttitle.fold(chinese)
In the next release you will also be able to use the better named
fold(false) + veryshorttitle.fold(chinese)

Oh and you can also just turn off "Force citation key to plain text" in the preferences, then you don't need clean(false)


Update composer.json

Change allowed illuminate/support versions

Currently I can't package install this package in my project😅

Thank you


libffi.so dependency on zlinux HotSpot builds builds

The openjdk builds on zlinux require libffi.so.4.
At the moment it seems like not all machines have the libffi package installed. This should be added to the ansible playlists and all the machines (build-marist-s390x-rhel-6 is the most recent one I've ran on)
There is another issue whereby on Ubuntu 16 and RHEL7 the only libffi in the default repositories is libffi.so.6 so the builds don't work out of the box - SLES12 is ok - but that will be s separate issue to address I suspect.
$ jdk8u144-b01/bin/java -version
Error: dl failure on line 893
Error: failed /dev/shm/y/jdk8u144-b01/jre/lib/s390x/server/libjvm.so, because libffi.so.4: cannot open shared object file: No such file or directory

Somewhere between the "release" jdk8u144-b01 and the current nightly jdk8u172-b03 this one appears to have been resolved. Closing this as it will disappear as an issue once another build is promoted

@sxa555 can we please reopen this issue? I'm still seeing this using the following build:
https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u192-b12/OpenJDK8U-jdk_s390x_linux_hotspot_8u192b12.tar.gz
I tried SLES 12 SP1, RHEL 6.10, and RHEL 7.5. The issue still persists on all nightly Java 8 builds of Hotspot from Adopt as far back in time as I can go. The Java 9 builds seem to work fine however.
> ll
drwxr-xr-x  9 fjeremic fjeremic       4096 Oct 31 16:56 jdk8u192-b12
-rwxr-xr-x  1 fjeremic fjeremic        854 Nov 30 10:55 Test.class
-rwxr-xr-x  1 fjeremic fjeremic        345 Nov 30 12:19 Test.java
-rw-rw----  1 fjeremic fjeremic   74183341 Nov 30 12:24 OpenJDK8U-jdk_s390x_linux_hotspot_8u192b12.tar.gz
drwxrwxr-x  7 fjeremic fjeremic       4096 Nov 30 12:32 .

> jdk8u192-b12/bin/java -version
Error: dl failure on line 893
Error: failed /sandbox1/fjeremic/temp/jdk8u192-b12/jre/lib/s390x/server/libjvm.so, because libffi.so.6: cannot open shared object file: No such file or directory

Can we please reopen this issue so we can resolve this?


[GSSoC'23] :  Added Newton's Bulb Animation

Title and Issue number

#2450

Close #2450
Checklist:

[x] I have mentioned the issue number in my Pull Request.
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have created a helpful and easy to understand README.md

https://github.com/pranjay-poddar/Dev-Geeks/assets/112793075/60a13634-55c0-4dc0-ac6a-51424040fefa

@MohitGupta121 please review and merge


[Bug] Activity failing with error "No datasource configuration found. Please configure it and try again" even when there is a working datasource

logs.txt
Steps to produce it:

Create a Datasource.
Create a Workflow.
Create the API key.
Create a query on datasource above.
Publish the workflow.
Trigger the workflow via webhook.

Hey team! Please add your planning poker estimate with Zenhub @ayushpahwa @nsarupr


OPENSSL 3.0 Mac OS universal libs including fipsmode for intel x86_64 and arm64

Hi
I have just started exploring openssl 3.0. I was succesfully able to turn load fips provider for windows. I was exploring if similar can be done for Mac OS. I am trying to create universal libs which will work for both intel based x86_64 and arm64 . I am also exploring if fips mode would also work with those openssl libs. Can anyone suggest if that is possible in 3.0 and if yes ,please guide me to some documentation .
We need to do fipsinstall for windows and generate fipsmodule.cnf . Do we have similar workflow for loading fips provider in mac as well.
I am doing static linking for libcrypto.a and libssl.a

And yes, the workflow is the same on all targets.

Hi @t8m
Thanks for your response. Very much appreciate your help, though i still need some suggestion from you.This is my first time using mac and Xcode , forgive me for the mistakes.
I am creating sample application on Xcode to test if we are able to load default and fips provider by just testing for MD5 and sha1 algos.
Steps done by me till this point

Created openssl libs on mac M1 using the below command.
./Configure darwin64-x86_64-cc enable-fips enable-capieng --prefix=/Users/anils/openssl/universal  --openssldir=/Users/anils/openssl/openssldir  no-shared
My understanding is that this should create universal lips supported for both arm64 and x86_64 intel.
Under Header Search Paths add /include and library search paths /lib
In build settings other linker flags ,i added -lssl -lcrypto
Under build phases. Added libcrypto.a and libssl.a to Link with libraries .
When i am trying to build the sample project i am getting linker error for arm64 architecture not supported , which i am not able to understand the reason, may be i have wrong command.
I excluded arm64 build and created build only for active architecture then i get ld : library not found for -lcrypto error.

please suggest what am i doing wrong here.

Unfortunately I am no expert on Mac an XCode.

Hi @t8m
I was able to build this on xcode , but loading fips module is a error. Can you please have a look at the logged error :
00064A0002000000:error:1C8000D5:Provider routines:SELF_TEST_post:missing config data:providers/fips/self_test.c:354:
00064A0002000000:error:1C8000E0:Provider routines:ossl_set_error_state:fips module entering error state:providers/fips/self_test.c:464:
00064A0002000000:error:1C8000D8:Provider routines:OSSL_provider_init_int:self test post failure:providers/fips/fipsprov.c:724:
00064A0002000000:error:078C0105:common libcrypto routines:provider_init:init fail:crypto/provider_core.c:924:name=fips
Please suggest what does this error indicate?

This indicates the fipsmodule.cnf is not loaded. That can have multiple reasons. Please read https://www.openssl.org/docs/man3.0/man7/fips_module.html

This worked @t8m , thanks for your help. You have been a saviour for all my openssl issues.


[BUG] wash ctl link put base64 padding character removal

Describe the bug
When parsing key value options provided to a link configuration, and a value contains =, the str.split function removes the = inside of the value token. This results in our base64 (which uses = as a padding character) config option failing to decode when supplied to the provider, and failing to start the link successfully. Applying the link and then echo'ing our base64 shows proper encode, but wash ctl link query shows a lack of '=' padding in the base64 value.
**Environment (please complete the following information) **

OS: Linux
bash
wash v0.10.0-alpha.1

Additional context
At issue is the split logic, which can be remedied through using splitn(2, '=') to parse pairs, and break on first = found, while leaving the value token remainder untouched. See here

closed by #250


Bug Report (Submitted by 2856)

Description
Fix name difference between DONE and COMPLETED on cards table
Reproduction Steps
Operating System
Browser
Device

Merged


Update Nginx App Config

Change Summary
Summarise your changes in points

Update Nginx App Config

Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Code refactoring (restructing existing code without changing any functionality)
[ ] This change requires a documentation update

Documentation/Release Plan

Problem Statement doc
Feature documentation
Release plan

Testing Checklist
Changes tested on

[ ] development
[ ] production
[ ] MABL Tests Link (if any)
[ ] Successful Workflow Links (if any)

/rebase

Your PR is not correctly rebased with staging base branch.
Hint: Resolve all conflicts manually, and push it.

/rebase

Your PR is not correctly rebased with staging base branch.
Hint: Resolve all conflicts manually, and push it.


Only show spinner when getChildren handler is defined.

Fixes a small issue I had where all my data was sent over one request, so I didn't require a getChildren handler.
Spinner kept showing up anyway.

Welp, this is a duplicate of #13. I should probably check the pull requests before making one!


confd doesn't update target config

Hey,
i tried to setup a dynamic updating of my nginx upstream configuration with etcd and confd (following this tutorial https://www.digitalocean.com/community/tutorials/how-to-use-confd-and-etcd-to-dynamically-reconfigure-services-in-coreos), i tweaked the configuration to my needs and now when im calling confd with -log-level="debug" i just get the message

INFO Target config /etc/nginx/upstreams.conf out of sync

Right after that he continues with check_cmd, which fails because the target config is not updated.
Hes not throwing any errors before, thats why im wondering.
I tried this for several hours but cant get it running. what did i miss?
best regards,
René

hey @rene-pxl, can you try comparing your setup to the integration tests and see if there's a missing link? Any logs you provide would also be helpful. Bonus points for a working integration test that shows your issue.

Hey @bacongobbler, thanks for the quick follow-up.
I've got a single node etcd setup.
I ran the integration tests and they ran without a flaw (i replaced the real ip of my etcd node with 'xx.xx.xxx.x') :

{"action":"set","node":{"key":"/key","value":"foobar","modifiedIndex":63,"createdIndex":63},"prevNode":{"key":"/key","value":"foobar","modifiedIndex":50,"createdIndex":50}}
{"action":"set","node":{"key":"/database/host","value":"xx.xx.xxx.x","modifiedIndex":64,"createdIndex":64},"prevNode":{"key":"/database/host","value":"xx.xx.xxx.x","modifiedIndex":51,"createdIndex":51}}
{"action":"set","node":{"key":"/database/password","value":"p@sSw0rd","modifiedIndex":65,"createdIndex":65},"prevNode":{"key":"/database/password","value":"p@sSw0rd","modifiedIndex":52,"createdIndex":52}}
{"action":"set","node":{"key":"/database/port","value":"3306","modifiedIndex":66,"createdIndex":66},"prevNode":{"key":"/database/port","value":"3306","modifiedIndex":53,"createdIndex":53}}
{"action":"set","node":{"key":"/database/username","value":"confd","modifiedIndex":67,"createdIndex":67},"prevNode":{"key":"/database/username","value":"confd","modifiedIndex":54,"createdIndex":54}}
{"action":"set","node":{"key":"/upstream/app1","value":"<IP_ADDRESS>:8080","modifiedIndex":68,"createdIndex":68},"prevNode":{"key":"/upstream/app1","value":"<IP_ADDRESS>:8080","modifiedIndex":55,"createdIndex":55}}
{"action":"set","node":{"key":"/upstream/app2","value":"<IP_ADDRESS>:8080","modifiedIndex":69,"createdIndex":69},"prevNode":{"key":"/upstream/app2","value":"<IP_ADDRESS>:8080","modifiedIndex":56,"createdIndex":56}}
{"action":"set","node":{"key":"/prefix/database/host","value":"xx.xx.xxx.x","modifiedIndex":70,"createdIndex":70},"prevNode":{"key":"/prefix/database/host","value":"xx.xx.xxx.x","modifiedIndex":57,"createdIndex":57}}
{"action":"set","node":{"key":"/prefix/database/password","value":"p@sSw0rd","modifiedIndex":71,"createdIndex":71},"prevNode":{"key":"/prefix/database/password","value":"p@sSw0rd","modifiedIndex":58,"createdIndex":58}}
{"action":"set","node":{"key":"/prefix/database/port","value":"3306","modifiedIndex":72,"createdIndex":72},"prevNode":{"key":"/prefix/database/port","value":"3306","modifiedIndex":59,"createdIndex":59}}
{"action":"set","node":{"key":"/prefix/database/username","value":"confd","modifiedIndex":73,"createdIndex":73},"prevNode":{"key":"/prefix/database/username","value":"confd","modifiedIndex":60,"createdIndex":60}}
{"action":"set","node":{"key":"/prefix/upstream/app1","value":"<IP_ADDRESS>:8080","modifiedIndex":74,"createdIndex":74},"prevNode":{"key":"/prefix/upstream/app1","value":"<IP_ADDRESS>:8080","modifiedIndex":61,"createdIndex":61}}
{"action":"set","node":{"key":"/prefix/upstream/app2","value":"<IP_ADDRESS>:8080","modifiedIndex":75,"createdIndex":75},"prevNode":{"key":"/prefix/upstream/app2","value":"<IP_ADDRESS>:8080","modifiedIndex":62,"createdIndex":62}}
2016-10-28T08:42:04Z nginx-464fe836-1 confd[22458]: INFO Backend set to etcd
2016-10-28T08:42:04Z nginx-464fe836-1 confd[22458]: INFO Starting confd
2016-10-28T08:42:04Z nginx-464fe836-1 confd[22458]: INFO Backend nodes set to http://xx.xx.xxx.x:4001
2016-10-28T08:42:04Z nginx-464fe836-1 confd[22458]: DEBUG Loading template resources from confdir ./integration/confdir
2016-10-28T08:42:04Z nginx-464fe836-1 confd[22458]: DEBUG Loading template resource from integration/confdir/conf.d/basic.toml
2016-10-28T08:42:04Z nginx-464fe836-1 confd[22458]: DEBUG Loading template resource from integration/confdir/conf.d/exists.toml
2016-10-28T08:42:04Z nginx-464fe836-1 confd[22458]: DEBUG Loading template resource from integration/confdir/conf.d/iteration.toml
2016-10-28T08:42:04Z nginx-464fe836-1 confd[22458]: DEBUG Retrieving keys from store
2016-10-28T08:42:04Z nginx-464fe836-1 confd[22458]: DEBUG Key prefix set to /
2016-10-28T08:42:04Z nginx-464fe836-1 confd[22458]: DEBUG Using source template integration/confdir/templates/basic.conf.tmpl
2016-10-28T08:42:04Z nginx-464fe836-1 confd[22458]: DEBUG Compiling source template integration/confdir/templates/basic.conf.tmpl
2016-10-28T08:42:04Z nginx-464fe836-1 confd[22458]: DEBUG Comparing candidate config to /tmp/confd-basic-test.conf
2016-10-28T08:42:04Z nginx-464fe836-1 confd[22458]: INFO Target config /tmp/confd-basic-test.conf out of sync
2016-10-28T08:42:04Z nginx-464fe836-1 confd[22458]: DEBUG Overwriting target config /tmp/confd-basic-test.conf
2016-10-28T08:42:04Z nginx-464fe836-1 confd[22458]: INFO Target config /tmp/confd-basic-test.conf has been updated
2016-10-28T08:42:04Z nginx-464fe836-1 confd[22458]: DEBUG Retrieving keys from store
2016-10-28T08:42:04Z nginx-464fe836-1 confd[22458]: DEBUG Key prefix set to /
2016-10-28T08:42:04Z nginx-464fe836-1 confd[22458]: DEBUG Using source template integration/confdir/templates/exists-test.conf.tmpl
2016-10-28T08:42:04Z nginx-464fe836-1 confd[22458]: DEBUG Compiling source template integration/confdir/templates/exists-test.conf.tmpl
2016-10-28T08:42:04Z nginx-464fe836-1 confd[22458]: DEBUG Comparing candidate config to /tmp/confd-exists-test.conf
2016-10-28T08:42:04Z nginx-464fe836-1 confd[22458]: INFO Target config /tmp/confd-exists-test.conf out of sync
2016-10-28T08:42:04Z nginx-464fe836-1 confd[22458]: DEBUG Overwriting target config /tmp/confd-exists-test.conf
2016-10-28T08:42:04Z nginx-464fe836-1 confd[22458]: INFO Target config /tmp/confd-exists-test.conf has been updated
2016-10-28T08:42:04Z nginx-464fe836-1 confd[22458]: DEBUG Retrieving keys from store
2016-10-28T08:42:04Z nginx-464fe836-1 confd[22458]: DEBUG Key prefix set to /
2016-10-28T08:42:04Z nginx-464fe836-1 confd[22458]: DEBUG Using source template integration/confdir/templates/iteration.conf.tmpl
2016-10-28T08:42:04Z nginx-464fe836-1 confd[22458]: DEBUG Compiling source template integration/confdir/templates/iteration.conf.tmpl
2016-10-28T08:42:04Z nginx-464fe836-1 confd[22458]: DEBUG Comparing candidate config to /tmp/confd-iteration-test.conf
2016-10-28T08:42:04Z nginx-464fe836-1 confd[22458]: INFO Target config /tmp/confd-iteration-test.conf out of sync
2016-10-28T08:42:04Z nginx-464fe836-1 confd[22458]: DEBUG Overwriting target config /tmp/confd-iteration-test.conf
2016-10-28T08:42:04Z nginx-464fe836-1 confd[22458]: INFO Target config /tmp/confd-iteration-test.conf has been updated

Im running

/usr/local/bin/confd -onetime -node xx.xx.xxx.x:4001 --backend etcd -config-file /etc/confd/conf.d/nginx.toml -log-level="debug"
with the following output
2016-10-28T08:28:30Z nginx-464fe836-1 /usr/local/bin/confd[21568]: INFO Backend set to etcd
2016-10-28T08:28:30Z nginx-464fe836-1 /usr/local/bin/confd[21568]: INFO Starting confd
2016-10-28T08:28:30Z nginx-464fe836-1 /usr/local/bin/confd[21568]: INFO Backend nodes set to xx.xx.xxx.x:4001
2016-10-28T08:28:30Z nginx-464fe836-1 /usr/local/bin/confd[21568]: DEBUG Loading template resources from confdir /etc/confd
2016-10-28T08:28:30Z nginx-464fe836-1 /usr/local/bin/confd[21568]: DEBUG Loading template resource from /etc/confd/conf.d/nginx.toml
2016-10-28T08:28:30Z nginx-464fe836-1 /usr/local/bin/confd[21568]: DEBUG Retrieving keys from store
2016-10-28T08:28:30Z nginx-464fe836-1 /usr/local/bin/confd[21568]: DEBUG Key prefix set to /
2016-10-28T08:28:30Z nginx-464fe836-1 /usr/local/bin/confd[21568]: DEBUG Using source template /etc/confd/templates/upstreams.tmpl
2016-10-28T08:28:30Z nginx-464fe836-1 /usr/local/bin/confd[21568]: DEBUG Compiling source template /etc/confd/templates/upstreams.tmpl
2016-10-28T08:28:30Z nginx-464fe836-1 /usr/local/bin/confd[21568]: DEBUG Comparing candidate config to /tmp/upstreams.conf
2016-10-28T08:28:30Z nginx-464fe836-1 /usr/local/bin/confd[21568]: INFO Target config /tmp/upstreams.conf out of sync
2016-10-28T08:28:30Z nginx-464fe836-1 /usr/local/bin/confd[21568]: DEBUG Running /usr/local/sbin/nginx -t
2016-10-28T08:28:30Z nginx-464fe836-1 /usr/local/bin/confd[21568]: ERROR "nginx: [emerg] no host in upstream ":8080" in /etc/nginx/upstreams.conf:2\nnginx: configuration file /etc/nginx/nginx.conf test failed\n"
2016-10-28T08:28:30Z nginx-464fe836-1 /usr/local/bin/confd[21568]: ERROR Config check failed: exit status 1

My /etc/confd/conf.d/nginx.toml looks like this (btw, theres an typo in the template, it says that confd will look in "/etc/conf.d/templates" but it should be "/etc/confd/templates", i guess? This added some additional confusion yesterday) :
[template]
src = "upstreams.tmpl"
dest = "/tmp/upstreams.conf"
keys = [ "/schwyz-brunnen_59e5c6b4" ]
owner = "root"
mode = "0644"
check_cmd = "/usr/local/sbin/nginx -t"
reload_cmd = "/usr/local/sbin/nginx -s reload"
My /etc/confd/templates/upstreams.tmpl looks like this :
upstream tomcat_schwyz-brunnen {
    server {{getv "/schwyz-brunnen_59e5c6b4"}}:8080;
}
A curl call to the etcd server gives a correct response :
curl -L http://xx.xx.xxx.x:4001/v2/keys/schwyz-brunnen_59e5c6b4
{"action":"get","node":{"key":"/schwyz-brunnen_59e5c6b4","value":"<IP_ADDRESS>","modifiedIndex":8,"createdIndex":8}}
Thanks for the help already, its highly appreciated!
Best regards,
René

So, after a bit of playing around i figured out that when i remove the "check_cmd" line, the file gets written correctly.
Did i miss something in the docs?

It sounds like your check command is returning a non-zero status code, which would cause the file to not be written.

Well, i thought it would execute the "check_cmd" after writing the file, to make sure its safe to execute the "reload_cmd".
I added the "check_cmd" back in and voila - it's not working anymore. (This would have made sense, because i told confd to write the compiled file to /tmp/upstreams.conf, which is not the correct path the nginx is expecting. I changed it to /etc/nginx/upstreams.conf, which works when im not using "check_cmd").
"nginx -s reload" does a syntax check before reloading, so if there was an error, it wouldn't execute the reload.

Okey, theres was a misunderstanding from my side.
The "check_cmd" failed because there was no initial "/etc/nginx/upstreams.conf", i simply didn't create a placeholder file.
Thats why the process failed.
Anyway, it's working now as its supposed to be, awesome utility btw!
Thanks a lot for your help and may this be a help to somebody else as well.
Best regards,
Reé


build(go): Update goreleaser config file

Addresses https://github.com/phrase/phrase-go/actions/runs/9480947338/job/26122683273

:see_no_evil: I missed this part, I would have just pinned it to 1.x and skipped the whole upgrade.


fix typo

Tiny PR to fix a small typo

Thanks @TheDen, good catch! Thanks for taking the time to PR 🙏🏻👌🏻


[google-chrome] Search and open groups

Extension
https://www.raycast.com/Codely/google-chrome
Description
Search for saved groups and open the group
Who will benefit from this feature?
Everybody how uses groups
Anything else?
No response

@snykraycast :(
ps: sadly I can't help you, because you don't support the awesome vuejs framework ..


Add tests for translation of Ecto queries to AQL

Those were initially part of my old Ecto 2.x adapter. Since you reused my AQL translation implementation, I figured we should also include the tests. I have adapted them to your test schemas.

Thanks for implementing those tests. I reckon the change needed for Ecto 3.10 I also encountered in the arango-search branch and made a similar change.
Merging this one. Thanks again :D


Extract select builder while preserving types

If I write this query:
const data = await db
  .selectFrom('Product')
  .select(['productId', 'name'])
  .execute()

I get type completion on data: productId and name.
But if I want to extract select query to reuse it later like this:
const productSelector: ReadonlyArray<SelectExpression<Database, 'Product'>> = [
  'productId',
  'name',
]
const data = await db
  .selectFrom('Product')
  .select(productSelector)
  .execute()

I get no completion, all fields are any.
How do I get this to work?

This is one way:
const productSelector = [
  'productId',
  'name',
] as const // <-- This part is the key!

const data = await db
  .selectFrom('Product')
  .select(productSelector)
  .execute()

If you write this
const productSelector = ['productId', 'name']

The type becomes string[]. With as const the type is correctly ('productId' | 'name')[]

Thanks! What if I have a query builder included?
      (qb) =>
        qb
          .selectFrom('ProductPrice')
          .whereRef('Product.productId', '=', 'ProductPrice.productId')
          .select('ProductPrice.basePrice')
          .orderBy('ProductPrice.time', 'desc')
          .limit(1)
          .as('basePrice'),

that should work just fine:
const productSelector = [
  'productId',
  'name',
  (qb) =>
    qb
      .selectFrom('ProductPrice')
      .whereRef('Product.productId', '=', 'ProductPrice.productId')
      .select('ProductPrice.basePrice')
      .orderBy('ProductPrice.time', 'desc')
      .limit(1)
      .as('basePrice'),
] as const

This works:
const productSelector = [
  'productId',
  'name',
  // You need to explicitly type the function argument to be able to reference the `Product` table.
  (eb: ExpressionBuilder<Database, 'Product'>) =>
    eb
      .selectFrom('ProductPrice')
      .whereRef('Product.productId', '=', 'ProductPrice.productId')
      .select('ProductPrice.basePrice')
      .orderBy('ProductPrice.time', 'desc')
      .limit(1)
      .as('basePrice'),
] as const

What if I have something like this?
    .select([
      "jobs.id",
      "jobs.title",
      "jobs.slug",
      "jobs.logoUrl",
      "occupationGroups.label as occupationGroupLabel",
      "municipalities.label as municipalityLabel",
      "municipalities.slug as municipalitySlug",
      "employers.name as employerName",
      "employers.organizationNumber as employerOrganizationNumber",
    ])

What if I have something like this?
    .select([
      "jobs.id",
      "jobs.title",
      "jobs.slug",
      "jobs.logoUrl",
      "occupationGroups.label as occupationGroupLabel",
      "municipalities.label as municipalityLabel",
      "municipalities.slug as municipalitySlug",
      "employers.name as employerName",
      "employers.organizationNumber as employerOrganizationNumber",
    ])

In many cases, Kysely's builders have 2 main generics, DB, TB extends keyof DB, which are basically the DB interface you passed originally to the constructor (could include additional aliased tables) and a union type of table names in current query's context.
So the TB in your case should be 'jobs' | 'occupationGroups' | 'municipalities' | 'employers'.


Insider version (v0.14.12) not support drag and drop event

When test the drag event  in v0.14.12 , the drop event is not triggered，v0.14.6 is  normal
https://github.com/MarkMindCkm/obsidian-markmind/issues/340
https://github.com/MarkMindCkm/obsidian-enhancing-mindmap/issues/83
the code is like this
function appDrop(evt){
   console.log(evt)
}

dom.addEventListener('drop', appDrop);

the dragstart/dragend  is support

I've investigated this and the only difference I'm seeing is in v0.14.8 where we changed the order of operations on dragover where it will always set the evt.dataTransfer.dropEffect to none in a capture mode handler.
I think it should work if you set it to something else in your dragover event handler, in addition to calling preventDefault.
I can also add a fix where default prevented events would have it set back to the original value

Did you get a chance to see if dropEffect could indeed fix your issue?

Did you get a chance to see if dropEffect could indeed fix your issue?

I have test this :
  if(evt.dataTransfer){
            evt.dataTransfer.effectAllowed = 'all' // or move
            evt.dataTransfer.dropEffect = 'all'; //or move
 }

but it is not work

Ok well whatever I did fixed the issue with Kanban so it probably fixed it for yours as well. Let me know once we deploy the new insider next week and if all goes well we can close the issue then.

Ok well whatever I did fixed the issue with Kanban so it probably fixed it for yours as well. Let me know once we deploy the new insider next week and if all goes well we can close the issue then.

0.14.13 work fine , thanks


uavcan : start before sensors

Allows uavcan interfaced sensors (e.g mag) to work as primary.
This probably needs to go into release as well if we want a proper UAVCAN setup running on it.
Tested.

This will register the UAVCAN sensors even when not present, correct? In that case we would need a different approach.

@LorenzMeier yes.
I think we need a better approach in general, for selecting a particular sensor as default.

@mhkabir We have that approach already, I just forgot. There is a priority argument in orb_advertise_multi(). We just need to make sure UAVCAN has the max priority. Then the sensors app needs to cycle through the publications for all sensors every second or so and check if there is now one with higher priority. That would make it completely independent of boot timing.

@mhkabir I'll close this. I would appreciate if you could look into using the orb priority (https://github.com/PX4/Firmware/blob/master/src/modules/uORB/uORB.h#L331-L341) in the sensors app to select which sensor to use as primary. This will fix the ordering for good, and will allow us to launch uavcan by default and after the normal sensors.


CAMEL-10160 create a zendesk endpoint for creating new issues

Thanks @davsclaus , @lburgazzoli for your review!
I believe everything except one has been addressed. That last piece about enumerizing all method names makes me wonder if we can automatically generate the ApiMethodNames enum via camel-api-component-maven-plugin. Let me look into that.

@igarashitm about method names. How many are there? For example facebook has like 300+ and that enum would be too big, eg a tool with a dropdown will just be massive.

Just counted via ZendeskApiMethod class, there're 201 unique method names in current 0.5.3 version. It sounds already big enough.

Minor thing, zendesk-java-client javadoc dependency should be scoped provided / optional. Don't think we want that on the runtime classpath.

Thanks, good catch @jamesnetherton - actually it's only used for camel-api-component-maven-plugin, so shouldn't be a runtime dependency. Moved to plugin dependency.

Thanks just merged.
I do wonder if we can get the api plugin to not log an ugly WARN stacktrace when building the project
[WARNING] Ignoring type parameters <T> for argument status, unable to load parametric type argument T
java.lang.ClassNotFoundException: java.lang.T
	at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at org.apache.camel.maven.AbstractApiMethodGeneratorMojo.getCanonicalName(AbstractApiMethodGeneratorMojo.java:340)
	at sun.reflect.GeneratedMethodAccessor29.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:483)
	at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:395)
	at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:384)

Thanks for the PR it has been merged. Do you mind closing this?

Thanks! closing.
Also filed a JIRA for the verbose stacktrace - https://issues.apache.org/jira/browse/CAMEL-11035


Save QR code as png

Fix: This saves the QR code as PNG, thereby helping people for whom the QR code logged in the terminal doesn't work. (#49)
Packages Added

qr-image(3.2.0)

Hi! Thanks so much for the PR!
I'm not in favor of this approach for two reasons:

It creates noise on the user's file system
The URL is not stable -- it will change if the user's IP address changes or if some process takes port 19000 or 19001, which may cause confusion especially if a user accidentally checks the PNG into git.

I think it'll be good to document troubleshooting and work on improving the reliability of the QR code that's displayed, but I don't want to write images to disk to do so.

Hey, thanks for the explanation!
Reason 2. made more sense to me. :thinking: That should have been my epiphany.
I'll think as to how the reliability of the QR code can be enhanced.


go-consistent should ignore generated files

Sometimes, generated files will be caught by go-consistent, since the source of these files should not be checked.  See golang/go#13560 for more information about the standard way to detect generated code.

Works great!

Thanks for reporting this issue.


How can i check if a field contains valid data?

How can i check if a field contains valid data?
I have a continue button that should only be enabled if all fields are valid, how to check that?

Hi Radu!
I’m going to complete Readme file as soon as I can.
You can use datasource methods to use your own regular expressions for typing and to check field when view did end editing.
func animatedFieldTypingMatches(_ animatedField: AnimatedField) -> String?
use it to send your custom regular expression to check if a character is allowed or not. For example “[A-Z0-9]”, with this you can only type uppercased letters and numbers
func animatedFieldValidationMatches(_ animatedField: AnimatedField) -> String?
use it to check field when did end editing with your own regular expression
Also you can use delegate methods to get AnimatedField text when user ends editing
func animatedFieldDidEndEditing(_ animatedField: AnimatedField)
you can check and enable continue button in this method if animatedField.text is correct
NOTE: In the future, I will add some kind of delegate method or parameter with the result of this check.
With regard to your question about becomeFirstResponder, you can use it without problems: _ = animatedField.becomeFirstResponder()
Thank you for using AnimatedField!
Please, rate me with a star ;)
Best regards,
Alberto Aznar

El 15 abr 2019, a las 12:15, Radu Ursache<EMAIL_ADDRESS>escribió:
How can i check if a field contains valid data?
I have a continue button that should only be enabled if all fields are valid, how to check that?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/alberdev/AnimatedField/issues/1, or mute the thread https://github.com/notifications/unsubscribe-auth/AMO8LuCN0BwgRbDFscc-Z2A9b-ycEnPoks5vhFFLgaJpZM4cvnWI.

hey Alberto, thanks for the quick answer!
i am interested to do something like this, using default regex rules from your code
on login button action:
if usernameField.isValid && passwordField.isValid {
continue
}
i currently cant do that with delegates. isValid is some kind of function that validates that current field on demand
thanks!

Good idea! I will update AnimatedField with isValid parameter
;)

Hi Radu! I've updated and released new version 2.0.3 with isValid parameter and new delegate method: didShowAlertMessage. Example is also updated ;)


Add Misskey support

Thanks for the PR.
Seems the artists aren't translated at posts and popup on misskey.art, e.g. https://misskey.art/@Igiroitsu
Also, please add example comments with links for each usage of the rule on each domain - thus, it's easier to check if the rule works properly and fix it if needed.
And add to NORMALIZE_PROFILE_URL  the new domains with path field like /^\/@[\w_]$/ to ensure that the link points to the profile page.

Done


Count articles

Have you read the Contributing Guidelines on Pull Requests?
Yes
Description
Write a Python program to count the number of articles in a given text.
Checklist

[x] I've read the contribution guidelines.
[x] I've checked the issue list before deciding what to submit.
[x] I've edited the README.md and link to my code.

Related Issues or Pull Requests
ISSUE: #7306

@all-contributors please add @AnushkaS09 for her code


Issue with .NET 4.7.2 when connecting to Azure SQL DB with MultipleActiveResultSets and async.

While connecting to Azure SQL DB using .NET 4.7.2, using MultipleActiveResultSets=true in the connection string with System.Data.SqlClient.SqlConnection, async query operations sometimes lead to a bad TDS protocol request stream to be sent from the client, causing the Async Query APIs to fail.

We are also experiencing this issue, even without multipleactiveresultset property set to true when connecting to Azure SQL database using .Net 4.7.2. We are also using the async API to open connection.
The pre-login succeeds and then the next data packet is corrupted, causing Azure SQL server to throw error on the connection saying NetworkErrorInInputStream and the client disconnects.
The error thrown by SQL client is TCP Provider error 0 : Handle is Invalid
The repro however is not consistent, it will happen for an hour and not happen for hours / days at stretch and then start happening again.


delete moved / deleted repos from indexer.

this needs some thought: if we can't get to the repo due to some connection issue, we shouldnt delete the repo.

https://github.com/google/zoekt/commit/de00d84e19b6761693ea2310f695e13c27433d37 for github.


[Request] Example website / end result

Would it be possible to host this externally to show an example of what the landing page might look like?

There is no landing page. You just get redirected to the Google Account Choose Screen or The Google Login screen, then once you choose your google account / login, then it redirects to whatever container your using

Thanks for the answer! I'll close this.

Thanks for the answer! I wasn't sure if that was the case or not. Closing this issue.


Collection sorting with two way binding inside (computed properties)

Versions affected: 0.7.3, 0.8
Code: https://jsfiddle.net/ykz3241o/1/
Hello, I have a collection of objects with 2-way binding inside. The collection should be presented as a list sorted by its item's property (no need of doing array 'real' sort).
I'm confused how it can be done in the right, efficient way?

It looks like sorting in this case is just presentational, and doesn't need to affect the original data. This is a job for computed properties.
https://jsfiddle.net/ykz3241o/2/
var Component = Ractive.extend({
  template: `
    {{#each sortedLayers }}
      <div>
        <input type="text" value="{{.label}}">
        <input type="number" value="{{.zIndex}}">
        label: {{.label}}
        zIndex: {{.zIndex}}
      </div>
    {{/each}}
  `,
  data: {
  	layers: null
  },
  computed: {
    sortedLayers: function() {
      return this.get('layers').slice().sort((layer1, layer2) => layer2.zIndex - layer1.zIndex);
    }
  },
  onrender: function() {
    this.set('layers.0.label', 'Layer A after binding test')
  }
});

new Component({
  el: 'body',
  data: {
    layers: [{
      zIndex: 3,
      label: "Layer A"
    }, {
      zIndex: 4,
      label: "Layer B"
    }]
  }
});

A good way to know what properties are computed is when you can compute that data from original data. Think... functions, like area = width x height or speed = distance / time or in this case sortedData = sort(originalData).

@fskreuz I've already tried the computed properties. Thanks for your effort, but as you can see in the fiddle you've posted - changing zIndex input doesn't re-sort the array...

Ahh, I see now.
I am not sure if this is a bug, although it might be. The way I understand how Ractive works is that it only recomputes when the dependents change. In this case, the section indirectly depends on the array, whether via computed function or the data function. However, when you interact with the form, it's not mutating the array, but the property of one of the elements in the array.
Running out of ideas at the moment. Hmmm...

@fskreuz, @mefjuu: It works if you set the right field, zIndex, not label: https://jsfiddle.net/ykz3241o/6/

@martypdx Changing <input type="number" value="{{.zIndex}}"> still doesn't affect on sortedLayers.
I think there could be layers.*.zIndex observer, but we need then some kind of forcing sortedLayers recompution.

I've found that computed properties can be updated via update('computedKp') (https://github.com/ractivejs/ractive/issues/651) so I updated the fiddle with a following observer:
this.observe('layers.*.zIndex', function(){...});
https://jsfiddle.net/ykz3241o/7/
But it doesn't see updated zIndex by input editing.

Any ideas on it? I'm stuck with this problem and would be thankful for a concept.

This is a bit weird because the binding is not in the layers keypath due to the computation, so it's not easy to get an observer on the zIndex properties. The easy way out for 0.7.3 is to add an update('layers') when the zindex input changes: https://jsfiddle.net/ykz3241o/9/.
Edge is a little more difficult because bindings aren't allowed on computed paths, so you could do something more like:  http://jsfiddle.net/kg6na484/31/. Unfortunately that doesn't quite work in 0.7.3 due to a bug with bindings that cause their element to be ripped out from under them.

@evs-chris

Edge is a little more difficult because bindings aren't allowed on computed paths, so you could do something more like: http://jsfiddle.net/kg6na484/31/.

Note that original (not sorted) array's items observer (layers.*) doesn't work http://jsfiddle.net/kg6na484/33/ unfortunately.

It looks like 0.8 has resolved most of the binding funkiness. 0.9 also has experimental support for binding and/or observing in computed (expression) keypaths, which should cover the other half of this issue, so I'm going to close it. Feel free to re-open if there's more to it.

@evs-chris Which functionality from v0.9 do you mean? Could you give more light on it?

0.9 has a flag that allows binding inside an expression context ({{#with foo()}}<input value="{{.name}}" />{{/with}}) called syncComputedChildren. It's an init flag, so new Ractive({ ..., syncComputedChildren: true, ... }). At this point, the changelog and source PRs are the best place to look for new info. I'm still working on docs.
While the syncComputedChildren flag should cover this case, you can also observe within an expression context ({{#with foo()}}<div />{{/with}}) using ractive.getNodeInfo('div').observe('.name', v => ...).


HTTPS broken in Node 8 & 9

I tried to handle this in downstream node-fetch, but they pointed out that the issue needs to be solved in upstream.
I am not going to bother you with details you can find in links. However, there is one issue to discuss in here. There is basically a need to be able to create https.Agent with { ecdhCurve: auto } and pass it to fetch call. However, if I am not mistaken https.Agent is not exactly a cross-platform. Am I missing something in here?
I noticed the issue #41 by @kbrandwijk that might be related, but probably not that much.

@FredyC could you clarify what do you mean by cross-platform? cross compile nodejs code to non-nodejs runtime?
If so, I think the compiler should offer you a way to skip some code, for example https.Agent? I don't think you will have the ecdhCurve issue on non nodejs runtime.

We don’t support Node 8/9 anyore.


Remove hslogger

It is unused.

published https://hackage.haskell.org/package/implicit-hie-cradle-<IP_ADDRESS>


Extract generic traits from postgresql structs

In order to allow multiple database implementations,
Connection and DbResult have been promoted to Traits instead of structs
A new folder postgresql have been added with the relevant postgresql implementations (PGConnection, PGDbResult and the query builder)
This is a first step toward a generic ORM. Hopefully implementing diesel for new databases will be a matter of adding a new folder + some sql changes.
NOTE: I don't have a postgresql installed on my machine so I couldn't run the tests. I even couldn't compile tests because of linking issues. Still I think this is a good first step ....

Thanks for the PR. There's some failing tests, but I think I can handle getting them passing. I think it's still a bit premature to try and genericise these interfaces, but this all seems pretty reasonable at first glance. This is a pretty hefty PR, so it'll take me a day or two to get through it.

Of course I understand.
I didn't really try reasoning about what should be generic or not. My main
focus was to ensure postgresql was in its own module without breaking too
much things.
Take your time.
Thanks
On 29 Dec 2015 09:18, "Sean Griffin"<EMAIL_ADDRESS>wrote:

Thanks for the PR. There's some failing tests, but I think I can handle
getting them passing. I think it's still a bit premature to try and
genericise these interfaces, but this all seems pretty reasonable at first
glance. This is a pretty hefty PR, so it'll take me a day or two to get
through it.
—
Reply to this email directly or view it on GitHub
https://github.com/sgrif/diesel/pull/72#issuecomment-167689876.

Pushed one more commit to relocate postgresql data types and extensions to postgresql directory.
Contrary to Connection/DbResult, the code was already generic. The only changes are use expressions within postgresql folder and lib.rs

Hey just wanted to update why I haven't given this much attention lately. I've started to give more thought to sqlite 3 support, and there's a couple of hard problems that need to be solved.

Our NativeSqlType API only makes sense for PG, but there's not an obvious other place to put it.
The way we handle bind parameters during query construction works fine for PG and MySQL's API, but is fundamentally opposed to SQLite's.

Both of these lead me to believe that we very well might end up simply having the traits themselves have different APIs based on a cfg flag. If that is the route that we end up going down, I'm not sure that it actually makes sense to promote some of these to traits (though it might be worth it any way)
In any case, I'm hesitant to do some of the easier changes until we figure out the harder ones.

Note: I wrote up some very long thoughts on this issue overall in https://github.com/sgrif/diesel/issues/39#issuecomment-172110839

@tafia Thanks for starting the work on this, but there's a lot of feedback that still needs to be addressed, and we're now at the point where this change is actually needed. I'm going to close in favor of #128.

No pb!
On 24 Jan 2016 01:18, "Sean Griffin"<EMAIL_ADDRESS>wrote:

@tafia https://github.com/tafia Thanks for starting the work on this,
but there's a lot of feedback that still needs to be addressed, and we're
now at the point where this change is actually needed. I'm going to close
in favor of #128 https://github.com/sgrif/diesel/pull/128.
—
Reply to this email directly or view it on GitHub
https://github.com/sgrif/diesel/pull/72#issuecomment-174203573.


B 20256 int prevent prime users from acessing pptas migrations

Added secure migrations for int env

Branch is currently being updated

Merge conflict is resolved. Branch updated.


[core] Upgrade to<EMAIL_ADDRESS>

Core packages are still using version 2 of the eslint plugin. This issue is to track upgrading it to version 3. Instructions below.
Affected packages:

[ ] core-tracing
[ ] core-auth
[ ] core-amqp
[ ] core-http

--
The gist of how this works is to basically do the following steps in the package directory:

Add a dependency on the new version (3.0.0) of the plugin to your devDepdendencies:

"@azure/eslint-plugin-azure-sdk": "^3.0.0"
you also need to make sure the following are also devDependencies (due to how eslint resolves plugins, you need all plugins that are used by the configuration as direct devDependencies):
"@typescript-eslint/eslint-plugin": "^2.0.0"
"@typescript-eslint/parser": "^2.0.0"
"eslint": "^6.1.0"
"eslint-plugin-no-null": "^1.0.2"
"eslint-plugin-no-only-tests": "^2.3.0"
"eslint-plugin-promise": "^4.1.1"

Create .eslintrc.json with these contents:

{
  "plugins": ["@azure/azure-sdk"],
  "extends": ["plugin:@azure/azure-sdk/azure-sdk-base"]
}

Change the lint and lint:fix commands in the package.json file to the following:

    "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]",
    "lint": "eslint package.json api-extractor.json src test --ext .ts -f html -o search-lintReport.html || exit 0",

Make sure the eslint plugin is built. A safe way is to build the tree of your package's dependencies again:

rush update
rush build -t @azure/<package-name>

Make sure it says it built @azure/eslint-plugin-azure-sdk in the process.

Run the linter and check the output:

rushx lint
then open the lint report HTML file in the package directory.
--
You might find that you need to disable some of the rules temporarily while we can work out fixes for them. Just log an issue with the eslint-plugin tag for any that you find.

@willmtemple
Core-tracing, core-auth and core-amqp have this already, exactly as you describe it. Am I missing something?

Nope, just http left.


Track is not playing

Acknowledgement

[X] I have read Getting-Started and FAQ

🐛 Describe the bug
When I click the play button the track doesn't play.
Explains how to reproduce the bug

Click on the play button.
It doesn't work.
Check the speakers if they work.
s t i l l  n o .

OS & Version
macOS 14.0
Logs

The above screenshot shows my personal work.

It's likely you need to change the Phonemizer. Teto uses the EN X-Sampa phonemizer.


[8.x] Fix validating image/jpeg images after Symfony/Mime update

Symfony/Mime v5.20 changed the returned extension for an image with image/jpeg mime type: https://github.com/symfony/mime/commit/aa1d922a7c32aedc10f6647ded250535ee3c6346
This breaks laravel image validation, as it relied on a return value of .jpeg. This commit changes .jpeg to .jpg, which fixes the validation. I coudn't find any tests for this part of the framework, but I'm not very familiar with the framework tests, so this might be an oversight on my part.
Edit: Updated the test for this. I'm not sure if getClientOriginalExtension is reached in this case, so I did not alter the extension in that line of the test.

This will fix #35417.

We must keep the origin jpeg item in the array for developer who use versions of symfony/mime prior to 5.2.0.

Please send to 6.x. We will then merge upwards.

Because, yes, Laravel 6 is comparable with symfony mime 5.2.


Added documentation for issue 290

Please merge this @TKirtan under Hacktober Fest 2022.
Thanks!

@TKirtan please merge this


GPU plugin exception: NCCL failure :system error

Environment info
Operating System:
$ cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)

Compiler:
$ gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16)

CUDA version:
$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Nov__3_21:07:56_CDT_2017
Cuda compilation tools, release 9.1, V9.1.85

GPU info:
$ nvidia-smi -L
GPU 0: GeForce GTX 1080 Ti (UUID: GPU-blahblah...)
GPU 1: GeForce GTX 1080 Ti (UUID: GPU-blahblah...)

Package used (python/R/jvm/C++):
python version used:
$ python3 --version
Python 3.6.3

xgboost version used:
$ git rev-parse HEAD
b8a0d66fe6f9f8acc3b27afa81d2fc8ef074633d

Steps to reproduce
compiled with with command:
cmake3 .. -DUSE_CUDA=ON -DUSE_NCCL=ON

Inside my python program, here are my instantiation params:
from xgboost import XGBClassifier
xgbc_kwargs = {
    'n_estimators' : 30,
    'tree_method': 'gpu_hist',
    'ngpus'
    'objective' : 'gpu:binary:logistic',
    'eval_metric' : 'auc',
    'silent' : False,
    'n_gpus' : 1
}
model = XGBClassifier( **xgbc_kwargs )

Error message returned (exception type XGBoostError):
[14:34:48] /home/colettace/src/xgboost/src/tree/updater_gpu_hist.cu:572: GPU plugin exception: NCCL failure :system error /home/colettace/src/xgboost/src/tree/../common/device_helpers.cuh(910)

Stack trace returned 10 entries:
[bt] (0) /usr/lib/python3.6/site-packages/xgboost-0.71-py3.6.egg/xgboost/libxgboost.so(_ZN4dmlc15LogMessageFatalD1Ev+0x29) [0x7fd5bda2a169]
[bt] (1) /usr/lib/python3.6/site-packages/xgboost-0.71-py3.6.egg/xgboost/libxgboost.so(_ZN7xgboost4tree12GPUHistMaker6UpdateEPNS_16HostDeviceVectorINS_6detail20GradientPairInternalIfEEEEPNS_7DMatrixERKSt6vectorIPNS_7RegTreeESaISC_EE+0x2b6) [0x7fd5bdc43b46]
[bt] (2) /usr/lib/python3.6/site-packages/xgboost-0.71-py3.6.egg/xgboost/libxgboost.so(_ZN7xgboost3gbm6GBTree13BoostNewTreesEPNS_16HostDeviceVectorINS_6detail20GradientPairInternalIfEEEEPNS_7DMatrixEiPSt6vectorISt10unique_ptrINS_7RegTreeESt14default_deleteISC_EESaISF_EE+0x801) [0x7fd5bdaaa771]
[bt] (3) /usr/lib/python3.6/site-packages/xgboost-0.71-py3.6.egg/xgboost/libxgboost.so(_ZN7xgboost3gbm6GBTree7DoBoostEPNS_7DMatrixEPNS_16HostDeviceVectorINS_6detail20GradientPairInternalIfEEEEPNS_11ObjFunctionE+0x825) [0x7fd5bdaab1a5]
[bt] (4) /usr/lib/python3.6/site-packages/xgboost-0.71-py3.6.egg/xgboost/libxgboost.so(_ZN7xgboost11LearnerImpl13UpdateOneIterEiPNS_7DMatrixE+0x3e0) [0x7fd5bdab64d0]
[bt] (5) /usr/lib/python3.6/site-packages/xgboost-0.71-py3.6.egg/xgboost/libxgboost.so(XGBoosterUpdateOneIter+0x2b) [0x7fd5bda2134b]
[bt] (6) /lib64/libffi.so.6(ffi_call_unix64+0x4c) [0x7fd72d50fdcc]
[bt] (7) /lib64/libffi.so.6(ffi_call+0x1f5) [0x7fd72d50f6f5]
[bt] (8) /usr/lib64/python3.6/lib-dynload/_ctypes.cpython-36m-x86_64-linux-gnu.so(_ctypes_callproc+0x2a0) [0x7fd72d7224b0]
[bt] (9) /usr/lib64/python3.6/lib-dynload/_ctypes.cpython-36m-x86_64-linux-gnu.so(+0x9636) [0x7fd72d71b636]

What have you tried?

My code works fine on a single GPU by compiling without the -DUSE_NCCL=ON flag.
I tried to de-mangle the C++ symbols in the error message, but that doesn't provide any insight.
I tried installing the static & shared libraries into /usr/local/lib , but that didn't work, as it looks like libnccl.a is incorporated into libxgboost.so statically anyway.

Thanks for any help!
-Chris

I wonder if it's related to centos. I'm going to add centos 6 to our new gpu ci and will see if it reproduces.

Over here at the NIH we're all migrating to CentOS-7. I couldn't even compile XGBoost on CentOS6 without compiling GCC-7 by hand and using that, since the CentOS-6 is circa 2010 and only has GCC v4.4.

@colettace Aside: there is a community-managed repository where you can download latest GCC (without compiling) on CentOS 6: https://www.softwarecollections.org/en/scls/rhscl/devtoolset-7/

since this is a installation question, let us move it to https://discuss.xgboost.ai/.


Error 500 - connection closed on first call only.

First Check

[X] I added a very descriptive title to this issue.
[X] I used the GitHub search to find a similar issue and didn't find it.
[X] I searched the FastAPI documentation, with the integrated search.
[X] I already searched in Google "How to X in FastAPI" and didn't find any information.
[X] I already read and followed all the tutorial in the docs and didn't find an answer.
[X] I already checked if it is not related to FastAPI but to Pydantic.
[X] I already checked if it is not related to FastAPI but to Swagger UI.
[X] I already checked if it is not related to FastAPI but to ReDoc.

Commit to Help

[X] I commit to help with one of those options 👆

Example Code
Session:
from sqlalchemy.ext.asyncio import AsyncSession, create_async_engine
from sqlalchemy.orm import sessionmaker
from app.core.config import settings

engine = create_async_engine(settings.async_database_url)

async_session = sessionmaker(engine, class_=AsyncSession, expire_on_commit=False)

async def get_db():
    async with async_session() as session:
        yield session
        await session.commit()
---
Endpoint:

@router.get("/all-cast-iron/", status_code=200, response_model=CastIronSearchResults)
async def get_user_items(*, db: AsyncSession = Depends(get_db)) -> Any:
    """
    Fetch all cast iron
    """
    all_cast_iron = await crud.cast_iron.get_multi(db=db)
    print(all_cast_iron)
    if not all_cast_iron:
        return {"results": list()}
    return {"results": list(all_cast_iron)}

CRUD:

from typing import Any, Dict, Generic, List, Optional, Type, TypeVar, Union
from sqlalchemy import select

from fastapi.encoders import jsonable_encoder
from pydantic import BaseModel
from sqlalchemy.ext.asyncio import AsyncSession

from app.db.base_class import Base

ModelType = TypeVar("ModelType", bound=Base)
CreateSchemaType = TypeVar("CreateSchemaType", bound=BaseModel)
UpdateSchemaType = TypeVar("UpdateSchemaType", bound=BaseModel)

class CRUDBase(Generic[ModelType, CreateSchemaType, UpdateSchemaType]):
    def __init__(self, model: Type[ModelType]):
        """
        CRUD object with default methods to Create, Read, Update, Delete (CRUD).
        **Parameters**
        * `model`: A SQLAlchemy model class
        * `schema`: A Pydantic model (schema) class
        """
        self.model = model

    async def get(self, db: AsyncSession, id: int) -> Optional[ModelType]:
        response = await db.scalars(select(self.model).where(self.model.id == id))
        return response.first()

    async def get_multi(self, db: AsyncSession) -> List[ModelType]:
        response = await db.scalars(select(self.model).order_by(self.model.id))
        return response.all()
---
Standard Kubernetes deployment:
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: tpctk-fastapi
  namespace: the-precast-toolkit-fs
spec:
  selector:
    matchLabels:
      app: tpctk-fastapi
  replicas: 1
  template:
    metadata:
      labels:
        app: tpctk-fastapi
    spec:
      containers:
      - name: tpctk-fastapi
        image: milsman2/tpctk-fs-async-backend:v0.3
        ports:
        - containerPort: 8000
          name: tpctk-fastapi
        env:
        - name: DB_USER
          valueFrom:
            secretKeyRef:
              name: fastapi-secret
              key: database_user
        - name: DB_PWD
          valueFrom:
            secretKeyRef:
              name: fastapi-secret
              key: database_password
        - name: DB_HOST
          valueFrom:
            secretKeyRef:
              name: fastapi-secret
              key: database_host
        - name: DB_NAME
          valueFrom:
            secretKeyRef:
              name: fastapi-secret
              key: database_name
      nodeSelector:
        nodeCategory: worker

Description
For some reason, I get a 500 error code on the first request to my fastAPI server based on my custom Docker image running in Kubernetes. I only get this code back the first time and every time after that works just fine. I also see that in my logs from the pod, the error reads out as a connection closed issue.
Operating System
Linux, Other
Operating System Details
This is being run as a custom Docker image on my k3s/bare metal cluster.
FastAPI Version
0.75.2
Python Version
Python 3.8.10
Additional Context
I am running everything using SQLAlchemy ORM and all calls are async.

Full code that this us coming from can be found at https://github.com/milsman2/the-precast-toolkit-fs.

Small update. Dropped the await session.commit() and --proxy-headers from the config and it seems to not have issues for now. For a kubernetes deployment of Fastapi, is my configuration otherwise okay?

Update: after the program has been up for a while, I still see the following error on first call to the API -
sqlalchemy.exc.InterfaceError: (sqlalchemy.dialects.postgresql.asyncpg.InterfaceError) <class 'asyncpg.exceptions._base.InterfaceError'>: connection is closed

I added pool_pre_pring=True to the args for engine = create_async_engine(settings.async_database_url) and it seems to be working now. I would like to verify if someone can that this is not due to an underlying issue with the other parts of my code.


Windows: Fix deamon deadlock in docker stop

@tiborvass @icecrime @calavera
Signed-off-by: John Howard<EMAIL_ADDRESS>Edit - see later comments. The actual fault was a deadlock in the daemon, not the test.
Timeout TestContainerApiPostContainerStop appears to be the infrequent (1 in 25 or 30 runs) cause of windowsTP5 failures now that private kernel binaries have been applied to the CI servers. I have not been able to get any repro outside of live CI, hence asking for Windows-specific debugging to be added temporarily to try and debug this when it happens again. It also increases the timeout in the test itself, but I'm fairly certain that is not the cause. I suspect it's either a locking issue, or a possible golang issue where the wait channel is never getting notified. Cannot see a reasonable code path from code inspection to explain why the hang is observed. Note these have been added as .InfoLn, not debug as when running the daemon under test in CI with full debug mode (docker daemon -D ...), the repro is far less frequent.
An example of a failure: https://jenkins.dockerproject.org/job/Docker-PRs-WoW-TP5/409/console.
01:43:43 PASS: docker_api_containers_test.go:1403: DockerSuite.TestContainerApiGetContainersJSONEmpty	0.003s
01:43:43 SKIP: docker_api_containers_test.go:121: DockerSuite.TestContainerApiGetExport (Test requires a Linux daemon)
01:43:47 PASS: docker_api_containers_test.go:51: DockerSuite.TestContainerApiGetJSONNoFieldsOmitted	3.361s
01:43:47 PASS: docker_api_containers_test.go:799: DockerSuite.TestContainerApiInvalidPortSyntax	0.003s
01:43:51 PASS: docker_api_containers_test.go:926: DockerSuite.TestContainerApiKill	3.332s
01:43:51 SKIP: docker_api_containers_test.go:466: DockerSuite.TestContainerApiPause (Test requires a Linux daemon)
04:48:47 Build timed out (after 200 minutes). Marking the build as failed.
04:48:47 Build was aborted
04:48:47 [PostBuildScript] - Execution post build scripts.
04:48:47 [docker] $ sh -xe C:\Users\jenkins\hudson8857524241740742705.sh
04:48:47 + set +e
04:48:47 + set +x
04:48:48 INFO: Non-base image count on control daemon to delete is 1

I wouldn't want to merge this, but I'm happy to keep this PR open and try to reproduce this on the CI.

That doesn't surprise me :smiling_imp: Updating title. Will hammer a bunch of rebuilds on it to investigate.

Looks like there is a genuine race condition with docker kill. Relevant threads below. Moved the lock in container_windows.go to only protect the delete, and not hold it while calling into the backend, or through restart. My suspicions and the previous BUGBUG in there look to be founded.
@tonistiigi Does the lock move seem reasonable to you?
Am going to hammer on the latest change through CI to see if I see another deadlock. If not after 50 or so runs, I'll remove the debugging code and update the PR.
goroutine 7818 [semacquire, 88 minutes]:
sync.runtime_Semacquire(0xc082b8ad54)
	c:/go/src/runtime/sema.go:43 +0x2d
sync.(*Mutex).Lock(0xc082b8ad50)
	c:/go/src/sync/mutex.go:82 +0x1cb
github.com/docker/docker/pkg/locker.(*lockCtr).Lock(0xc082b8ad50)
	c:/go/src/github.com/docker/docker/pkg/locker/locker.go:56 +0x2f
github.com/docker/docker/pkg/locker.(*Locker).Lock(0xc0823d2b10, 0xc082570040, 0x40)
	c:/go/src/github.com/docker/docker/pkg/locker/locker.go:91 +0x18a
github.com/docker/docker/libcontainerd.(*client).lock(0xc0823d4400, 0xc082570040, 0x40)
	c:/go/src/github.com/docker/docker/libcontainerd/client.go:19 +0x40
github.com/docker/docker/libcontainerd.(*client).Signal(0xc0823d4400, 0xc082570040, 0x40, 0x9, 0x0, 0x0)
	c:/go/src/github.com/docker/docker/libcontainerd/client_windows.go:330 +0x8e
github.com/docker/docker/daemon.(*Daemon).kill(0xc082338000, 0xc082cced00, 0x9, 0x0, 0x0)
	c:/go/src/github.com/docker/docker/daemon/daemon.go:939 +0x83
github.com/docker/docker/daemon.(*Daemon).killWithSignal(0xc082338000, 0xc082cced00, 0x9, 0x0, 0x0)
	c:/go/src/github.com/docker/docker/daemon/kill.go:84 +0x4af
github.com/docker/docker/daemon.(*Daemon).killPossiblyDeadProcess(0xc082338000, 0xc082cced00, 0x9, 0x0, 0x0)
	c:/go/src/github.com/docker/docker/daemon/kill.go:146 +0x63
github.com/docker/docker/daemon.(*Daemon).Kill(0xc082338000, 0xc082cced00, 0x0, 0x0)
	c:/go/src/github.com/docker/docker/daemon/kill.go:109 +0x119
github.com/docker/docker/daemon.(*Daemon).containerStop(0xc082338000, 0xc082cced00, 0x0, 0x0, 0x0)
	c:/go/src/github.com/docker/docker/daemon/stop.go:57 +0x46e
github.com/docker/docker/daemon.(*Daemon).ContainerStop(0xc082338000, 0xc0826edd51, 0x40, 0x0, 0x0, 0x0)
	c:/go/src/github.com/docker/docker/daemon/stop.go:28 +0x2c6
github.com/docker/docker/api/server/router/container.(*containerRouter).postContainersStop(0xc0823d4540, 0x230aa40, 0xc082ad9890, 0x4a40b10, 0xc08233a630, 0xc082726a80, 0xc082ad9710, 0x0, 0x0)
	c:/go/src/github.com/docker/docker/api/server/router/container/container_routes.go:160 +0x192
github.com/docker/docker/api/server/router/container.(*containerRouter).(github.com/docker/docker/api/server/router/container.postContainersStop)-fm(0x230aa40, 0xc082ad9890, 0x4a40b10, 0xc08233a630, 0xc082726a80, 0xc082ad9710, 0x0, 0x0)
	c:/go/src/github.com/docker/docker/api/server/router/container/container.go:53 +0x7b
github.com/docker/docker/api/server/middleware.NewVersionMiddleware.func1.1(0x230aa40, 0xc082ad9890, 0x4a40b10, 0xc08233a630, 0xc082726a80, 0xc082ad9710, 0x0, 0x0)
	c:/go/src/github.com/docker/docker/api/server/middleware/version.go:42 +0xa4a
github.com/docker/docker/api/server/middleware.NewUserAgentMiddleware.func1.1(0x230aa40, 0xc082ad9860, 0x4a40b10, 0xc08233a630, 0xc082726a80, 0xc082ad9710, 0x0, 0x0)
	c:/go/src/github.com/docker/docker/api/server/middleware/user_agent.go:34 +0x6bf
github.com/docker/docker/api/server/middleware.DebugRequestMiddleware.func1(0x2309140, 0xc082008ea0, 0x4a40b10, 0xc08233a630, 0xc082726a80, 0xc082ad9710, 0x0, 0x0)
	c:/go/src/github.com/docker/docker/api/server/middleware/debug.go:54 +0x970
github.com/docker/docker/api/server.(*Server).makeHTTPHandler.func1(0x4a40b10, 0xc08233a630, 0xc082726a80)
	c:/go/src/github.com/docker/docker/api/server/server.go:132 +0x13f
net/http.HandlerFunc.ServeHTTP(0xc08247d6e0, 0x4a40b10, 0xc08233a630, 0xc082726a80)
	c:/go/src/net/http/server.go:1422 +0x41
github.com/gorilla/mux.(*Router).ServeHTTP(0xc08236f630, 0x4a40b10, 0xc08233a630, 0xc082726a80)
	C:/go/src/github.com/docker/docker/vendor/src/github.com/gorilla/mux/mux.go:98 +0x2a5
github.com/docker/docker/api/server.(*routerSwapper).ServeHTTP(0xc0824e0130, 0x4a40b10, 0xc08233a630, 0xc082726a80)
	c:/go/src/github.com/docker/docker/api/server/router_swapper.go:29 +0x79
net/http.serverHandler.ServeHTTP(0xc082303b00, 0x4a40b10, 0xc08233a630, 0xc082726a80)
	c:/go/src/net/http/server.go:1862 +0x1a5
net/http.(*conn).serve(0xc08233a580)
	c:/go/src/net/http/server.go:1361 +0xbf5
created by net/http.(*Server).Serve
	c:/go/src/net/http/server.go:1910 +0x3fd

goroutine 7834 [semacquire, 88 minutes]:
sync.runtime_Semacquire(0xc082766544)
	c:/go/src/runtime/sema.go:43 +0x2d
sync.(*Mutex).Lock(0xc082766540)
	c:/go/src/sync/mutex.go:82 +0x1cb
github.com/docker/docker/daemon.(*Daemon).StateChanged(0xc082338000, 0xc082570040, 0x40, 0x13d6710, 0x4, 0x42b000036f8, 0x13d75e8, 0x4, 0x985b00, 0x0, ...)
	c:/go/src/github.com/docker/docker/daemon/monitor.go:30 +0x4a9
github.com/docker/docker/libcontainerd.(*container).waitExit(0xc082c404e0, 0x36f8, 0x13d75e8, 0x4, 0x1, 0x0, 0x0)
	c:/go/src/github.com/docker/docker/libcontainerd/container_windows.go:207 +0x9a7
created by github.com/docker/docker/libcontainerd.(*container).start
c:/go/src/github.com/docker/docker/libcontainerd/container_windows.go:95 +0xb10

@jhowardmsft I'm not sure this is quite correct. Look at he equivalent linux code https://github.com/docker/docker/blob/master/libcontainerd/container_linux.go#L154 where we use queue to call the callbacks. Rule should we that libcontainerd should never hold locks when it's calling back the callbacks to the daemon.

@tonistiigi Yes, you're right. Removed the lock to mirror Linux. I also noticed that in the restart manager code there's a missing call to deleteContainer - that must have been added to the Linux code after I forked the Windows implementation. A queue should not be necessary due to the way in which the Windows code path runs here. Will hammer CI again with the latest change.

@tiborvass @icecrime @calavera @tonistiigi
Title updated. Change looks good - no more deadlocks in CI, and hacks removed. So far has passed 11 runs with no failures other than from other flakey tests (#21962, #21954), and another 9 runs actively running now.

LGTM

LGTM


[FEATURE] IP Address Widget

Category: Bugfix / Feature
Overview
The IP address widget previously used IP-API.com to fetch users public address. However this service does not support requests from HTTPS-enabled clients on the free plan. Widget has now been updated to use IpApi.co by default, with support for other services like IpGeolocation.io.
Also created a Glances widget to show IP address, although the IP plugin is not supported on all instances of Glances.
Issue Number  #437
New Vars N/A
Screenshot
Public IP
Glances IP
Code Quality Checklist (Please complete)

[X] All changes are backwards compatible
[X] All lint checks and tests are passing
[X] There are no (new) build warnings or errors
[X] (If a new config option is added) Attribute is outlined in the schema and documented
[X] (If a new dependency is added) Package is essential, and has been checked out for security or performance
[] Bumps version, if new feature added

SonarCloud failing because the previous endpoint was http - see report.


Use a separate “menu-title” for the navigation menu

If the parameter menu-title has been set in a flatpage, use its value instead to display it in the menu. This may come in handy if one prefers to keep the menus rather small.
A good example is “FAQ” instead of “Frequently asked Questions (FAQ)”.

There did not seem to be a need for this in quite a while. Closing.


Debug method for implementing other robots

Hello, I'm trying to implement a turtlebot server, but I'm at a lost at how to debug.
For example, I get an Rpc Error in the Server Manager when I try to initialize the environment, after suppressing the try-except block (sorry I'm having issues copying the text):

Launching the Mir100 environment, I have no issue, so I'm not sure what fixes to attempt.
Any advice would be appreciated.
Thanks!

Moving my package into the robogym_ws got it working!

Hi, I am happy to see that you got it working. I will close this one :)


Fix address slash

Fixes #279
UG at PE-D allowed for any characters. However, if the address contained a CLI prefix, that portion of the address onwards will be regarded as part of another field. This may cause other fields to be inadvertently updated. This "causes the software to misbehave" as we may accidentally store the wrong data.
E.g. Kent Ridge p/o office causes o office to be parsed as a phone number.
We will update the input validation to prevent users from entering addresses with /.

This was approved as many addresses have "/" slash in them. If this was not forbidden explicitly both in code and the UG, the software would misbehave for many typical users.


update embedded installer for ampere

Could we get an update to the embedded installer so ampere (RTX 3000 series) could more easily get support?
Both Python and pyTorch is out of date at this point and, im guessing that is why Cuda and Tensorcore support is not working in the embedded option.

Planned.
It's just that Pytorch 1.8 is ~2x as big as the current version.


Enhancement: [zhao.toatu.com] change the billing link

Pull Request Template
⚠ Before Submitting a PR, read the Contributing Docs in full!
Summary
Please provide a brief summary of your changes and the related issue. Include any motivation and context that is relevant to your changes. If there are any dependencies necessary for your changes, please list them here.
Change Type
Please delete any irrelevant options.

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update
[ ] Documentation update

Testing
Please describe your test process and include instructions so that we can reproduce your test. If there are any important variables for your testing configuration, list them here.
Test Configuration:
Checklist

[x] My code adheres to this project's style guidelines
[ ] I have performed a self-review of my own code
[x] I have commented in any complex areas of my code
[ ] I have made pertinent documentation changes
[ ] My changes do not introduce new warnings
[ ] I have written tests demonstrating that my changes are effective or that my feature works
[ ] Local unit tests pass with my changes
[ ] Any changes dependent on mine have been merged and published in downstream modules.

Enhancement: [zhao.toatu.com] change the billing link #181

Please make the following changes

[ ] due to most of the changes are in the server, please recreate this PR against main branch. We will have to have a merge the  same to the release/zhao branch
[ ] We cannot need to set the client URL in .env which just for the server

Enhancement: [zhao.toatu.com] change the billing link #181


Updated the main settings on the guide

- Switched the component type name to the component name.
When classicChannelNames is off, it is using self.guide.compName in the enum list, which is the name of the type of the component, instead of the name of the component. I found it a bit confusing to see which section was which module.

- Added a new param "Add Full Name Param" in the guide main settings.

It's useful in case of no attributes/channels existing under the full name param like control_01 module.
*The option is turned on by default.

@joji2468ng The purpose is to share the same attrs when the names match, if we change that name and we share the UIHost of the same type, we will end up with 2 title names but the rest of the channels will be shared.
Also since it is only for the title it can be confusing when used with instance names for attr prefix

I am afraid I can't merge this PR