Authentication

Currently the API is completely unrestricted. Anyone who can access the ip/port where the server is running can talk to it.
There are a few different options that might be feasible:
1. JWT
This was the first idea I had, and started spiking it out in #5 - unfortunately, without a signin mechanism, this is basically as secure as just sending a shared secret. Yes, you can generate short lived tokens on the client side using the shared HMAC secret, but that might be a bit too complicated for users of this plugin? We want this thing to be easy to use for the most amount of people.
2. Usernames/Passwords
Just create a map of username: bcrypt(password) in config.yml and then authenticate based on that using HTTP BASIC auth.

Considering how dangerous a malicious application can be when they have access to the API, I think security is more important than catering to users who don't understand basic networking (see: dynmap github issues)
Allow the user to generate secrets with specific scopes for each external application (e.g. this application can only view the list of online players and nothing else). This way, users are aware of what permissions they are granting to each application. A simplified version of OAuth if you will. Then pass them in the header or something (X-APPLICATION-ID and X-API-KEY), I think it's easier than HTTP basic auth.
For the record, if you do imagine the majority of client applications are going to be user-facing applications like the web console (and not headless data aggregators / automation scripts), then a full OAuth implementation might be worth looking into.

Not sure if these are of any use?
https://javalin.io/2018/09/11/javalin-jwt-example.html
https://javalin.io/documentation#access-manager

For now, a simple and yet effective method I use is just to write a very simple API to sit in-between requests to servertap. Then I can just run the servertap API locally only and preform the authentication I need on the public facing mediation API.
A tad over engineered but it gets the job done.

Currently working on an implementation that will allow you to put something like this in your config.yml
auth:
  # a key that has ultimate power
  - name: my-key
    key: 123abcsupersecretkey
    allow:
      - "*"
  # A key that can only access worlds and players
  - name: basic-key
    key: redrumredrum4567889
    deny:
      - "*"
    allow:
      - "world"
      - "worlds"
      - "players/*"

Just need to figure out if we shuold have separate permissions for read v.s. write, or just have a flag called readOnly on each key that will determine its level of access to the specified endpoints.
I welcome thoughts, ideas, critique etc

Currently working on an implementation that will allow you to put something like this in your config.yml
auth:
  # a key that has ultimate power
  - name: my-key
    key: 123abcsupersecretkey
    allow:
      - "*"
  # A key that can only access worlds and players
  - name: basic-key
    key: redrumredrum4567889
    deny:
      - "*"
    allow:
      - "world"
      - "worlds"
      - "players/*"

Just need to figure out if we shuold have separate permissions for read v.s. write, or just have a flag called readOnly on each key that will determine its level of access to the specified endpoints.
I welcome thoughts, ideas, critique etc

I really like the simplicity of this being an "readOnly" flag.

I think it would be beneficial if the config didn't store the token (key), but it's hash (preferably using bcrypt). This is how for example GitHub or Discord does it. The token could be either sent as simple HTTP auth or as Authorization: Bearer <token> header
So the user would first need to generate a token and hash. This could be accomplished in multiple ways, some that I could think of are:

Spigot server command that generates a token and it's hash.
It shows the token to the command sender and creates a new entry in config.yml with the hash.
There should be a note that the token will be shown only once.
One thing to keep in mind is that you should avoid logging the token when showing it to the sender.
A command that starts a web GUI - after all this is a web server plugin :)
The link generated by the command would contain a session id, which is checked when entering the GUI
This option is probably overkill, but nonetheless it's something to consider
A simple HTTP + JS generator. You already have a domain for this plugin, there could be a page which can generate both the token and hash. The user is expected to put the hash in the config themselves.

I guess the token and hash should have a specific format, like STh(...) for the hash and STt(...), so the plugin can detect if the user put the token in the config or sent a hash as the authorization header. Here's a blog post by GitHub about their token format:
https://github.blog/2021-04-05-behind-githubs-new-authentication-token-formats/

@dominik-korsa I think I like your first idea. What if it worked like this?

server admin installs ServerTap
server starts, and if it doesn't find a file called .first-run (or something) it will refuse to serve any endpoints until...
server admin does /servertap enable-auth or something like that on the server console, ServerTap prints something like this

Authentication enabled. Your server token is: `st_4jlh3bqwlk5jbl588bwrklbjwe5kjhb32wkj45cca`. Note: this token will never be shown again

And then it also writes that (or the bcrypt() of that) into config.yml?
Then any request to any ServerTap REST API methods check that the user has provided: Authorization: Bearer <the token>?

The problem with step 3. Is that the token will be logged in in the console and will remain in the log files. The point of storing only the hash is that even if someone gets to see the server files, they still would not be able to access the API.
Also I don't think there is a need for the .first-run file at all. There could be any number of tokens generated with different scopes (permissions). If there is no entry in the config, every request will get code 403/401, because their token would obviously be invalid. You can show a warning in the console if there is no entry in config. The 401/403 page could describe the steps to authorize the request.
If you still want to use the command, I would rename it to /server-tap generate-token, because there could be many tokens.
Also as a last thought: I think there should be no way for the authentication to be disabled. Most of the users will choose the simplest way to do something, so why would they bother to set up a token?


Data expiration

It would nice to be able to set a TTL to some records for them to be removed after a certain amount of time

It also would be nice to have some kind of eviction callbacks

any progress ?


add file: scheme support

This is helpful for directly serving assets that starts with file:///

I'm not entirely sure if the android assets uris are handled on the file system level, or just handled by the Java file APIs. This should work only the former case. I think PR can merged or discarded based on that.


ParquetOutputCommitter should propagate errors when writing metadata files

There's a lot of different ways the output committer can fail, or fail to rollback after failing to write metadata files. We should decide whether metadata files are required, and fatal (I think that's reasonable if the user asked for them), and propagate without squashing exceptions.
Reporter: Alex Levenson / @isnotinvain
PRs and other links:

GitHub Pull Request #502

Note: This issue was originally created as PARQUET-383. Please see the migration documentation for further details.

Ryan Blue / @rdblue:
I think this is a good idea. I'd make the error fatal only if the user opted to use the metadata file. I'd suggest that we not write the metadata file by default, but I don't think that's an option without a major version bump because it could break users.


It is possible to combine the library with location services ?

Hello. I am wondering is there any options for combining the library and static gps coordinates. I need to spawn objects in real world coordinates. I found many examples on Unity. but for android I can't find some useful information. Virocore has good API but I can't find any options too

Hi @aplachykau, take a look at this answer by Raj Advani on stackoverflow regarding this question. This should help you get started with Viro and GPS -> https://stackoverflow.com/questions/47419496/augmented-reality-with-react-native-points-of-interest-over-the-camera/47463980#47463980


[Feature Request] Add hosts to Cloudflare automatically

Is your feature request related to a problem? Please describe.
When I add a new host to NPM, I must also manually add the subdomain to my Cloudflare DNS settings. I have previously used Traefik as a reverse proxy which had an extension to automatically add the subdomain to Cloudflare.
Describe the solution you'd like
I would like the option to add a host to my Cloudflare DNS Zone automatically from NPM.
Describe alternatives you've considered
There are none, currently.

Yes, would be nice, like in https://www.cloudron.io
Thank's in advance

Closing in favor of more general https://github.com/jc21/nginx-proxy-manager/issues/1238

@chaptergy You linked to, and closed, this issue. Could you please correct the link to the other issue?


Add eslint-plugin-xss

https://github.com/Rantanen/eslint-plugin-xss

... but why? 😄 Is this something you are already using on React projects? 🤔

@robertrossmann from time to time yes :) Especially when you get data from external API. Probably the most common usecase is anykind of CMS output, than you need to call https://reactjs.org/docs/dom-elements.html#dangerouslysetinnerhtml


[zh-cn]Sync managing-secret-using-config-file.md

Hey @kinzhi,
Would you like to address the previous concern?
Please let us know what you think about it using the comment function.

Thanks for purposing this PR. But since you didn't respond for a while, we have to close this PR now.
/close
Feel free to /reopen when you are ready to move forward.
(Note that please don't push anything while PR closed, or you won't be able to reopen it.)


RandomMentee() Validation Error

The new tests we have for our random generators fail to validate our random mentees.
referred_by
  field required (type=value_error.missing)
heard_about
  extra fields not permitted (type=value_error.extra)
list_convictions
  extra fields not permitted (type=value_error.extra)

Suggested Story Points: 2

BL-780 created.

Did BL-780 get deleted?


XML associated to login/signup

[x] Login layout
[x] sign up layout
[x] reset password layout
[ ] Log out layout

Logout Screen could be a simple Modal Overlay containing a TextView a Button to confirm action and another to Cancel.

Ok but you didn't tell me the erronée that you have
On Wed, Sep 21, 2022, 5:28 PM Ander Mischchaël SAINT-LOUIS <
@.***> wrote:

Logout Screen could be a simple Modal Overlay containing a TextView a
Button to confirm action and another to Cancel.
—
Reply to this email directly, view it on GitHub
https://github.com/SLG-2022-G3/HELP/issues/11#issuecomment-1254246590,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AW4IN6DUEIW7LAYHZJ7DC3LV7N4YLANCNFSM6AAAAAAQKBCBJQ
.
You are receiving this because you were assigned.Message ID:
@.***>


Include fp_self_contained

In #26 (and previously #9) the fp_self_contained extrinsic was not added, which will prevent Ethereum-style transactions from working correctly.
See:

https://github.com/Polkadot-Blockchain-Academy/Academy-PoW/pull/26#issuecomment-1623824136
https://paritytech.github.io/frontier/rustdocs/fp_self_contained/index.html
https://github.com/paritytech/frontier/blob/3c75079ed627ec83db88ca78d2ea4d4da6b3d8af/template/runtime/src/lib.rs#L468

I ended up solving this in the last few commits in #26


Setting a key in a map doesn't add the key if it isn't already there

Looking at the code ( https://github.com/xyncro/aether/blob/master/src/Aether/Aether.fs#L435 ) this appears to be deliberate, but it seems unexpected. What's the rationale?

Yes, to obey the lens laws suitably, there are two implementations, both of which maintain the logical "shape" of the data structure. So key_ will not modify a key that does not already exist. The alternative, value_ treats values as options, so a value which does not exist is None, which does exist is Some etc.
You'll often find that if you want to be adding values to a map, value_ is more useful and explicit.

Fair. I'll let this rest here for other people's curiosity to be satisfied.


Confusing deprecation notice for sys::epoll::epoll_ctl

https://docs.rs/nix/latest/nix/sys/epoll/fn.epoll_ctl.html
Currently it says "👎Deprecated since 0.27.0: Use Epoll::epoll_ctl() instead", but Epoll::epoll_ctl is private and I can't use it. So either deprecation message should talk about individual commands or Epoll::epoll_ctl should be public. Probably the former.

Thanks for catching it! It is indeed confusing.

Probably the former

Yeah, we should use the corresponding methods of Epoll: https://docs.rs/nix/latest/nix/sys/epoll/struct.Epoll.html#method.add


Add link to checkpointing follow-up article

This adds a link to the follow-up article "Forensic Container Analysis" to the already existing article "Forensic Container Checkpointing".
/hold
See #39759

/approve
Thanks

/unhold


etcd not work

Hello,
The etcd cluster is not "work".
root@master1:~# etcdctl cluster-health
cluster may be unhealthy: failed to list members
Error:  client: etcd cluster is unavailable or misconfigured; error #0: dial tcp <IP_ADDRESS>:4001: getsockopt: connection refused
; error #1: malformed HTTP response "\x15\x03\x01\x00\x02\x02"

error #0: dial tcp <IP_ADDRESS>:4001: getsockopt: connection refused
error #1: malformed HTTP response "\x15\x03\x01\x00\x02\x02"

Maxence

@flemzord In this release, etcd use https to communicate with hosts, so you need to use follow commands:
$ export CA="/etc/etcd/ssl"
$ ETCDCTL_API=3 etcdctl \
    --cacert=${CA}/etcd-ca.pem \
    --cert=${CA}/etcd.pem \
    --key=${CA}/etcd-key.pem \
    --endpoints="https://<IP_ADDRESS>:2379" \
    endpoint health


HackerNews comment redirect is broken

@frankcash I can fix this.

Awesome @kme211 !  Let me know if you get stuck!

@frankcash It looks like the number of comments may also be broken (displaying hours instead of comments), do you want me to fix that, too?

That'd be great :)
On Mon, Oct 10, 2016, 11:11 AM Keari Eggers<EMAIL_ADDRESS>wrote:

@frankcash https://github.com/frankcash It looks like the number of
comments may also be broken (displaying hours instead of comments), do you
want me to fix that, too?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/frankcash/HackerQueue/issues/45#issuecomment-252651993,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFu9R6-kYVFRQJiXfdjXGw4nZ0cKo-yQks5qylWQgaJpZM4G88cK
.

I submitted a PR (my first!). Please let me know if I should have done anything different.

Thank you so much for your contribution, I really appreciate it!
:smile_cat:


Request to release multimodal finetuning for Internvideo2

I request Authors to release finetuning for Internvideo2 model with multimodality: https://github.com/OpenGVLab/InternVideo/tree/main/InternVideo2/multi_modality#finetuning

Hi! For retrieval and QA, you can use those finetuning code in UMT.


Remove ancient CoreOS version check which is not relevant anymore

Codecov Report

Merging #680 into master will decrease coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #680      +/-   ##
==========================================
- Coverage   37.41%   37.39%   -0.02%
==========================================
  Files          52       52
  Lines        3170     3150      -20
==========================================
- Hits         1186     1178       -8
+ Misses       1807     1801       -6
+ Partials      177      171       -6

Impacted Files
Coverage Δ

core/controlplane/config/config.go
57.52% <ø> (+0.43%)
: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 9e20f4e...1d09573. Read the comment docs.

@redbaron Good catch 👍


Update UserGuide.md

Codecov Report
Base: 50.95% // Head: 50.95% // No change to project coverage :thumbsup:

Coverage data is based on head (5d061e2) compared to base (b34c001).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff            @@
##             master     #140   +/-   ##
=========================================
  Coverage     50.95%   50.95%
  Complexity      614      614
=========================================
  Files           125      125
  Lines          2814     2814
  Branches        314      314
=========================================
  Hits           1434     1434
  Misses         1260     1260
  Partials        120      120

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Upload custom Operating Agreement

DAO members should be able to vote to change the DAO LLC Operating Agreement.
KaliDAO smart contract allows this type of proposals TypeProposal.DOCS. We need a nice UX flow for it.


Fix Android audio crash fixes Issue #1417

Fix Issue #1417
Why:
It appears that in this commit the check added to ensure group lengths are greater than 0 still allows for a case in which the groupIndex is -1 but the group.length == 0 so we are never breaking for the invalid groupIndex.
This change addresses the need by:

Don't chain check for INDEX_UNSET to previous conditional

@Mrjaco12 ❤
I can confirm the fix works, tested on android 9 (nokia 7+) with audioOnly and an mp3 file
It doesn't work without the fix

Good job.

@cobarx hey, any chance to have a look at this?
Also any chance to reply to @kelset  related to the React Native Core Contributors org we're trying to setup (well, he's doing all the work)? 🤗 https://github.com/react-native-community/meta/blob/master/MAINTAINERS.md

Nice!

Ok sorry for the delay on this, I haven't been as active lately.
Yes, this will work. It took me a bit of looking but you were right on the money. The nested check whether there are video groups or not through me for a loop on why unchaining worked. So I moved that into the main if check to make that more readable and added some comments.
I'll reach out to @kelset tonight.


Add support for another Aqua format

@madchap
Supersedes #2708.
This fixes #2389

@jvz this one is still trying to merge to master and not dev?

I could change it manually here without trouble, since everything is so fresh due to the latest release and given the scope of the PR. I relaunched a Travis, since it failed somehow on generating the nginx image.

Turns out this PR introduced some flake8 errors, fixed in #2726 2726


About protecting starting a session with the same name

You could create a system that if you try to create a session with the same name, it returns a failure, if the session exists and they are not active, then close it and open a new one, if there is one active (connected) then, do not perform any action

Fixed in 2024.5.3 (WAHA Plus)

if there is one active (connected) then, do not perform any action

If you perform two POST /api/sessions request with the same name, like
{
  "name": "sessionname",
}

It return response with status code 422 and payload:
{
  "statusCode": 422,
  "message": "Session 'default3' is already started.",
  "error": "Unprocessable Entity"
}

If the session exists and it's STOPPED - we restart it


eMail Header Style is a required environment variable

eMail Header Style is a required environment variable in CoE - Compliance and Report Components and default values are not provided.
I used email header style values from this document: https://stevemordue.com/wp-content/uploads/CoE-Starter-Kit-Documentation-and-Setup-Instructions.pdf

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

ID: e14181d4-574f-95e3-c2c9-545116549c9b
Version Independent ID: bf449b92-6756-e08a-a58c-d561e36947cb
Content: Set up governance components - Power Platform Admin center
Content Source: power-platform/guidance/coe/setup-governance-components.md
Service: power-platform
GitHub Login: @manuelap-msft
Microsoft Alias: mapichle

Thank you for pointing that out, we have added the Default Value to the documentation as well, it's linked to from
https://docs.microsoft.com/en-us/power-platform/guidance/coe/setup-core-components#update-environment-variables


backup,config: set backup thread pool size via config instead of gRPC

What problem does this PR solve?
Issue Number: close pingcap/br#394, close #8076.
Problem Summary:
What is changed and how it works?
This is the companion PR of pingcap/br#396.
In #5553, the backup component gained ability to an adjustable thread pool size. The size is provided via the incoming gRPC request. Given how the ThreadPool is implemented in TiKV, a user can easily (accidentally) DoS all TiKV servers by setting the thread pool size to a huge number like 232-1.
Furthermore, when we provide the thread pool size through gRPC, the backup client (BR) must determine the suitable concurrency number in some ad-hoc way.
This PR solves both issue by moving the thread pool size back as a TiKV config:
[backup]
num-threads = 24

The default value is set to (0.75 × Number of CPUs) to better utilize the available resources. The value can still be dynamically configured, but given this more practical default value it should be much less needed.
Related changes

PR to update pingcap/docs/pingcap/docs-cn:
PR to update pingcap/tidb-ansible:
Need to cherry-pick to the release branch

Check List
Tests

Unit test

Side effects
Release note

A new configuration backup.num-threads is introduced to control the backup thread pool size.

LGTM

/merge


Substitute disallowed tags in branch name before Docker tagging step

Resolves #23
Task:

Discover disallowed character sets in Docker tags
Implement a character swapping for the disallowed sets before calling the docker-tag command.

Notes
from Docker Docs

A tag name must be valid ASCII and may contain lowercase and uppercase letters, digits, underscores, periods and dashes. A tag name may not start with a period or a dash and may contain a maximum of 128 characters.

--
Two relevant pieces:

"A tag name may not start with a period or a dash"
This restriction also applies to Git branches, so that checks out.

The tag name can not contain / (from testing)
This is allowed in a Git branch name, and is what we check for in this PR.

👍 Good tip (re: the alternative approach).
I also updated the PR description to explain why it's only this change


Cstor pool recommendation jobs are failing

When we are trying to execute multiple jobs for cstor pool creation and listing then few jobs are getting failed.
We are executing one job at a time in sequence.
Openebs is installed using director.
We have 9 disks attached in the cluster.
The sequence of jobs:

TCID-DIR-OP-CSTOR-POOL-RECOMMEND-CREATE-STRIPE [Cluster 2]
TCID-DIR-OP-CSTOR-POOL-RECOMMEND-CREATE-MIRROR [Cluster 3]
TCID-DIR-OP-CSTOR-POOL-RECOMMEND-LIST-STRIPE [Cluster 3]
TCID-DIR-OP-CSTOR-POOL-RECOMMEND-LIST-MIRROR [Cluster 3]
TCID-DIR-OP-CSTOR-POOL-RECOMMEND-LIST-NO-NDM [Cluster 3] [Negative Tc]

Pipeline Details:

https://gitlab.mayadata.io/oep/oep-e2e-aws/pipelines/10847

More detailed log required to debug this problem.
Required info of all the BD present in the system(size, state, claim state, hostname, file system ... ) before creating a cStor pool.

Note: The requirements are -

OpenEBS version should be >= 1.10
Min no of BD required as per RAID group
In a RAID group all the BD should be exactly same in size.
BD should be in the Unclaimed and Active state.
File system should not present in BD.

Please provide these details if we have or try to add them so that I can debug it.

Openebs version= openebs.io/version=1.10.0
Total no of blockdevice = 9
Size of all Bds is same
All the BDs are in unclaimed and Active state
File systems are not present in BDs.
NAME                                           NODENAME                                   SIZE          CLAIMSTATE   STATUS   AGE
blockdevice-1447fcbe83f614345678bfee657aa718   ip-10-0-1-226.us-west-2.compute.internal<PHONE_NUMBER>0   Claimed      Active   15m
blockdevice-346a39ef7bd37708e2fd6fa73d350959   ip-10-0-1-226.us-west-2.compute.internal<PHONE_NUMBER>0   Claimed      Active   15m
blockdevice-4a6b9ad532d7198158443d510fa01350   ip-10-0-1-226.us-west-2.compute.internal<PHONE_NUMBER>0   Unclaimed    Active   15m
blockdevice-552de9f520c63ae6c60a12c3cdb6c0bd   ip-10-0-1-226.us-west-2.compute.internal<PHONE_NUMBER>0   Unclaimed    Active   15m
blockdevice-5e75dae9139d9f52aad4f9b9d8c2f16a   ip-10-0-1-226.us-west-2.compute.internal<PHONE_NUMBER>0   Unclaimed    Active   15m
blockdevice-60b27441f77bdb68e3a6cb6dd9335101   ip-10-0-1-226.us-west-2.compute.internal<PHONE_NUMBER>0   Unclaimed    Active   15m
blockdevice-6963dcba924386d69d71d4ae0846cdd9   ip-10-0-1-226.us-west-2.compute.internal<PHONE_NUMBER>0   Unclaimed    Active   15m
blockdevice-8c6c691c843326dde46c0679974a84b4   ip-10-0-1-226.us-west-2.compute.internal<PHONE_NUMBER>0   Unclaimed    Active   15m
blockdevice-c6cf4fd5416289d434212e808de9636d   ip-10-0-1-226.us-west-2.compute.internal<PHONE_NUMBER>0   Unclaimed    Active   15m

@amitbhatt818  I meant I need it in the job log while it was failing at that time.

I guess configuration will be same for all the pipelines. But then also I will wait for the pipeline to get fail and then I will paste the logs here. @shovanmaity

Raised PR to get details of BD before pool creation. I need to discover the issue again in pipeline. I will paste the log of job when it will fail again.
https://github.com/mayadata-io/oep-e2e/pull/611/
cc: @shovanmaity @AmitKumarDas

Logs of failed job with BD details: @shovanmaity
TASK [Get username] ************************************************************
changed: [<IP_ADDRESS>] => {"changed": true, "cmd": "cat /etc/secret-volume/username", "delta": "0:00:00.001910", "end": "2020-05-27 07:13:59.643121", "rc": 0, "start": "2020-05-27 07:13:59.641211", "stderr": "", "stderr_lines": [], "stdout": "6162AE606B863A0B6A01", "stdout_lines": ["6162AE606B863A0B6A01"]}

TASK [Get password] ************************************************************
changed: [<IP_ADDRESS>] => {"changed": true, "cmd": "cat /etc/secret-volume/password", "delta": "0:00:00.005923", "end": "2020-05-27 07:13:59.859882", "rc": 0, "start": "2020-05-27 07:13:59.853959", "stderr": "", "stderr_lines": [], "stdout": "J4bB29ctDgVNBTYovf1rc7XWCb6UxmHsk1yRWxvt", "stdout_lines": ["J4bB29ctDgVNBTYovf1rc7XWCb6UxmHsk1yRWxvt"]}

TASK [Check whether openebs components are in Running state or not] ************
changed: [<IP_ADDRESS>] => (item=openebs-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "kubectl get pods -n openebs  | grep openebs-provisioner | awk '{print $3}' | awk -F':' '{print $1}' | tail -n 1", "delta": "0:00:00.069846", "end": "2020-05-27 07:14:00.148403", "item": "openebs-provisioner", "rc": 0, "start": "2020-05-27 07:14:00.078557", "stderr": "", "stderr_lines": [], "stdout": "Running", "stdout_lines": ["Running"]}
changed: [<IP_ADDRESS>] => (item=openebs-ndm-operator) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "kubectl get pods -n openebs  | grep openebs-ndm-operator | awk '{print $3}' | awk -F':' '{print $1}' | tail -n 1", "delta": "0:00:00.074597", "end": "2020-05-27 07:14:00.368329", "item": "openebs-ndm-operator", "rc": 0, "start": "2020-05-27 07:14:00.293732", "stderr": "", "stderr_lines": [], "stdout": "Running", "stdout_lines": ["Running"]}
changed: [<IP_ADDRESS>] => (item=openebs-ndm) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "kubectl get pods -n openebs  | grep openebs-ndm | awk '{print $3}' | awk -F':' '{print $1}' | tail -n 1", "delta": "0:00:00.060294", "end": "2020-05-27 07:14:00.574893", "item": "openebs-ndm", "rc": 0, "start": "2020-05-27 07:14:00.514599", "stderr": "", "stderr_lines": [], "stdout": "Running", "stdout_lines": ["Running"]}
changed: [<IP_ADDRESS>] => (item=openebs-snapshot-operator) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "kubectl get pods -n openebs  | grep openebs-snapshot-operator | awk '{print $3}' | awk -F':' '{print $1}' | tail -n 1", "delta": "0:00:00.058239", "end": "2020-05-27 07:14:00.776683", "item": "openebs-snapshot-operator", "rc": 0, "start": "2020-05-27 07:14:00.718444", "stderr": "", "stderr_lines": [], "stdout": "Running", "stdout_lines": ["Running"]}
changed: [<IP_ADDRESS>] => (item=openebs-admission-server) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "kubectl get pods -n openebs  | grep openebs-admission-server | awk '{print $3}' | awk -F':' '{print $1}' | tail -n 1", "delta": "0:00:00.060098", "end": "2020-05-27 07:14:00.982549", "item": "openebs-admission-server", "rc": 0, "start": "2020-05-27 07:14:00.922451", "stderr": "", "stderr_lines": [], "stdout": "Running", "stdout_lines": ["Running"]}
changed: [<IP_ADDRESS>] => (item=openebs-localpv-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "kubectl get pods -n openebs  | grep openebs-localpv-provisioner | awk '{print $3}' | awk -F':' '{print $1}' | tail -n 1", "delta": "0:00:00.061121", "end": "2020-05-27 07:14:01.188945", "item": "openebs-localpv-provisioner", "rc": 0, "start": "2020-05-27 07:14:01.127824", "stderr": "", "stderr_lines": [], "stdout": "Running", "stdout_lines": ["Running"]}
changed: [<IP_ADDRESS>] => (item=maya-apiserver) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "kubectl get pods -n openebs  | grep maya-apiserver | awk '{print $3}' | awk -F':' '{print $1}' | tail -n 1", "delta": "0:00:00.071520", "end": "2020-05-27 07:14:01.405752", "item": "maya-apiserver", "rc": 0, "start": "2020-05-27 07:14:01.334232", "stderr": "", "stderr_lines": [], "stdout": "Running", "stdout_lines": ["Running"]}

TASK [Get BD] ******************************************************************
changed: [<IP_ADDRESS>] => {"changed": true, "cmd": "kubectl get bd -n openebs\n", "delta": "0:00:00.059139", "end": "2020-05-27 07:14:01.681406", "rc": 0, "start": "2020-05-27 07:14:01.622267", "stderr": "", "stderr_lines": [], "stdout": "NAME                                           NODENAME                                  SIZE          CLAIMSTATE   STATUS   AGE\nblockdevice-220a3a84614ecbf7c9ffd5cc0fa21d51   ip-10-0-1-52.us-west-2.compute.internal<PHONE_NUMBER>0   Unclaimed    Active   2m16s\nblockdevice-6f10fae0757daf0d783ca29704235ba3   ip-10-0-1-52.us-west-2.compute.internal<PHONE_NUMBER>0   Unclaimed    Active   2m16s", "stdout_lines": ["NAME                                           NODENAME                                  SIZE          CLAIMSTATE   STATUS   AGE", "blockdevice-220a3a84614ecbf7c9ffd5cc0fa21d51   ip-10-0-1-52.us-west-2.compute.internal<PHONE_NUMBER>0   Unclaimed    Active   2m16s", "blockdevice-6f10fae0757daf0d783ca29704235ba3   ip-10-0-1-52.us-west-2.compute.internal<PHONE_NUMBER>0   Unclaimed    Active   2m16s"]}

TASK [Fetch recommendations details] *******************************************
ok: [<IP_ADDRESS>] => {"changed": false, "connection": "close", "content": "{\"type\":\"collection\",\"resourceType\":\"recommendation\",\"links\":{\"self\":\"http:\\/\\/<IP_ADDRESS>\\/v3\\/groups\\/1a20\\/recommendations\"},\"createTypes\":{},\"actions\":{},\"data\":[{\"id\":\"1r!cStorPool\",\"type\":\"recommendation\",\"links\":{\"self\":\"http:\\/\\/<IP_ADDRESS>\\/v3\\/groups\\/1a20\\/recommendations\\/1r!cstorpool\"},\"actions\":{\"getcapacityrecommendation\":\"http:\\/\\/<IP_ADDRESS>\\/v3\\/groups\\/1a20\\/recommendations\\/1r!cstorpool\\/?action=getcapacityrecommendation\",\"getdevicerecommendation\":\"http:\\/\\/<IP_ADDRESS>\\/v3\\/groups\\/1a20\\/recommendations\\/1r!cstorpool\\/?action=getdevicerecommendation\"},\"baseType\":\"recommendation\",\"name\":\"cStorPool\",\"description\":\"Get recommendation for cStor pool\"}],\"sortLinks\":{},\"pagination\":null,\"sort\":null,\"filters\":{},\"createDefaults\":{}}", "content_length": "767", "content_type": "application/json; charset=utf-8", "cookies": {"PL": "DirectorOnline"}, "cookies_string": "PL=DirectorOnline", "date": "Wed, 27 May 2020 07:14:02 GMT", "elapsed": 0, "expires": "Thu, 01 Jan 1970 00:00:00 GMT", "json": {"actions": {}, "createDefaults": {}, "createTypes": {}, "data": [{"actions": {"getcapacityrecommendation": "http://<IP_ADDRESS>/v3/groups/1a20/recommendations/1r!cstorpool/?action=getcapacityrecommendation", "getdevicerecommendation": "http://<IP_ADDRESS>/v3/groups/1a20/recommendations/1r!cstorpool/?action=getdevicerecommendation"}, "baseType": "recommendation", "description": "Get recommendation for cStor pool", "id": "1r!cStorPool", "links": {"self": "http://<IP_ADDRESS>/v3/groups/1a20/recommendations/1r!cstorpool"}, "name": "cStorPool", "type": "recommendation"}], "filters": {}, "links": {"self": "http://<IP_ADDRESS>/v3/groups/1a20/recommendations"}, "pagination": null, "resourceType": "recommendation", "sort": null, "sortLinks": {}, "type": "collection"}, "msg": "OK (767 bytes)", "redirected": false, "set_cookie": "PL=DirectorOnline;Path=/", "status": 200, "url": "http://<IP_ADDRESS>/v3/groups/1a20/recommendations", "vary": "Accept-Encoding, Accept-Encoding, User-Agent", "x_api_account_id": "1a20", "x_api_client_ip": "<IP_ADDRESS>", "x_api_roles": "ProjectOwner", "x_api_schemas": "http://<IP_ADDRESS>/v3/groups/1a20/schemas", "x_api_user_id": "1a19"}

TASK [Fetch the recommendation id] *********************************************
ok: [<IP_ADDRESS>] => {"ansible_facts": {"recommendation_id": "1r!cStorPool"}, "changed": false}

TASK [List Recommendations] ****************************************************
ok: [<IP_ADDRESS>] => {"changed": false, "connection": "close", "content": "{\"type\":\"collection\",\"resourceType\":\"recommendation\",\"links\":{\"self\":\"http:\\/\\/<IP_ADDRESS>\\/v3\\/groups\\/1a20\\/recommendations\\/1r!cStorPool\\/\"},\"createTypes\":{},\"actions\":{},\"data\":[],\"sortLinks\":{},\"pagination\":null,\"sort\":null,\"filters\":{},\"createDefaults\":{}}", "content_length": "265", "content_type": "application/json; charset=utf-8", "cookies": {"PL": "DirectorOnline"}, "cookies_string": "PL=DirectorOnline", "date": "Wed, 27 May 2020 07:14:02 GMT", "elapsed": 0, "expires": "Thu, 01 Jan 1970 00:00:00 GMT", "json": {"actions": {}, "createDefaults": {}, "createTypes": {}, "data": [], "filters": {}, "links": {"self": "http://<IP_ADDRESS>/v3/groups/1a20/recommendations/1r!cStorPool/"}, "pagination": null, "resourceType": "recommendation", "sort": null, "sortLinks": {}, "type": "collection"}, "msg": "OK (265 bytes)", "redirected": false, "set_cookie": "PL=DirectorOnline;Path=/", "status": 200, "url": "http://<IP_ADDRESS>/v3/groups/1a20/recommendations/1r!cStorPool/?action=getcapacityrecommendation", "vary": "Accept-Encoding", "x_api_account_id": "1a20", "x_api_client_ip": "<IP_ADDRESS>", "x_api_roles": "ProjectOwner", "x_api_schemas": "http://<IP_ADDRESS>/v3/groups/1a20/schemas", "x_api_user_id": "1a19"}

TASK [Fetch the deviceGroupName] ***********************************************
fatal: [<IP_ADDRESS>]: FAILED! => {"msg": "The task includes an option with an undefined variable. The error was: list object has no element 0\n\nThe error appears to be in '/litmus/director/TCID-DIR-OP-CSTOR-POOL-RECOMMEND-CREATE-MIRROR/test.yml': line 77, column 11, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n        ## Fetch the deviceGroupName\n        - name: Fetch the deviceGroupName\n          ^ here\n"}

TASK [Setting fail flag] *******************************************************
ok: [<IP_ADDRESS>] => {"ansible_facts": {"flag": "Fail"}, "changed": false}

TASK [include_tasks] ***********************************************************
included: /ansible-utils/update_litmus_result_resource.yml for <IP_ADDRESS>

TASK [Generate the litmus result CR to reflect SOT (Start of Test)] ************
skipping: [<IP_ADDRESS>] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [Analyze the cr yaml] *****************************************************
skipping: [<IP_ADDRESS>] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [Apply the litmus result CR] **********************************************
skipping: [<IP_ADDRESS>] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [Generate the litmus result CR to reflect EOT (End of Test)] **************
changed: [<IP_ADDRESS>] => {"changed": true, "checksum": "c7e5d5da8d4852e73f719e222d859ec34e2f6ca4", "dest": "./litmus-result.yaml", "gid": 0, "group": "root", "md5sum": "306376736c3c4705e3e6874a1a58e431", "mode": "0644", "owner": "root", "size": 421, "src": "/root/.ansible/tmp/ansible-tmp-1590563642.9924002-421-21958237562809/source", "state": "file", "uid": 0}

TASK [Analyze the cr yaml] *****************************************************
changed: [<IP_ADDRESS>] => {"changed": true, "cmd": "cat litmus-result.yaml", "delta": "0:00:00.002159", "end": "2020-05-27 07:14:03.494558", "rc": 0, "start": "2020-05-27 07:14:03.492399", "stderr": "", "stderr_lines": [], "stdout": "---\napiVersion: litmus.io/v1alpha1\nkind: LitmusResult\nmetadata:\n\n  # name of the litmus testcase\n  name: create-cstor-pool-mirror \nspec:\n\n  # holds information on the testcase\n  testMetadata:\n    app:  \n    chaostype:  \n\n  # holds the state of testcase,  manually updated by json merge patch\n  # result is the useful value today, but anticipate phase use in future \n  testStatus: \n    phase: completed  \n    result: Fail ", "stdout_lines": ["---", "apiVersion: litmus.io/v1alpha1", "kind: LitmusResult", "metadata:", "", "  # name of the litmus testcase", "  name: create-cstor-pool-mirror ", "spec:", "", "  # holds information on the testcase", "  testMetadata:", "    app:  ", "    chaostype:  ", "", "  # holds the state of testcase,  manually updated by json merge patch", "  # result is the useful value today, but anticipate phase use in future ", "  testStatus: ", "    phase: completed  ", "    result: Fail "]}

TASK [Apply the litmus result CR] **********************************************
changed: [<IP_ADDRESS>] => {"changed": true, "cmd": "kubectl apply -f litmus-result.yaml", "delta": "0:00:00.147416", "end": "2020-05-27 07:14:03.849647", "failed_when_result": false, "rc": 0, "start": "2020-05-27 07:14:03.702231", "stderr": "", "stderr_lines": [], "stdout": "litmusresult.litmus.io/create-cstor-pool-mirror configured", "stdout_lines": ["litmusresult.litmus.io/create-cstor-pool-mirror configured"]}

PLAY RECAP *********************************************************************
<IP_ADDRESS>                  : ok=18   changed=10   unreachable=0    failed=0    skipped=8    rescued=1    ignored=0

++ kubectl get litmusresult create-cstor-pool-mirror --no-headers -o custom-columns=:spec.testStatus.result
+ testResult=Fail
+ echo Fail
Fail
+ '[' Fail '!=' Pass ']'
+ bash utils/e2e-cr jobname:tcid-dir-op-cstor-pool-recommend-create-mirror jobphase:Completed
++ cut -d : -f 2
++ echo jobname:tcid-dir-op-cstor-pool-recommend-create-mirror
+ job_name=tcid-dir-op-cstor-pool-recommend-create-mirror
++ cut -d : -f 2
++ echo jobphase:Completed
+ job_phase=Completed
++ cut -d : -f2-
++ echo
+ test_result=
+ echo '******Creating e2e-result-custom-resource********'
******Creating e2e-result-custom-resource********
+ [[ Completed == \W\a\i\t\i\n\g ]]
+ [[ Completed == \R\u\n\n\i\n\g ]]
+ echo hi2
hi2
+ cat utils/e2e-result.yml
+ sed -i -e 's/<test-phase>/Completed/g' result-tcid-dir-op-cstor-pool-recommend-create-mirror.yml
+ sed -i -e 's/<test-name>/tcid-dir-op-cstor-pool-recommend-create-mirror/g' result-tcid-dir-op-cstor-pool-recommend-create-mirror.yml
+ cat result-tcid-dir-op-cstor-pool-recommend-create-mirror.yml
---
apiVersion: e2e.io/v1alpha1
kind: e2eResult
metadata:

  # name of the e2e testcase
  name: tcid-dir-op-cstor-pool-recommend-create-mirror
spec:
  testResult: <test-result>
  testStatus:
    phase: Completed
    build_id: <openebs-id>
+ '[' '!' -z '' ']'
+ sed -i 's/<openebs-id>/0.8.1/g' result-tcid-dir-op-cstor-pool-recommend-create-mirror.yml
+ cat result-tcid-dir-op-cstor-pool-recommend-create-mirror.yml
---
apiVersion: e2e.io/v1alpha1
kind: e2eResult
metadata:

  # name of the e2e testcase
  name: tcid-dir-op-cstor-pool-recommend-create-mirror
spec:
  testResult: <test-result>
  testStatus:
    phase: Completed
    build_id: 0.8.1
+ kubectl apply -f result-tcid-dir-op-cstor-pool-recommend-create-mirror.yml
e2eresult.e2e.io/tcid-dir-op-cstor-pool-recommend-create-mirror configured
+ exit 1
Running after_script
Uploading artifacts for failed job
ERROR: Job failed: exit code 1

Pipeline detail:
https://gitlab.mayadata.io/oep/oep-e2e-aws/-/jobs/130161

@amitbhatt818  can you point me to the test yaml?

https://github.com/mayadata-io/oep-e2e/blob/master/litmus/director/TCID-DIR-OP-CSTOR-POOL-RECOMMEND-CREATE-MIRROR/test.yml

It looks like a setup issue after having a debug session with @amitbhatt818.
cc @AmitKumarDas @ajeshbaby  @avishnu is it good to include system checks before running test case?
Problem -
File system was present in the disks.

@sonasingh46 @shovanmaity is CSPC not able to detect the same?

@AmitKumarDas  as the disks has file system it wan not giving the recommendation. which is correct only for that it was not able to create a pool and the job failed. So for system configuration the pool creation failed.

I think we should have a requirement check before running a test case.
ie - If I want to create a stripe pool then I should have one formated disk attached(not mounted) to my node.

@shovanmaity @amitbhatt818 Let me put my question in this way. Will a user be able to understand what has gone wrong? IMO this is much more than adding checks before running tests.

is CSPC not able to detect the same?
@AmitKumarDas -- CSPC does not detect anything. It creates the cStor CRs and deployments(pool-manager)
Now, if a block device has file-system present on it -- pool creation will fail. And this fails is intentional as we do not want to override a filesystem as it could have some potential data. We do not wipe the data rather expect users to give a fresh block device.
Just a precautionary measure to avoid data loss.

Will a user be able to understand what has gone wrong? IMO this is much more than adding checks before running tests.

Yes. if user uses cli (kubectl apply) then admission webhook will give error
If user uses director then he/she will not get any recommendation.
And in both the cases there will be an error message.

@shovanmaity @amitbhatt818 what are the exact error messages.

In webhook user will get file system present in the disk.
In director user will get not have enough eligible disk to create pool.

System validation is much required here
As in the statement, it was saying the system has 9 disks but actually there was 2 disks.
We are trying to create both stripe and mirror pool so at least 3 eligible disks required.

Yes I am working on it.Thanks, @shovanmaity @AmitKumarDas.

In AWS sometime file system is getting created and sometime it is not getting created in the disk.
When file system is not created in the disk at that time jobs are getting passed.
https://gitlab.mayadata.io/oep/oep-e2e-aws/pipelines/10897
amit-bhatt@Amit-Bhatt:~$ kubectl get bd -n openebs -ojsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.io/hostname}{"\t"}{.status}{"\t"}{.spec.filesystem}{"\t"}{"\n"}{end}'
blockdevice-1039f06e5e11481a3ae310a86d3b75da	ip-10-0-1-186.us-west-2.compute.internal	map[claimState:Claimed state:Active]	map[]
blockdevice-57431d9034d652f84b2de3f3228aded8	ip-10-0-1-186.us-west-2.compute.internal	map[claimState:Claimed state:Active]	map[]
blockdevice-60addaace2e3788b2e06ab4865e7f67c	ip-10-0-1-186.us-west-2.compute.internal	map[claimState:Unclaimed state:Active]	map[]
blockdevice-66f0a9b300f9eef10fd9f9cbf6b76127	ip-10-0-1-186.us-west-2.compute.internal	map[claimState:Unclaimed state:Active]	map[]
blockdevice-7719f1993c8a758f8d7550c9762a9127	ip-10-0-1-186.us-west-2.compute.internal	map[claimState:Unclaimed state:Active]	map[]
blockdevice-7e145a494e927ccc44ffd8b96b5cdd47	ip-10-0-1-186.us-west-2.compute.internal	map[claimState:Unclaimed state:Active]	map[]
blockdevice-804d61a1e7944a4af0822f75d5ceca14	ip-10-0-1-186.us-west-2.compute.internal	map[claimState:Unclaimed state:Active]	map[]
blockdevice-e3c6d0ff58fab49a77780e5548c5da0f	ip-10-0-1-186.us-west-2.compute.internal	map[claimState:Unclaimed state:Active]	map[]
blockdevice-ff8b2ca504c20f366764b00aa4297f63	ip-10-0-1-186.us-west-2.compute.internal	map[claimState:Unclaimed state:Active]	map[]

And when file system is being created in the disk pipeline is failing.
https://gitlab.mayadata.io/oep/oep-e2e-aws/pipelines/10892
amit-bhatt@Amit-Bhatt:~$ kubectl get bd -n openebs -ojsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.io/hostname}{"\t"}{.status}{"\t"}{.spec.filesystem}{"\t"}{"\n"}{end}'
blockdevice-220a3a84614ecbf7c9ffd5cc0fa21d51	ip-10-0-1-52.us-west-2.compute.internal	map[claimState:Unclaimed state:Active]	map[fsType:ext4 mountPoint:/mnt/master-vol-0be0d4bb31d6fc711]
blockdevice-6f10fae0757daf0d783ca29704235ba3	ip-10-0-1-52.us-west-2.compute.internal	map[claimState:Unclaimed state:Active]	map[fsType:ext4 mountPoint:/mnt/master-vol-085a9fe2bf7035b86]

@nrusinko working on it to make it consistent in AWS. He need to make few changes in his script so that we can avoid file system creation in the disk.
cc: @ajeshbaby


Does Decagon regard the relation and its corresponding reverse one as different relations?

Typically, DDI prediction is a pairwise classification problem.
In the given toy example, you artificially generate a small graph.
My concern is that Decagon seems to treat a DDI and its corresponding reverse one as two different edges. But, I am confused by how to calculate the metrics with the predicted results for potential DDI triplets and the reverse ones.
For instance, "Drug A's metabolism is increased when combined with Drug B" (symbolized as triplet (A, metabolism increased, B)) is semantically equal to the reverse one "Drug B can increase the metabolism of Drug A" (symbolized as triplet (B, increase metabolism, A)).
https://github.com/mims-harvard/decagon/blob/86ff6b1423e548c22cbb8f70c5dac22b79d45290/main.py#L140-L145
If the model gives different scores for both triplets, how to calculate the final metric values. By simply keeping predicted results for both groups?

I have run this code on my real-world datasets and got the predicted result.
Since Decagon regards the relation and its corresponding reverse one as different relations, for each triplet, there are two predicted scores. Are the performance metric values reported in your paper based on both or either?

I have run this code on my real-world datasets and got the predicted result. Since Decagon regards the relation and its corresponding reverse one as different relations, for each triplet, there are two predicted scores. Did you calculate the performance metric values reported in your paper based on both?

https://github.com/mims-harvard/decagon/blob/86ff6b1423e548c22cbb8f70c5dac22b79d45290/main.py#L295-L302
But, you seem to calculate the metrics for the relation and the corresponding reverse one separately. Finally, which is reported in your paper?


Add a skill to extract numbers from text

Describe the contribution to the taxonomy

AI is not extracting only numbers from the given text
The following skills teach how to extract only numbers from the text

Input given at the prompt

>>> Extract numbers from the following text: "I woke up at 7:30 AM this morning and went for a 3-mile run. Afterward, I
had breakfast consisting of 2 eggs, 3 slices of toast, and a cup of coffee. Then, I spent 4 hours working on a project for my
 job. At noon, I met with 5 colleagues for a lunch meeting. Each of us ordered a salad and a drink. The meeting lasted for 2
 hours. In the evening, I called my friend who lives 200 miles away and chatted with them for 30 minutes. Later, I watched
 a movie that lasted for 2 and a half hours before going to bed at 11 PM."

Response that was received

The numbers mentioned in the given text, extracted as numeric entities, are: 7:30, which is extracted from 'I woke up at
 7:30 AM', 3, which is extracted from 'I went for a 3-mile run', 2, which is extracted from 'I had breakfast consisting of 2
eggs', 3, which is extracted from '3 slices of toast', 1, which is extracted from 'a cup of coffee', 4,
 which is extracted from 'I spent 4 hours working on a project', 5, which is extracted from 'I met with 5 colleagues', 2,
 which is extracted from 'each of us ordered a salad', 2, which is extracted from 'a drink', 2, which is extracted from 'the
 meeting lasted for 2 hours', 200, which is extracted from 'my friend lives 200 miles away', and 30, which is extracted from
 'I chatted with them for 30 minutes'. The non-numeric text 'hours' in '2 hours' is removed in the extraction process

Response that is now received instead

    * 7:30
    * 3
    * 2
    * 3
    * 1
    * 4
    * 5
    * 2
    * 200
    * 30
    * 2
    * 11

Contribution checklist

[X] tested contribution with lab generate
[X] lab generate does not produce any warnings or errors
[X] all commits are signed off (DCO)
[X] the qna.yaml file was linted

Thank you for your contribution to InstructLab! Unfortunately, once a Github repo is made public, all open PRs are automatically closed since they link against a private repo. We have detected that your PR might have been one of the ones affected by this change. If you are still interested in contributing your improvement, please fill out the following short form by no later than May 3rd, and we will get back to you with the additional steps necessary once we have had time to assess the PRs of those still interested:
https://forms.gle/V7SrPPMZDo6iGDYu8


Support the new version of OpenAI

Why
The OpenAI is updated for the new features, we need to update the code for this.
How

[x] #1261
[ ] support new features

What

[ ]

Plz make sure that notebooks work fine with the new openai version.
For example, question_the_docs has a pinned openai version to v0.27.6.
https://github.com/fnikolai/superduperdb/blob/main/examples/question_the_docs.ipynb

OK, I will fix this


feat(AjaxResponse): add stricter type (AjaxResponseType)

Description: currently AjaxResponse['type'] is typed as string, but we can use a stricter type for this since we know which strings will be used. This will help users switch over the various types.

Thanks, @OliverJAsh!
(Sorry I accidentally hit the close button there, haha 😅 )


grpc: Make Envoy::Grpc::AsyncClient class mock friendly

Envoy::Grpc::AsyncClient template class is currently not very mock friendly since its interface is not virtual. There is no downside for making it virtual and allowing mocking of gRPC clients that use this class.
Risk Level: Low
Testing: unit tests
Docs Changes: N/A
Release Notes: N/A
Fixes #7346
Signed-off-by: Yan Avlasov<EMAIL_ADDRESS>

Will defer to @htuch who was more involved in this original changes here. cc @jplevyak @lizan also


New PBs and Combat Achievements

Webhook option for PBs and Combat Achievements

normal achievement diary completions too!

A fork of this project, Dink, includes these features. @ohc33 @CalebLovell


introduce interface MetaMember

I'd like to be able to refer to elements of the meta-method index's FastArray uniformly.  What I want to do is check access modifiers.  However CachedConstructor and MetaMethod only share the non-abstract class ParameterTypes.  That does not seem the appropriate place to add member name, modifiers and anything else that is common to a class member.
I looked at java.lang.reflect.Member and it specifies getName(), getModifiers(), isSynthetic() and getDeclaringClass().  CachedConstructor could implement Member but MetaMethod (the other subclass of ParameterTypes) cannot due to a conflict with the getDeclaringClass() return type.  So I'd like to introduce the interface groovy.lang.MetaMember that is inspired by Member but does not declare getDeclaringClass().  With this, the name and modifiers (and common modifier conveniences) are available without a bunch of instanceof checks.
Here is a sample from MetaClassImpl where ParameterTypes and MetaMethod can be used in tandem:
    private Object chooseMethodInternal(String methodName, Object methodOrList, Class[] arguments) throws MethodSelectionException {
        ...
        List<MetaMember> matchingMethods = new ArrayList<>(methodCount);
        Object[] methodArray = methods.getArray();
        for (int i = 0; i < methodCount; i += 1) {
            var method = (ParameterTypes & MetaMember) methodArray[i]; // extends PT and implements MM
            if (method.isValidMethod(arguments)) {
                matchingMethods.add(method);
            }
        }
        methodCount = matchingMethods.size();
        if (methodCount == 0) {
            return null;
        } else if (methodCount == 1) {
            return matchingMethods.get(0);
        }
        return doChooseMostSpecificParams(theClass.getName(), methodName, matchingMethods, arguments, false);
    }

NOTE: the diff shows MethodHelper renamed to MetaMember but it is really delete the former and add the latter.

LGTM


Fix Typo the Compiling the engine wiki

Corresponding section
Hello.
I found what appears to be a typo when building the FlutterEngine environment.
There is a typo in the file path for the command option in the section corresponding to Compiling for iOS (from macOS) in step 5 of Compiling the engine.
# incorrect description
out/out/ios_debug_unopt_arm

# correct description
out/ios_debug_unopt_arm

iPhone 4s is no longer supported in current builds of Flutter (Flutter 3 was the last release to support it). Should we simply remove these instructions now, @jmagman?

Great idea, done: https://github.com/flutter/flutter/wiki/Compiling-the-engine/_compare/9310fa56017b04c87fa0728af53a71d7baa63f17...b6e2df5d0afa2f70b439c82182701abd7834e1c3


User-made shader functions don't work

Godot version:
Godot Engine v3.0.2.stable.official
OS/device including version:
Windows 10 Home v1709 (Fall Creator's Update); Nvidia GTX 660
Issue description:
User-made shader functions just simply do not work. The editor recognizes functions for the purposes of auto-completion, but it says it can't find the functions when you attempt to use them.
Steps to reproduce:

Create a shader that utilizes a user-made function (not a built-in one).
Godot will complain about being unable to find the shader function, despite also being able to auto-complete to the new function. Additionally, the shader will not work in-game.

Minimal reproduction project:
Shader Functions Not Working.zip (shader is within shader.tres if you need to quickly get to it)

It works if you put the function before its usage in the shader:
shader_type canvas_item;

vec4 get_color() {
	return vec4(0.5, 0.5, 0.5, 1.0);
}

void fragment() {
	//COLOR = vec4(0.5, 0.5, 0.5, 1.0);
	COLOR = get_color();
}

So we need to fix function declaration lookup.

So just to make sure I'm understanding, you're saying you think this is something with GLSL in general? Huh. Will this be fixed, or is this more a documentation issue than anything?

Yes, it's part of the spec. A function must be declared or defined before being called.

From here: https://www.khronos.org/registry/OpenGL/specs/gl/GLSLangSpec.4.40.pdf (6.1 Function Definitions)

Is it possible to declare prototypes in the Godot shading language though?

Doesn't look like it or overloading a function.
I was answering the question about if this is something specific to godot or GLSL.

Alright, well it'd be nice if this was documented. Or, more helpfully, if order wasn't an issue. Though I'm unsure if Godot would be willing to deviate from the spec a little for the sake of making it easier to do a shader.

The problem is if the spec doesn't accept it, then Godot would have to reorder everything. Or declare a prototype for all functions in the beginning.

Perhaps to avoid confusion, Godot could also supply a more descriptive error, if possible? If someone tries to use a function before it's defined, then Godot could notify the user that shader functions need to be before their usage. This just seems like the sort of thing that would trip up other people trying to learn shaders.

Deviating from the spec would be a bad idea. Docs should probably reference the spec, doesn't seem like it's explicitly necessary to call out just this specific part of spec in the docs though to me.

I'm not sure how supplying a more descriptive error would be deviating from the spec... or were you talking about making it possible to define them after?

Defining user functions after their usage is deviation from spec, that shouldn't happen.  As for error message, maybe it makes sense to be more clear, but not defining a function after it's usage should be kind of common sense really -- and as that is part of the spec, the docs probably should just refer to the spec, rather than reiterating and spelling things out. And to simply spell out this single part of the spec in the docs, but not other parts of the spec seems silly.
I guess my position on it is, the spec is not Godot's, so docs should refer people to the actual spec and indicate that it be followed, rather than trying to explicitly spell out every detail of it.

In regards to the suggestion to use prototypes (if it's even possible): Would that be deviating from spec? Like, I can see why it might be considered deviating from spec since we're allowing it, but I'm not sure it's actually deviating from spec since we're already processing the code and turning it into proper GLSL code, which we then compile. Because if not, I would be all for that suggestion, as it makes the shading language more consistent in comparison to GDScript.

@willvincent
Honestly, I'm confused. Why would using a function only after it's been defined be common sense? I'm not going to argue that we shouldn't follow the spec, mind you, just... I'm confused about the "it's common sense" bit. It's not really common sense in my eyes, because I've seen many languages that don't seem to care where functions are defined so long as they're defined. Even GDScript lets you use functions defined after their usage. Again, this isn't saying we have to deviate from the spec. I'm just confused about your "it's common sense" bit.

@LikeLakers2 I dunno.. it's common sense to me. lol

Fixed by godotengine/godot-docs#2046.


Binding model.save() to the 'change' event causes infinite loop (localstorage only)

If I bind model.save() to a model's change event and I'm saving to localstorage, an infinite loop results where the save() action triggers a change event that in turn invokes another save.
You can see this in action by adding the following code to the initialize method of the todos model in the sample app:
initialize: function() {
  this.bind('change', function() {
    this.save();
  });
}

Strangely, this issue doesn't appear if I put the save() invokation inside a setTimeout, leading me to believe that the quickness of saving to localstorage causes it to finish before the change event dispatching is complete.

which localStorage adapter are you using?

I'm using the one that the todos app uses. This one:
https://github.com/jeromegn/Backbone.localStorage
Version 1.0.


⚠ Carbubu has degraded performance

In 7659ba7, Carbubu (https://carbubu.fr) experienced degraded performance:

HTTP code: 200
Response time: 3522 ms

Resolved: Carbubu performance has improved in ea9e6d2.


Error inflating class android.widget.ImageView in FeedbackActivity

Device details
Google Pixel 3XL
Android 9.0
rn-bugfender version 1.14
Description
We've encountered some weird crash, which may not be related directly to Bugfnder.
It happens on app startup. Here's the stack trace:
java.lang.RuntimeException: Unable to start activity ComponentInfo{my.app/com.bugfender.sdk.ui.FeedbackActivity}: android.view.InflateException: Binary XML file line #18: Binary XML file line #18: Error inflating class android.widget.ImageView
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2951)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3086)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1816)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:193)
        at android.app.ActivityThread.main(ActivityThread.java:6718)
        at java.lang.reflect.Method.invoke(Method.java:-2)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

Have you seen it before? Would you need any other details?

Hi there, following up on our previous conversation, this is an error that only happens during automated tests and, according to our records, never affects real users. We just published an update of the Android SDK (version 3.0.10) that removes this exception during automated testing. Thanks for reporting it!


Add http timeout

Hello
In situations when outgoing traffic comes through a firewall (or network policy) and there is no rule allowing to make HTTP requests to any IP, cloud_sql_proxy will wait on start 30 seconds before it starts to listen TCP socket and accept connections. These 30 seconds it's trying to GET http://metadata.google.internal. So you need to increase initialDelaySeconds for readiness and liveness probes for cloud_sql_proxy sidecar and main containers both. This increases deploy time, timeouts etc.
I think we need to override default timeout and if GET request doesn't succeed in 2 seconds,the function onGCE() returns false and we continue boot process.
Another possible solution is to add logging of this error. I spent a few hours to understand why our cloud_sql_proxy start so slowly and there weren't any helpful log messages.
Below you can see a 30 seconds gap if I have a route to this Google's IP and my outgoing packets are dropped:
17:15 n.shalnov:~/gcp$ cloud_sql_proxy -instances=project:us-east4:pg-rc=tcp:5432
2018/11/22 17:15:05 current FDs rlimit set to 1048576, wanted limit is 8500. Nothing to do here.
2018/11/22 17:15:35 Listening on <IP_ADDRESS>:5432 for project:us-east4:pg-rc
2018/11/22 17:15:35 Ready for new connections

I signed it!

Now that https://github.com/GoogleCloudPlatform/gcloud-golang/issues/194 has long since been solved, we should probably just delete this helper and use the standard one from that library - it should be sufficient for your specific problem (the timeouts there appear to be 2min).
Would you mind changing your PR to delete the onGCE helper and using the metadata.OnGCE instead?

Awesome, thanks for the PR! It looks good to me; we'll have to wait for someone with merge permissions to take a look though.


More candidates for config file

proposal for #1068

:-1: for #1068 itself.

:-1:

@keradus @GrahamCampbell I'v removed the config file in home directory. What do you think about this pr now?

I still don't like the idea anyway.

But when I execute php php-cs-fixer fix Symfony/CS/Fixer shouldn't be used the config file of this project? why not?

cwd may have sense to not forsing to fix whole project or pass config file.
any other thoughts?

Really? No other thoughts ?

Closing due to lack of interest :(

:(

Could reopen it after any positive opinion ;)

:-1: from me :P

@GrahamCampbell can you explain the reason for your no?

But when I execute php php-cs-fixer fix Symfony/CS/Fixer shouldn't be used the config file of this project? why not?

I just don't like the whole concept of searching about for a config file. I think there should be one in a defined place, and that should be it (yes I know we support .dist too ;P).

Ok.

I think there should be one in a defined place, and that should be it

This PR does not add more places, it only changes the fixer to also use the one config file when fixing parts of a project.


Programatically Run/Ignore Tests Plugin

Hey Guys,
I am looking to see if there is a way to programatically run or ignore tests based on a CSV. We have something working with NUnit where we intercept the test before running to check if the name exists then call run or ignore.
Any solution we've come across for VSTest has been create a Custom Attribute, or inheriting from a Base Test which sets up the ignore/run, however these solutions pollute our tests & add overhead.
Wondering if this is something you guys have in the backlog or already exists?

@grizzle2101 We don;t have this execution extensibility at the test platform level. The extensibility exists in the test framework (mstest).

@grizzle2101 We are trying to run through all the issues and prepare a backlog of important issues. Is this still an important ask?
To make Shiva's comment more clear, the test platform is the vstest.console runner in this case. By framework he means, the test framework and adapter being used to author and eventually run the tests.
This ask seems to be MSTest framework specific, reason he wanted to differentiate between the two.
This repo has code for Test platform, you should use https://github.com/microsoft/testfx for framework related asks.

This is a new feature and won't be implemented, we are focusing on adding new features to Testing.Platform instead. https://aka.ms/testingplatform


arm/arm64

[Enter feedback here]
arm and arm64 versions of the tool are now shipped and this page should be updated.

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

ID: 36fa5c17-6f3f-d941-6148-65703136a94f
Version Independent ID: c64136ad-cc7e-8cff-bf46-fb4d2c908149
Content: Create an app package with the MakeAppx.exe tool - MSIX
Content Source: msix-src/package/create-app-package-with-makeappx-tool.md
Product: msix
GitHub Login: @dianmsft
Microsoft Alias: diahar

docs are updated with arm/arm64 paths


Enable soft bundle in devnet and testnet

Description
This is a follow up change after PR #17508 and #17868 , for SIP-19.
The change adds a unit test for soft bundle failure modes, as well as enable soft bundle feature flag in devnet and testnet.
Test plan
The feature is not exactly user-facing and do not break anything.

Release notes

[x] Protocol: Enable soft bundle on Protocol Version 50 in devnet and testnet.
[ ] Nodes (Validators and Full nodes):
[ ] Indexer:
[ ] JSON-RPC:
[ ] GraphQL:
[ ] CLI:
[ ] Rust SDK:

Thanks Mark!  I have added forged cert tests for Soft Bundle.
It is a little bit different though because we have to make sure the tx has access to a shared object.
I have modified existing tests so that they run against two txs (one transfer, one move call w/ shared object).


chore(deps): update terraform terraform-ibm-modules/cos/ibm to v8.15.15

This PR contains the following updates:

Package
Type
Update
Change

terraform-ibm-modules/cos/ibm (source)
module
patch
8.15.14 -> 8.15.15

Release Notes

terraform-ibm-modules/terraform-ibm-cos (terraform-ibm-modules/cos/ibm)
v8.15.15
Compare Source
Bug Fixes

deps: update terraform terraform-ibm-modules/kms-all-inclusive/ibm to v4.19.1 (#802) (983f847)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

/run pipeline


User profile is not properly displayed in navigation Drawer

Name and Photo should be visible in the navigation drawer

I'll be working on it. @abhijitramesh

i am working on it

@sabya48 I am already working on it. Actually I am working on all the issues simultaneously to revamp the app. @sabya48 You can report any other issue  and work on it.

Ok sure


Organization notifications UI changes

A new feature for organization admins. The possibility to send notifications to the rest of organization users!. A preview:

There are several small tasks in the frontend part (backend ticket), but it is not worth it to create several ones, so task are:

[x] Create notifications page within organization admin.
[x] Create notification description component (it doesn't mean it has to be javascript, in fact I'd go for a HTML form).
[x] Create notification list and item (as I've explained above, I'd go for an easy one, html items with simple forms, for the action buttons).
[ ] Check and make appear the new notifications appear under the notifications component in the header. https://github.com/CartoDB/cartodb/issues/11807
[ ] When organization users visit her/his notifications, we should send a request setting that the notification has been read. https://github.com/CartoDB/cartodb/issues/11807

Design ticket: https://github.com/CartoDB/design/issues/582

Backend issues:

[ ] Organization notification API #11677.
[ ] User notification read API #11678.
[ ] Mail notifications #11679.
[ ] Mark notification as read API #11680.
[ ] Automatic notification on new organization user #11681.

@xavijam and @juanignaciosl -- I've updated the referenced ticket ^^ right above^^  to include all of the business and functional requirements we spoke about on Friday. It should be more clear now, but please let me know if you have any questions.

@xavijam
Designs have officially be approved for Manually Generated Notifications :)
Hopefully that unblocks you!
cc\ @noguerol @jorgesancha

cc @matallo

currently working on

Check and make appear the new notifications appear under the notifications component in the header.

When organization users visit her/his notifications, we should send a request setting that the notification has been read.

I'm creating a separate issue for each one, so they can be more easyly approachable

On my last check in staging layout has been broken, at least in Chrome

yeah that seems totally off, I redeployed to staging again for acceptance, thanks @noguerol

Deployed


Redesign Home

The Home page in the web app needs some love.
Consider:

Icons/graphics for each link (Insights, Catalog, Editor) instead of just text
Functional insights like "Recent Updates" to show new datasets
Graphics/logos?
Help documents? Introduction material (what is Midden?)?

Recommending this to @riemino if he so chooses to tackle it as @riemino has the best eye for design in the group. Will also accept mockups for me to implement :)

Probably just use the Insights page as the Home page, with some added content (recent Projects, recent Datasets, maybe an uber search bar)

Likely needs more polished, but much of this was taken care of in the #125 PR

More improvements:

A search bar that searches projects and datasets -- would be nice to have a full-screen popup when start typing into the search bar
a "More >>" (or similar) link next to the recent projects/datasets that link to the full catalog
Reduce padding around the figures
Remove hover styles from quick-stats, they have some graphic issues

PR #130 addressed looming issues but the search bar. This was split off into its own issue: #131


Transpile native gates for custom backend

Summary
Uses Qiskit's basis_gates argument with transpile to have gate parity between circuit and computer.
Details and comments

replaced by #166


[BUG][Autosuggest] Autosuggest method path is only '/Suggestions'; should be '/bing/v7.0/Suggestions'

Describe the bug
The path for autosuggest method is '/Suggestions'. It should be '/bing/v7.0/Suggestions'.
Exception or Stack Trace
No exception, but the call to BingAutoSuggestSearchAPI.bingAutoSuggestSearch().autoSuggest().withQuery("xb").execute() returns null for a query that returns results in other languages and in the API testing console.
To Reproduce
Steps to reproduce the behavior:

Copy the contents of pom.xml below into a file named pom.xml.
Copy the contents of quickstart.java below into a file named quickstart.java.
Install Maven (https://maven.apache.org/download.cgi) if you don't have it.
Open an Administrator command prompt and navigate to the folder that contains pom.xml and quickstart.java.
Run mvn clean dependency:copy-dependencies
Run javac Quickstart.java -cp .;lib\*
Run java -cp .;lib\* Quickstart
Output:

No suggestions found.

Note This also causes me to get a null response when running the sample at https://github.com/Azure-Samples/cognitive-services-java-sdk-samples/blob/master/Search/BingAutoSuggest/src/main/java/com/microsoft/azure/cognitiveservices/search/autosuggest/samples/BingAutoSuggestSample.java.
Code Snippet
pom.xml:
<?xml version="1.0" encoding="utf-8"?>
<!--
Source: https://gist.github.com/statico/547434f630d589651afcbe3f132b91d9
Run with: mvn clean dependency:copy-dependencies
-->
<project
    xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.foo</groupId>
  <artifactId>bar</artifactId>
  <version>0.0.1-SNAPSHOT</version>

  <dependencies>

    <!-- https://mvnrepository.com/artifact/com.microsoft.azure.cognitiveservices/azure-cognitiveservices-autosuggest -->
    <dependency>
      <groupId>com.microsoft.azure.cognitiveservices</groupId>
      <artifactId>azure-cognitiveservices-autosuggest</artifactId>
      <version>1.0.2-beta</version>
    </dependency>

    <!-- This fixes the following runtime warnings:
    SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
    SLF4J: Defaulting to no-operation (NOP) logger implementation
    SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
    -->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-jdk14</artifactId>
      <version>1.7.25</version>
    </dependency>

  </dependencies>

  <build>
    <directory>lib</directory>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <configuration>
          <outputDirectory>
            ${project.build.directory}
          </outputDirectory>
        </configuration>
      </plugin>
    </plugins>
  </build>

</project>

quickstart.java:
import com.microsoft.azure.cognitiveservices.search.autosuggest.BingAutoSuggestSearchAPI;
import com.microsoft.azure.cognitiveservices.search.autosuggest.BingAutoSuggestSearchManager;
import com.microsoft.azure.cognitiveservices.search.autosuggest.models.SearchAction;
import com.microsoft.azure.cognitiveservices.search.autosuggest.models.Suggestions;
import com.microsoft.azure.cognitiveservices.search.autosuggest.models.SuggestionsSuggestionGroup;

import java.io.*;
import java.lang.Object.*;
import java.util.*;
import java.net.*;

public class Quickstart {
	private static String subscription_key = System.getenv("AUTOSUGGEST_SUBSCRIPTION_KEY");
	private static String endpoint = System.getenv("AUTOSUGGEST_ENDPOINT");
	BingAutoSuggestSearchAPI client = BingAutoSuggestSearchManager.authenticate(endpoint, subscription_key);

	public void get_suggestions() {
		Suggestions suggestions = client.bingAutoSuggestSearch().autoSuggest().withQuery("xb").execute();
		if (suggestions != null && suggestions.suggestionGroups() != null && suggestions.suggestionGroups().size() > 0) {
			SuggestionsSuggestionGroup group = suggestions.suggestionGroups().get(0);
			System.out.println("First suggestion group: " + group.name());
			System.out.println("Suggestions:");
			for (SearchAction suggestion: group.searchSuggestions()) {
				System.out.println("Query: " + suggestion.query());
				System.out.println("Text: " + suggestion.displayText());
				System.out.println("URL: " + suggestion.url());
				System.out.println("Kind: " + suggestion.searchKind());
				System.out.println();
			}
		} else {
			System.out.println("No suggestions found.");
		}
	}

	public static void main(String[] args) {
		try {
			Quickstart quickstart = new Quickstart();
			quickstart.get_suggestions();
		} catch (Exception e) {
			System.out.println(e.getMessage());
			e.printStackTrace();
		}
	}
}

Expected behavior
Expected output:
First suggestion group: Web
Suggestions:
Query: xbox
Text: xbox
URL: https://www.bing.com/search?q=xbox&FORM=USBAPI
Kind: WebSearch

Query: xbox game pass
Text: xbox game pass
URL: https://www.bing.com/search?q=xbox+game+pass&FORM=USBAPI
Kind: WebSearch

Query: xbox reddit
Text: xbox reddit
URL: https://www.bing.com/search?q=xbox+reddit&FORM=USBAPI
Kind: WebSearch

Query: xbox live
Text: xbox live
URL: https://www.bing.com/search?q=xbox+live&FORM=USBAPI
Kind: WebSearch

Query: xbox one x
Text: xbox one x
URL: https://www.bing.com/search?q=xbox+one+x&FORM=USBAPI
Kind: WebSearch

Query: xbox one
Text: xbox one
URL: https://www.bing.com/search?q=xbox+one&FORM=USBAPI
Kind: WebSearch

Query: xbox app
Text: xbox app
URL: https://www.bing.com/search?q=xbox+app&FORM=USBAPI
Kind: WebSearch

Query: xbox game pass ultimate
Text: xbox game pass ultimate
URL: https://www.bing.com/search?q=xbox+game+pass+ultimate&FORM=USBAPI
Kind: WebSearch

Setup (please complete the following information):

OS: Windows 10 Enterprise 1803
IDE : None
Version of the Library used
azure-cognitiveservices-autosuggest-1.0.2-beta

Additional context
I am able to resolve the issue and get the expected output as follows.

In [My Github base folder]\azure-sdk-for-java\cognitiveservices\data-plane\search\bingautosuggest\src\main\java\com\microsoft\azure\cognitiveservices\search\autosuggest\implementation\BingAutoSuggestSearchImpl.java, change line 62 from:

@GET("Suggestions")

to:
@GET("/bing/v7.0/Suggestions")

Recompile azure-cognitiveservices-autosuggest-1.0.2-beta.jar from my modified source and place it in the lib subfolder of my project folder (where quickstart.java is).

There is a similar issue in the Azure SDK for Python (https://github.com/Azure/azure-sdk-for-python/issues/6472).
Information Checklist
Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

[x] Bug Description Added
[x] Repro Steps Added
[x] Setup information Added

Closing old issue with no activity from June 23, 2020


Removing Newcastle and adding East Mids to New Controller Page

:tada: This PR is included in version 4.2.16 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


[QUESTION]

Description
I am trying to pass an entire path to a route as a path parameter:
app.get('/data/{full_path}')
....
If I access .../data/abc/123/this/that.txt, I'd like to have full_path return abc/123/this/that.txt. I didn't start reading source yet (yes, lazy), but I did not see an obvious example or approach in the docs. Is that possible with starlette?
How can I use path types in path variables as in https://github.com/encode/starlette/issues/525#issue-447868296 ?

Not documented yet - there is a PR for it, but the details are in this test: https://github.com/tiangolo/fastapi/blob/master/tests/test_starlette_urlconvertors.py

Thanks @wshayes !

@wshayes added a PR documenting this, the new docs are now here: https://fastapi.tiangolo.com/tutorial/path-params/#path-parameters-containing-paths
I think that should solve your use case so I'll close this issue now. But feel free to add more comments or create new issues.


Invalid plugin configuration after migration from 0.14 to 1.1.2 running Cassandra

When updating from 0.14 to 1.1.2, there are several database schema/data changes that are incomplete and end up leaving several database tables (plugins, consumers, upstreams, and targets) in an invalid state.  Three issues:

In the plugins, consumers, upstreams, and targets tables, existing data needs the created_at column truncated to account for recent changes between milliseconds vs. ~micro~ seconds.
In the plugins table, a new column named run_on is added, but no default value is set for existing plugins, so existing plugins end up with null for this column.
In the plugins table, a new column named protocols is added, but no default value is set for existing plugins, so existing plugins end up with null for this column.

The symptom is that the upgrade will complete successfully, and kong will run successfully, but subsequent attempts to modify the configuration via HTTP PATCH will fail with a 400 response.  For example, updating the config for the CORS plugin:
Request: PATCH http://localhost:8001/plugins/b5c81c6f-75f4-4639-92aa-8e6694c66e9a
{
    "config": {
        "origins": [
            "example.com"
        ]
    }
}

Response: Status = 400
{
    "message": "3 schema violations (created_at: expected an integer; protocols: required field missing; run_on: required field missing)",
    "name": "schema violation",
    "fields": {
        "run_on": "required field missing",
        "created_at": "expected an integer",
        "protocols": "required field missing"
    },
    "code": 2
}

You will continue to get these errors when attempting to update configuration until the values in the database columns are corrected.  This only affects plugins that exist prior to the upgrade.  New plugins that are created after the upgrade don't have this issue.  The other interesting thing to note is that a GET request to retrieve plugin data will work successfully and automatically cleanup bad/missing values in the response data returned (e.g., you can't see the null values for run_on or protocols unless you query the database directly).
There are a couple changes needed.  First, it looks like the migration scripts were updated recently to truncate "created_at" for Postgres, but there wasn't any code added for Cassandra.  Cassandra needs an equivalent fix:
https://github.com/Kong/kong/issues/4183
https://github.com/Kong/kong/pull/4196
Second, the two new columns (run_on and protocols) need default values since these are required columns according to the plugin schema.  The migration scripts should fill in sane defaults for existing plugins as part of the upgrade process because leaving these set to null is not valid per the plugin schema.

Id love to work on this! How can I get started?

@chris-branch,
Thank you for reporting. I think the issue is partially solved here:
https://github.com/Kong/kong/pull/4635
The milliseconds and seconds issue needs more work, @HrushikeshBodas thank you for offering your hand, would you like to take look on this time issue? @chris-branch is that issue with Cassandra or PostgreSQL (perhaps both)?

i'll consider this fixed, so closing it. If there are any further issues, please open a new issue.


Webapp vnet-integration complains it is missing a delegation that exists

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az webapp vnet-integration add
Errors:
(SubnetMissingRequiredDelegation) Subnet /subscriptions/XXXX/resourceGroups/myrg/providers/Microsoft.Network/virtualNetworks/VNET858634624/subnets/Subnet858634624 requires any of the following delegation(s) [Microsoft.DBforPostgreSQL/flexibleServers] to reference service association link /subscriptions/XXXX/resourceGroups/myrg/providers/Microsoft.Network/virtualNetworks/VNET858634624/subnets/Subnet858634624/serviceAssociationLinks/Subnet858634624-service-association-link.

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.
Was trying to follow this tutorial:
https://docs.microsoft.com/en-us/azure/postgresql/flexible-server/tutorial-django-app-service-postgres?tabs=clone
Once I got to the vnet-integration add step, I got this error. I ran vnet subnet update to add the delegation, though I thought the webapp up command did this for me. The subnet does in fact show the flexibleServers delegation on the subnet, yet this command always fails.
When I try to set the vnet integration via portal, the VNET doesn't even show up, so I'm not sure if there is a bug or the service has changed or I'm just doing something wrong.
Expected Behavior
This should work?
Environment Summary
Windows-10-10.0.19041-SP0
Python 3.6.8
Installer: MSI

azure-cli 2.19.1

Additional Context

And I recreated my RG and simply ran postgres flexible-server create. This did indeed create the VNET and subnet with the delegation set to Microsoft.DBforPostgreSQL/flexibleServers, so I don't know why the webapp commands are upset.

webapp

@madsd can you take a look?

@panchagnula and @madsd I also opened an issue against the article since it isn't clear that whether the issue is with either service or the article itself. According to the portal, the VNET integration requires a subnet that is empty and NOT delegated, which is directly contrary to the article which says you have to use the same subnet as the postGRES flexible server is delegated to.

@tjprescott @panchagnula thank you Travis. It is the tutorial that is wrong. Both for using B1 SKU, which does not support vnet integration and for not using an empty subnet (with a delegation for Microsoft.Web/serverFarms). A subnet cannot be delegated to multiple services. Basically, the tutorial never worked and should be updated asap - fix would be to add use at least S1 as SKU and add a subnet to the vnet.
The command will take care of setting the right delegation - but in this case, because an existing delegation is in use, this delegation will complain when you try to override it with the serverFarms delegation.

Thanks for pointing this out. I shall get the documentation updated .

@mksuni did you update the docs? @tjprescott can we close this issue?

As far as I can gather the tutorial is still not corrected:
https://docs.microsoft.com/en-us/azure/postgresql/flexible-server/tutorial-django-app-service-postgres

#reassign:mksuni @mksuni, looks like this article we not updated.

#please-open

The tutorial article still isn't updated. @madsd can you please share the command to make the flexible postgresql server with correct params?

@ahmeds63 I spoke to the writer and reopened the issue.

It appears that the Tutorial still hasn't been corrected :(
In the meantime, can someone please give me an idea at what stage the subject should be left empty?
I changed the SKU from B1 to S1 as the comments above suggest.
Below give you an idea of what I've tried so far:
`
Create Flexible server in a private virtual network (VNET)
az postgres flexible-server create
--resource-group ${my_rg}
--vnet ${my_vnet}
--location ${my_loc}
--subnet ${my_subnet}
--name ${my_pg_servername}
--admin-user ${my_admin_user}
--admin-password ${my_admin_passwd}
--database-name ${my_pg_dbname}
--yes
`
az webapp up \     --resource-group ${my_rg} \     --location ${my_loc} \     --plan DjangoPostgres-tutorial-plan \     --sku S1 \     --name ${my_app_name}
az webapp vnet-integration add \     --resource-group ${my_rg} \     --name ${my_app_name} \     --vnet ${my_vnet} \     --subnet ${my_subnet}
The last stage above gives the same reported error c.f. (SubnetMissingRequiredDelegation).
If I remove the subnet specification as per:
az webapp vnet-integration add \     --resource-group ${my_rg} \     --name ${my_app_name} \     --vnet ${my_vnet}
The following is received:  the following arguments are required: --subnet
Any tips hugely appreciated.

#please-open

Anyone still facing the issue, I came accross this very helpful video tutorial by Microsoft on Youtube:
Setting up server for django/python: https://www.youtube.com/watch?v=D6Wyk9q2JM0
Setting up database server and its connectivity with your django app: https://www.youtube.com/watch?v=Z4gLolNTM5I&t=293s
I found the above more easy to follow and was able to get the app running in like half hour.
Thanks

Thanks @ahmeds63 - I will check it out

Its now 2024 and this is still an issue.
At the very least, is it possible to have a clear workaround in these comments? az network vnet subnet create requires a different approach from that of the tutorial, so is less than useful.


Core Medication tables could use a reorganization

Current State

core__medicationrequest only contains "inline" codes that are RXNORM. (But adds some niceties like dosage instruction text)
core__medication is built from MedicationRequest tables but includes "inline", "contained", and "external" codes. Does not filter by system.
I believe we build our core__count_medicationrequest table off core__medicationrequest and are thus missing a lot of data.

My Proposal

Nuke core__medicationrequest
Rename core__medication to be core__medicationrequest
Add in any now-missing features (like dosageInstruction.text) to the new tables.

I imagine the core__medication tables were named that because they sometimes inspect Medication resources (contained or external). But the rows do not represent Medication resources at all. They are summaries of MedicationRequests that happened to (behind the scenes) grab the correct codes from Medication resources.
Consumers of the tables don't care about all that abstraction work - let's actually provide the abstraction.
In this proposal, we don't need a core__medication table, since those aren't patient/encounter linked resources (maybe we could still provide one in the future, if someone wants the ability to look up detailed med info -- but not our concern right now).
Some other idea
Or some better idea - but regardless of where we land, I think there's currently some unnecessary duplication between those two tables, and we could stand to develop an actual vision for them.

Current studies using medication tables:

hypertension

uses core__medicationrequest's authoredon, authoredon_month, subject_id, code, system, and category.coding.code fields
it checks against system, so it is not relying on the RxNorm filtering that the medreq table is doing. Swapping tables should be safe, just need to consider whether any field name changes affect it.

opioid

uses core__medicationrequest's subject_ref and med_admin_id fields
it also checks against system (in dependent tables). Only place that uses the non-system-validated table is a counts table. Should be mostly safe to swap - will just want to get clarification on the counts table.

Nobody is using the core__medication table right now.


Cannot specify a payload on a getter

I tried vuex-typescript but got frustrated by the fact that I could not define a payload parameter on a getter and have it recognised by the proxied function, so I switched to this library in the hope that it was fixed but it still gives me a typescript error.  This seems to work fine for actions and mutations, but not getters.
Example (assumes a module called config)
    getters: {
        getConfig(state: IConfigModuleState, path: string): any {
            return state[path];
        }
    }

^^^^ takes a path parameter
I then define
const { read } = getStoreAccessors<IConfigModuleState, IRootState>('config');
export const readConfig = read(config.getters.getConfig)

But if I try to reference that anywhere like this:
readConfig(this.$store, 'foo')

I get a typescript error:  Expected 1 arguments but got 2
As I say, it seems fine for actions and mutations
What have I done wrong?

Had the exact same problem but finally found that it returns the getter itself. So you can do
readConfig(this.$store)('foo')

Getters do not accept payloads, they're just Computed Props for the Store.

https://vuex.vuejs.org/guide/getters.html
https://vuex.vuejs.org/guide/modules.html

You can return a function from a Getter to allow some sort of querying, but keep in mind that only that created function itself is cached as a value, not the calculations that that function itself does.


⚠ Fortnite has degraded performance

In 17b22d4, Fortnite (https://fortnite.com) experienced degraded performance:

HTTP code: 200
Response time: 1541 ms

Resolved: Fortnite performance has improved in 94919aa.


Switched from watcher to informer in kube-store

i'll test the code by tommorrow

@sharadregoti is the code start function correct?

Can you close this PR if its not needed @sharadregoti


Fix JSON parser error when input has  tag

I got a json parse error with https://thegrid.ai/aaa-fo-test/ now  https://thegrid.slack.com/archives/taylorfails/p1471830897000142

[JS ERROR: SyntaxError: JSON Parse error: Expected ':'
poly: main start
runner script load
Opening: http://localhost:8091/solve/96a3e9ff-0bd7-4b3f-9264-b709c51e64a5

@forrest indeed! Should be fixed in new PR, https://github.com/the-grid/jsjob/pull/15


Help defining priors and derived variables from them

I have the following code where I define certain priors and derived variables with these priors. However, it seems that they are not working because, despite restricting the distribution to be positive (in this case with a HalfNormal), they are not turning out positive. The documentation provides some information about the Prior class but nothing related to how to create a variable with those priors.
with pm.Model(coords=coords) as model:
    # Priors
    a = pm.HalfNormal(name="a", sigma=4)
    b_trend = pm.HalfNormal(name="b_trend", sigma=2)
    b_fourier = pm.Laplace(name="b_fourier", mu=0, b=2, dims="fourier_mode")
    b_z = pm.HalfNormal(name="b_z", sigma=2, dims="channel")
    sigma = pm.HalfNormal(name="sigma", sigma=0.5)
    nu = pm.Gamma(name="nu", alpha=25, beta=2)

    # Model components
    trend = pm.Deterministic(name="trend", var=a + b_trend * data['t'], dims="date")
    seasonality = pm.Deterministic(
        name="seasonality", var=pm.math.dot(fourier_features.values, b_fourier), dims="date"
    )
    z_effect = pm.Deterministic(
        name="z_effect",
        var=pm.math.sum(b_z * data[[f'{col}_adstock_saturated' for col in media_columns]].values, axis=1),
        dims="date"
    )
    mu = pm.Deterministic(name="mu", var=trend + seasonality + z_effect, dims="date")

    # Likelihood
    pm.StudentT(name="likelihood", nu=nu, mu=mu, sigma=sigma, observed=data['y'], dims="date")

# Configure the MMM model
mmm = MMM(
    model=model,
    date_column="date_week",
    adstock="geometric",
    saturation="logistic",
    channel_columns=[f'{col}_adstock_saturated' for col in media_columns],
    control_columns=['t'],
    adstock_max_lag=8,
    yearly_seasonality=2,
)

The priors and variables are based on this post: https://juanitorduz.github.io/pymc_mmm/
Any help would be appreciated. Thank you

I saw this example on documentation:
 """Create a PyMC variable from the prior.

        Must be used in a PyMC model context.

        Parameters
        ----------
        name : str
            The name of the variable.

        Returns
        -------
        pt.TensorVariable
            The PyMC variable.

        Examples
        --------
        Create a hierarchical normal variable in larger PyMC model.

        .. code-block:: python

            dist = Prior(
                "Normal",
                mu=Prior("Normal"),
                sigma=Prior("HalfNormal"),
                dims="channel",
            )

            coords = {"channel": ["C1", "C2", "C3"]}
            with pm.Model(coords=coords):
                var = dist.create_variable("var")

        """

But I don't know how can I include this variable called "var" in the class MMM

Hi @jgzga
I recommend that you follow the latest notebook mmm_example.ipynb in case you want to start playing around with PyMC-Marketing and use the out-of-the-box model.
If you need to build a custom model, follow this notebook mmm_components.ipynb then.
Both examples use the same Prior class you mentioned and will be available in release 0.8.0.
In the meanwhile, install the main branch using this cmd to use the latest updates in your code
pip install git+https://github.com/pymc-labs/pymc-marketing.git

I'm installing the library with this command.
pip install git+https://github.com/pymc-labs/pymc-marketing.git
And importing the Prior class as in this notebook with command
from pymc_marketing.prior import Prior
But gives me this error:
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
[<ipython-input-2-895cc36dd95d>](https://localhost:8080/#) in <cell line: 11>()
      9 from pymc_marketing.mmm import MMM
     10 #from pymc_marketing.mmm.plot import plot_curve
---> 11 from pymc_marketing.prior import Prior
     12 from pymc_marketing.mmm.components.adstock import geometric_adstock
     13 from pymc_marketing.mmm.components.saturation import logistic_saturation

ModuleNotFoundError: No module named 'pymc_marketing.prior'

@jgzga
Try to uninstall and re-install the package as the main branch is labelled as 0.7.0 and might be causing issues when installing directly from the main Github branch.
pip uninstall pymc-marketing
pip install git+https://github.com/pymc-labs/pymc-marketing.git

I'm installing the library with this command.
pip install git+https://github.com/pymc-labs/pymc-marketing.git
And importing the Prior class as in this notebook with command
from pymc_marketing.prior import Prior
But gives me this error:

---------------------------------------------------------------------------

ModuleNotFoundError                       Traceback (most recent call last)

[<ipython-input-2-895cc36dd95d>](https://localhost:8080/#) in <cell line: 11>()

      9 from pymc_marketing.mmm import MMM

     10 #from pymc_marketing.mmm.plot import plot_curve

---> 11 from pymc_marketing.prior import Prior

     12 from pymc_marketing.mmm.components.adstock import geometric_adstock

     13 from pymc_marketing.mmm.components.saturation import logistic_saturation

ModuleNotFoundError: No module named 'pymc_marketing.prior'

You will likely have to pip uninstall pymc-marketing first then run command again

After doing this, it worked.
pip uninstall pymc-marketing
pip install git+https://github.com/pymc-labs/pymc-marketing.git

Thanks

Hi @jgzga, did this resolve? The original question may have gotten lost. If you have an further questions, let me know.