HP:0001274 incorrectly mapped to MONDO:0009022

I got a question about a Translator QA issue that included this edge as coming from the SRI Reference KG
MONDO:0009477----biolink:has_phenotype----MONDO:0009022
I was surprised to see that the subject was a Disease ID rather than PhenotypicFeature ID, and couldn't find that edge in any version I have of the KG.
I checked node normalizer, and found that https://nodenormalization-sri.renci.org/1.3/get_normalized_nodes?curie=HP%3A0001274 returns:
{
  "HP:0001274": {
    "id": {
      "identifier": "MONDO:0009022",
      "label": "corpus callosum, agenesis of"
    },
    "equivalent_identifiers": [
      {
        "identifier": "MONDO:0009022",
        "label": "corpus callosum, agenesis of"
      },
      {
        "identifier": "OMIM:217990"
      },
      {
        "identifier": "UMLS:C0175754",
        "label": "Agenesis of corpus callosum"
      },
      {
        "identifier": "MESH:D061085",
        "label": "Agenesis of Corpus Callosum"
      },
      {
        "identifier": "MEDDRA:10063756"
      },
      {
        "identifier": "NCIT:C98905",
        "label": "Corpus Callosum Agenesis"
      },
      {
        "identifier": "SNOMEDCT:5102002"
      },
      {
        "identifier": "HP:0001274",
        "label": "Agenesis of corpus callosum"
      }
    ],
    "type": [
      "biolink:Disease",
      "biolink:DiseaseOrPhenotypicFeature",
      "biolink:ThingWithTaxon",
      "biolink:BiologicalEntity",
      "biolink:NamedThing",
      "biolink:Entity"
    ],
    "information_content": 100
  },
  "": null
}

Which appears to have remapped a MONDO:0009477----biolink:has_phenotype----HP:0001274 edge that I do have.
Even though they're obviously a darn good lexical match, I don't think it's safe to make an equivalence mapping between a biolink:Disease and a biolink:PhenotypicFeature
tagging @matentzn to follow the issue, and perhaps correct me!

It is important to understand that NodeNormaliser/Babelon (after @gaurav's great presentation last month) does not do any mapping conflict resolution. It is a powerful tool for accessing all mappings for the use case of cross resource discovery. If you want to use the resulting mapping for knowledge graph merging you have to first run it through a reconciliation system like boomer, which may not scale to the enormous size of the NodeNormaliser mapping index.
This issue here is almost certainly a consequences of pulling in oboInOwl:hasDbXref which should never ever be used for knowledge graph merging (but are fine for discovery and search).

This is a very good point, and something that we have struggled with in Babel/NN.   There are quite a few cases where both MONDO and HP claim an entity.  Alzheimer Disease is another one.  At one point I checked, and I think there's something like 100 of these.   Now, if you want to, you can look at this as the HP is the phenotype that is the complete phenotype that is caused by and defines the disease.   In my opinion, this is better viewed as a mistake on the part of one or the other ontologies.   So the choice was made that we would merge these entities and call them diseases.
Since that choice was made, we have implemented the idea of conflation.  That's where we say "OK, I know that these two things are really different (say a disease and it's 100% phenotype) but for the purposes of what I'm doing right now, I don't care".  We have the ability in NN to conflate or not on the fly.  So what I think we really should do is implement a disease / phenotype conflation, much as we have done for gene/protein.

Another example of this is MONDO:0007699/Hashimoto thyroiditis mapping to HP:0000872. This issue was brought to my attention again recently.


ListItem bottom border messed up when thumbnail too tall

I have gone through these following points

[X]   Check latest documentation: https://docs.nativebase.io/
[X]   Check for existing open/closed issues for a possible duplicate before creating a new issue: https://github.com/GeekyAnts/NativeBase/issues
[X]   Use the latest NativeBase release: https://github.com/GeekyAnts/NativeBase/releases
[X]   Check examples from NativeBase KitchenSink https://github.com/GeekyAnts/NativeBase-KitchenSink
[]   For discussion purpose make use of NativeBase Slack: http://slack.nativebase.io/
[]   For queries related to theme, check Theme Variables from Docs and live NativeBase Theme Editor http://nativebase.io/customizer/

Issue Description
If the thumbnail used in a ListItem component is too tall, the bottom border becomes discontinuous.
Example code:
import { Container, Content, List, ListItem, Thumbnail, Text, Left, Body, Right, Button } from 'native-base';
import React from 'react';

export default class DeckPickerScreen extends React.Component {
  render() {
    return (<Container>
        <Content>
          <List>
            <ListItem thumbnail>
              <Left>
                <Thumbnail square source={{ uri: 'https://upload.wikimedia.org/wikipedia/commons/thumb/b/b4/Flag_of_Turkey.svg/1200px-Flag_of_Turkey.svg.png' }} />
              </Left>
              <Body>
                <Text>Deck Name Here</Text>
              </Body>
              <Right>
                <Text>Sample</Text>
              </Right>
            </ListItem>
          </List>
        </Content>
      </Container>
    );
  }
}

Screenshot:

Notice that the bottom border for the body and right sections do not match. It seems that the right section grows with the left section, but the body does not do so.
The fix for now is to apply a styling to the thumbnail to reduce it's height:
 style={{width: 50, height: 50}}

Screenshot of the fix:

node, npm, react-native, react and native-base version, expo version if used, xcode version
node 11.6.0, react-native 0.57.1, native-base 2.10.0, expo 2.6.14, xcode 10.1
Is the bug present in both iOS and Android or in any one of them?
I was only able to check with iOS (simulator for SE).

@suvenduchhatoi
Thank you for posting another workaround. Because my project is not ejected, I do not know how to apply the styling you posted. However, I believe that this logic belongs in native-base, not in my project. Is this incorrect?

Was this fixed in native base? There isn't any commit linked here.

https://github.com/GeekyAnts/NativeBase/commit/b07d89edb123170e37d7ae9b5292b2dc91513a8b

Great, thanks! GitHub did not automatically link the commit because the pound sign (#) was not used in the commit message.

This still seems to be an issue, see here:
".thumbnail": {       "NativeBase.Left": {         flex: 0       },       "NativeBase.Body": {         "NativeBase.Text": {           marginLeft: null         },         flex: 1,         paddingVertical: variables.listItemPadding + 8,         borderBottomWidth: variables.borderWidth,         borderColor: variables.listBorderColor,         marginLeft: variables.listItemPadding + 5,       },...
Even with paddingVertical: variables.listItemPadding + 8, my listitem border is still jagged. Same as this submitted bug.

This still seems to be an issue, see here:
      "NativeBase.Left": {
        flex: 0
      },
      "NativeBase.Body": {
        "NativeBase.Text": {
          marginLeft: null
        },
        flex: 1,
        paddingVertical: variables.listItemPadding + 8,
        borderBottomWidth: variables.borderWidth,
        borderColor: variables.listBorderColor,
        marginLeft: variables.listItemPadding + 5,
      }...,

Even with paddingVertical: variables.listItemPadding + 8, my listitem border is still jagged. Same as this submitted bug.


Document how to upgrade Ruby on the production server

coverage: 93.506%. remained the same
when pulling 5aa90e4a967419110e024fb121c72b4d34a79957 on njw-document-ruby-switch
into 4be963a166a83a1f4eade375d9921cb7b0b51c88 on main.


Fix PR image build prowjob

Change pull-btp-manager-build to always run in every PR instead of running according to the regex pattern:
https://github.com/kyma-project/test-infra/blob/2dfb2baab89545d221eca0e6b7cd97b149f94804/prow/jobs/btp-manager/btp-manager-build.yaml#L14

PR: https://github.com/kyma-project/test-infra/pull/7147


Prefer storing statusbar in app state

So we can manipulate it with actions.
Then, add to top-most component:
componentDidUpdate() {
   StatusBarIOS.setHidden(this.props.device.isStatusBarHidden, true);
   StatusBarIOS.setStyle(this.props.device.statusBarStyle, false);
}

Any objections / +1 / -1 ?
Handling that in SideMenu.react.js is quite weird and could be improved so that we can manipulate statusbar from within other components as well :)

+1

Can you do that?

Yes. I'll send over PR later today / tomorrow.

You don't have to. It's just fine right now.


Removed "TextInput" from the imports as it was never used.

Hello @Simek, Thank you for merging the PR. I'm glad I could be of some help. Even though it ain't much, it's honest work. Hope you're staying safe :'). Good day!


Unable to use HTTPBasicCredentials for credentials

I am trying to use credentials from a Basic Auth form to be passed into a script to generate a JWT.
However when I call the endpoint I get:

{
"detail": "Bad Authorization header. Expected value 'Bearer '"
}

I believe this is because when looking at the Authorization header that is generated by the Basic Auth form, it sends Basic <token>. When the AuthJWT see's this, it rejects it as it is expecting Bearer <token> and sends a 422 Error code.
Is there a way to pass this?
@app.post('/auth/basic_login', tags=["Authentication"])
def auth_basic_login(credentials: HTTPBasicCredentials = Depends(security), Authorize: AuthJWT = Depends()):
    user = dict(username = credentials.username, password = credentials.password)
    access_token = Authorize.create_access_token(subject=user['username'],user_claims=dict(user), expires_time= False)
    response = jsonable_encoder(dict(login = True, username = user['username'], authorization = access_token))
    Authorize.set_access_cookies(access_token)
    return response

another way to use fastapi-jwt-auth, you can change the header name and header type for more information detail you can check in docs

In the same way as I can change the header name and type as described in your docs (a method which does work). Using the Authorization header is somewhat standard.
Is it possible to add a setting to bypass JWTAuth if it detects a header types from a list set by the user. Such as Basic, Digest, Hawk ect?
eg.
authjwt_header_type_bypass = list = ["Basic"]
if re.match(r"{}\s".format(header_type),auth) in header_type_bypass:
    return None

for right now it's not possible ☹, but I think it's a good idea to set header type by list, I will update in the next version 😁, for right now you can change header type as I said before

This library is very useful, I am a python beginner. I hope this library will get better and better. I would like to ask what is the progress of this proposal. 💗


Feature: Pipeline Organization

Fixes #6
Adds some additional organization to the selection of pipelines and modules in the command-line tools.

Welcome to Codecov :tada:
Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.
Thanks for integrating Codecov - We've got you covered :open_umbrella:


[Refactoring]: Remove browser-eval specific code from main

What problem or use case are you trying to solve?
Currently there is code in our main function that is only used in evaluation of browser-based tasks: https://github.com/OpenDevin/OpenDevin/blob/0d0e6db1e39a50bdb880e71d0a7132b10c7e0e76/opendevin/core/main.py#L120-L128
Describe the UX of the solution you'd like
This should not be in the main library (and is marked as "TODO" right now), so we should probably clean this up by finding an alternative way to pass the browser-based tasks in to the agent.
This can probably be done after #2760 is merged.

This has been fixed.


Multiple qualify blocks

Allow Experiment definitions to

specify multiple qualify blocks
allow pass of an argument with a method name as a symbol, instead of a block (like AR validations)

@jeaniewu could you also update the changelog here, and as pointed out by @masom, note that this is a breaking change.

👍


WSL Docker doesn't work

this is the error I get
ERROR:    ASGI callable returned without sending handshake.
INFO:     connection open
INFO:     connection closed
Any idea? I'm running from a PC that seems to be able to use OpenAI's API.

Inside of the docker, "docker exec -it blahname bash" I can get the openai call to work, so I don't know what this message implies. Any help would be great.

I changed the title to WSL, when I realized it works on the Windows host.

Somehow it can't connect to the websocket at /api/llm/..., not clear why. Is the "ALLOWED_HOSTS" and the port you expose the same (e.g. both 3030?).
How exactly do you run it in WSL? Maybe I can reproduce the error.
And could you provide the full command you use to run it (without your secrets ;) ) and the full console output?

inside of WSL, I install docker, then run
docker run -i -t -p 3030:80 -e OPENAI_API_KEY="DONTHACKME"  -e ALLOWED_HOSTS="localhost:3030" -v /home/alan/ipilot:/mnt/data silvanmelchior/incognito-pilot:latest-slim
Another thing I tried was ALLOWED_HOST=<IP_ADDRESS>.. instead of localhost, it didn't seem to make a difference.  I also tried --network=host. All probably related.
I think there's an option in the Windows host to integrate with WSL2 or something like that, which might prevent this error. Otherwise I'm not sure what network localhost is exposed to if WSL network is isolated. I may try it later.

In the 2.1.0 release, I added some more debug information on why a websocket connection might not get accepted. Can you try again and show the console output?

However, seems as if the issue is much more general: https://github.com/microsoft/WSL/issues/9549

Any resolution on this?

Unfortunately no time right now to debug this. If anyone else wants to try, comparing the network calls between non-WSL and WSL setup using browser debugging tools would for sure be a good starting point.


Export to Excel/PDF without flash

Hi Allan.
This is just proof of concept rather that fully working solution, but I was able to export data of DataTable to excel without flash. Here is my working code: http://live.datatables.net/pudavuya/1
I also started discussion about my idea (http://datatables.net/forums/discussion/27262/export-to-excel-without-flash-and-server-side#latest) but I wanted to get Your attention so I started this issue.
Maybe it would be possible to detect is user is using browser that is supported by js-xlsx and jsPDF? If yes then we could use browser only export?
I'd be happy to help, but first let me know if You are interested in that kind of implementation and should I try to add this into TableTools or maybe into another Extension?

I've added a reply to your forum discussion. I'd like to keep GitHub issues just for bugs, so closing this.


Repair Scheduler

Currently the scheduler code has been removed. Now that things are normalizing we can add it back.

Screw it, I'll do it later.

Need to do research on this before I can continue. It runs server side and for some reason I don't have access to the collections on that end. Which means its broken.

BOOOM!


Example 6 and 7 are incorrect, please update

In the documentation at step 6 is stated that I should receive a response like this:
{"udid" : "{udId}"}
The actual response I get is:
{"operationId": "{udId}"}
The example at step 7 is incorrect it gives a 400 error because the udid or operatioId is not allowed.

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

ID: 9aeb145b-1372-1e2a-c10a-2d430d72b4f5
Version Independent ID: c59a5271-fd5d-1950-21fb-9822124bf6a4
Content: Render custom data on a raster map
Content Source: articles/azure-maps/how-to-render-custom-data.md
Service: azure-maps
GitHub Login: @anastasia-ms
Microsoft Alias: v-stharr

Thanks @djong1 . I am reviewing the document now.

#please-close
#reassign stevemunk


Remove compile warnings for signal handling solution

Hello.
I've simply moved some code for the signal handling solution such that compilation of the rust-rosetta crate doesn't yield warnings in order to keep build logs nice and clean.

I fail to see how this is erroring on travis.. It says exited with 0 which is not an error.

Triggered a rebuild, and it looks like rustup is failing for some reason.

@Hoverbear, @euclio, could either of you please trigger another rebuild for this pull request on Travis?
It's still failing on rustup.sh. Perhaps a network problem?

Triggered!

Woo!


Fix build-tools/reaper source/target compatibility to be JDK-11

Signed-off-by: Andriy Redko<EMAIL_ADDRESS>Description
Fix build-tools/reaper source/target compatibility to be JDK-11
Issues Resolved
Fixes https://github.com/opensearch-project/OpenSearch/issues/2581
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[X] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@dblock please

x   Gradle Check failure ce02a49 Log 3758
Reports 3758

https://github.com/opensearch-project/OpenSearch/issues/1561 :(

@reta Thanks for jumping in.

please audit all the JARs that we output and fix any others that are not source/target = 11

We have another outlier in distribution/tools/java-version-checker/build.gradle

https://github.com/opensearch-project/OpenSearch/issues/1828 :(

I am facing this issue when I am building 1.2 version. Should this be back ported to 1.x branches with 1.8 Java Version?
@dblock ?

I am facing this issue when I am building 1.2 version. Should this be back ported to 1.x branches with 1.8 Java Version? @dblock ?

@vamsi-amazon the 1.x has JDK 1.8 baseline, this change should not be backported


Failed to reconcile etcd plane / websocket: bad handshake

What kind of request is this (question/bug/enhancement/feature request):
Bug
Steps to reproduce (least amount of steps as possible):
Adding a new ETCD-Node to an existing cluster failes with:
Failed to reconcile etcd plane: Failed to add etcd member [etcd-node3] to etcd cluster
When connection via SSH to the newly created node it has 3 docker containers running:
05d0f5e5fbf1        rancher/rancher-agent:v2.1.6   "run.sh --server htt…"   21 minutes ago      Up 21 minutes                           stoic_pasteur
33394a4e4ac2        rancher/rancher-agent:v2.1.6   "run.sh -- share-roo…"   21 minutes ago      Up 21 minutes                           share-mnt
f3f5cf11e663        rancher/rancher-agent:v2.1.6   "run.sh --server htt…"   21 minutes ago      Up 21 minutes                           amazing_pike

While the last two containers seem to run normaly the first one logs:
time="2019-02-12T14:34:09Z" level=info msg="Connecting to proxy" url="wss://rancher.my.domain/v3/connect"
time="2019-02-12T14:34:09Z" level=error msg="Failed to connect to proxy" error="websocket: bad handshake"
time="2019-02-12T14:34:09Z" level=error msg="Failed to connect to proxy" error="websocket: bad handshake"

Result:
The cluster is stuck in provisioning.
Creating worker nodes works perfectly!
Sadly an identical cluster created at the same platform works with creating new ETCD nodes 🙈
Environment information

rancher/rancher:v2.1.6
Installation option (single install/HA):

Cluster information

Cluster type (Hosted/Infrastructure Provider/Custom/Imported): OpenStack provisioned via Rancher 2.0.x

Machine type (cloud/VM/metal) and specifications (CPU/memory): OpenStack VM

Kubernetes version (use kubectl version): 1.10.11-rancher1-1

Docker version (use docker version): 18.3.1

Can you curl that url from the host?

Sure

What's the status of etcd in the cluster where you are trying to add a node?
See https://rancher.com/docs/rancher/v2.x/en/troubleshooting/kubernetes-components/#etcd-cluster-and-connectivity-checks

OK, I've got no idea why and changed like nothing related to etcd but now it's working again 🤷♂  a little bit confusing but I'm closing this for now. Thank you for your suggestions ✌

We're seeing this behavior enough to reopen.  Having a community member update this ticket.

Happened to me today, was in this state for maybe 40 minutes.  Repro steps:

Rancher HA cluster, running 2.1.7
Added a new managed cluster, added a first server to it, specified all 3 roles for the server (etcd, worker, controlplane)
We us custom config, specified both the external and internal address.  My internal address is an internal 10.x address space
When copy/pasting the add server node, we noticed that the agent started but no connectivity.  Logs attached.

NOTEABLES:

our rancher cluster sits behind an nginx proxy - straight passthrough LB

40 minutes or so later it just 'started' connecting.
time="2019-06-10T17:53:31Z" level=info msg="Connecting to wss://rancher.omitted.com/v3/connect with token aaaaaaaa"
time="2019-06-10T17:53:31Z" level=info msg="Connecting to proxy" url="wss://rancher.omitted.com/v3/connect"
time="2019-06-10T17:53:31Z" level=error msg="Failed to connect to proxy" error="websocket: bad handshake"
time="2019-06-10T17:53:31Z" level=error msg="Failed to connect to proxy" error="websocket: bad handshake"
time="2019-06-10T17:53:41Z" level=info msg="Connecting to wss://rancher.omitted.com/v3/connect with token aaaaaaaa"
time="2019-06-10T17:53:41Z" level=info msg="Connecting to proxy" url="wss://rancher.omitted.com/v3/connect"
time="2019-06-10T17:53:41Z" level=error msg="Failed to connect to proxy" error="websocket: bad handshake"
time="2019-06-10T17:53:41Z" level=error msg="Failed to connect to proxy" error="websocket: bad handshake"

Token and domain changed to protect the innocent.

In Rancher v2.3, we added more websocket logging (logging the actual error besides "bad handshake"), which should give a better indication what is happening. If you encounter a similar issue, please file a new issue with the requested information and the logging.


Unable to generate when API includes /health endpoint

Given an API spec file that includes a /health endpoint, the package is unable to generate an SDK.
In PhpNamespace.php line 267:

  Name 'Health' used already as alias for Checkmango\Requests\Health\Health.

Fixed in v1.0.1


unifiedpush-common-proxies: 1.5.0 -> 2.0.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/unifiedpush/common-proxies/releases.
meta.description for unifiedpush-common-proxies is: A set of rewrite proxies and gateways for UnifiedPush
meta.homepage for unifiedpush-common-proxies is: https://github.com/UnifiedPush/common-proxies
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 2.0.0 in filename of file in /nix/store/v1vh8hhq44npqgix8jmnjgamvh16y3ah-unifiedpush-common-proxies-2.0.0

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

unifiedpush-common-proxies

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/v1vh8hhq44npqgix8jmnjgamvh16y3ah-unifiedpush-common-proxies-2.0.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A unifiedpush-common-proxies https://github.com/r-ryantm/nixpkgs/archive/5774b136eac48d136974efd2378188d3db5323e5.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/5774b136eac48d136974efd2378188d3db5323e5#unifiedpush-common-proxies

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/v1vh8hhq44npqgix8jmnjgamvh16y3ah-unifiedpush-common-proxies-2.0.0
ls -la /nix/store/v1vh8hhq44npqgix8jmnjgamvh16y3ah-unifiedpush-common-proxies-2.0.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

1 package built:

unifiedpush-common-proxies

Maintainer pings

breaking change, no backport


make run-prod fails

Describe the bug
In the readme is a description how to start openslides4:
https://github.com/OpenSlides/OpenSlides/blob/4484d1e4ef5274e6868fe2b1840814673d2e0282/README.md
Currently, they do not work.
How to Reproduce
$ git clone git@github.com:OpenSlides/OpenSlides.git
$ cd OpenSlides
$ git checkout openslides4-dev  # needed, until OS4 is released
$ make run-prod

This produces:
git submodule status | awk '{ gsub(/[^0-9a-f]/, "", $1); gsub("-","_",$2); print toupper($2)"_COMMIT_HASH="$1 }' > .env
docker-compose -f docker-compose.yml -f docker-compose.prod.yml build
WARNING: The OPENSLIDES_DATASTORE_READER_PORT variable is not set. Defaulting to a blank string.
WARNING: The OPENSLIDES_DATASTORE_WRITER_PORT variable is not set. Defaulting to a blank string.
WARNING: The OPENSLDIES_AUTH_SERVICE_COMMIT_HASH variable is not set. Defaulting to a blank string.
WARNING: The OPENSLDIES_AUTH_SERVICE_PORT variable is not set. Defaulting to a blank string.
ERROR: The Compose file is invalid because:
Service backend has neither an image nor a build context specified. At least one must be provided.
make: *** [Makefile:25: build-prod] Fehler 1

Expected behavior
Start OpenSlides without errors and warnings.
Could someone help me to start OpenSlides4 so I can work on #5476?

Ok. I found the information here: https://github.com/OpenSlides/OpenSlides/pull/5476/files#diff-f785e9e46b9afd2567df7a658338db17
So #5476 fixes this issue.

In #5476 it won't be fixed in the way, that it works, but it will be fixed because there is a new notice, to not use prod ;) dev is currently the way to go.
https://github.com/OpenSlides/OpenSlides/pull/5476/files#diff-04c6e90faac2675aa89e2176d2eec7d8R21


AOAF-521: feature flag implementation

CI: Security warnings found!

CI: Security warnings found!


New version: WHONET.AMRIE version 24.2.16

[ ] Have you signed the Contributor License Agreement?
[ ] Have you checked that there aren't other open pull requests for the same manifest update/change?
[ ] This PR only modifies one (1) manifest
[ ] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[ ] Does your manifest conform to the 1.6 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

@microsoft-github-policy-service agree company="Brigham and Women's Hospital"

Duplicate of #139824

@AClark-WHONET Added PR https://github.com/AClark-WHONET/AMRIE/pull/5 which also supports formatted GitHub release notes.

Hi @AClark-WHONET,
The package didn't pass a Defender or similar security scan. This might be a false positive and we can rescan tomorrow.
(Automated response - build 771.)

Automatic Validation ended with:

Installation failed with exit code -1978335187 2024-02-20 08:18:03.897 [CLI ] Installer [Arm64,burn,Unknown,] not applicable: Machine is not compatible with Arm64 2024-02-20 08:18:53.251 [FAIL] Installer failed security check. Url: https://github.com/AClark-WHONET/AMRIE/releases/download/v24.2.16/AMR_Interpretation_Engine_v24.2.16.msi Result: 0x80004005 2024-02-20 08:18:53.251 [CLI ] Terminating context: 0x8a15002d at D:\a_work\1\s\external\pkg\src\AppInstallerCLICore\Workflows\DownloadFlow.cpp:1e6 MSI (s) (BC:D8) [08:18:16:384]: Executing op: ComponentRegister(ComponentId={5FF1FFB8-9BF6-5BBF-A666-98C9128ABCC6},KeyPath=2285\SOFTWARE\Microsoft\Windows\Windows Error Reporting\RuntimeExceptionHelperModules\C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.27\mscordaccore.dll,State=3,,Disk=1,SharedDllRefCount=0,BinaryType=1) MSI (s) (BC:D8) [08:18:17:962]: Executing op: RegOpenKey(Root=-2147483646,Key=SOFTWARE\Microsoft\Windows\Windows Error Reporting\RuntimeExceptionHelperModules,,BinaryType=1,,) Property(S): ErrorDialog = ErrorDlg MSI (s) (BC:D8) [08:18:26:275]: Windows Installer installed the product. Product Name: Microsoft .NET Runtime - 6.0.27 (x64). Product Version: 48.108.8828. Product Language: 1033. Manufacturer: Microsoft Corporation. Installation success or error status: 0. MSI (s) (BC:40) [08:18:29:150]: Windows Installer installed the product. Product Name: Microsoft .NET Host FX Resolver - 6.0.27 (x64). Product Version: 48.108.8828. Product Language: 1033. Manufacturer: Microsoft Corporation. Installation success or error status: 0. MSI (s) (BC:A8) [08:18:29:978]: Windows Installer installed the product. Product Name: Microsoft .NET Host - 6.0.27 (x64). Product Version: 48.108.8828. Product Language: 1033. Manufacturer: Microsoft Corporation. Installation success or error status: 0. MSI (s) (BC:84) [08:18:34:822]: Windows Installer installed the product. Product Name: Microsoft Windows Desktop Runtime - 6.0.27 (x64). Product Version: 48.108.8836. Product Language: 1033. Manufacturer: Microsoft Corporation. Installation success or error status: 0. 2024-02-20 08:17:33.262 [CLI ] Installer [Arm64,burn,Unknown,] not applicable: Machine is not compatible with Arm64 2024-02-20 08:17:33.262 [CLI ] Installer [X64,burn,Unknown,] not applicable: Machine is not compatible with X64 2024-02-20 08:17:57.481 [CLI ] Installer [X64,wix,Unknown,en-US] not applicable: Machine is not compatible with X64 2024-02-20 08:18:05.154 [FAIL] Installer failed security check. Url: https://github.com/AClark-WHONET/AMRIE/releases/download/v24.2.16/AMR_Interpretation_Engine_v24.2.16.msi Result: 0x80004005 2024-02-20 08:18:05.154 [CLI ] Terminating context: 0x8a15002d at D:\a_work\1\s\external\pkg\src\AppInstallerCLICore\Workflows\DownloadFlow.cpp:1e6 MSI (s) (48:30) [08:17:43:537]: Executing op: ComponentRegister(ComponentId={C522FD37-C3F6-5BCD-9834-1A7EF0A72DE7},KeyPath=0285\SOFTWARE\Microsoft\Windows\Windows Error Reporting\RuntimeExceptionHelperModules\C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.27\mscordaccore.dll,State=3,,Disk=1,SharedDllRefCount=0,BinaryType=0) MSI (s) (48:30) [08:17:45:022]: Executing op: RegOpenKey(Root=-2147483646,Key=SOFTWARE\Microsoft\Windows\Windows Error Reporting\RuntimeExceptionHelperModules,,BinaryType=0,,) MSI (s) (48:30) [08:17:45:287]: Windows Installer installed the product. Product Name: Microsoft .NET Runtime - 6.0.27 (x86). Product Version: 48.108.8828. Product Language: 1033. Manufacturer: Microsoft Corporation. Installation success or error status: 0. MSI (s) (48:A4) [08:17:45:850]: Windows Installer installed the product. Product Name: Microsoft .NET Host FX Resolver - 6.0.27 (x86). Product Version: 48.108.8828. Product Language: 1033. Manufacturer: Microsoft Corporation. Installation success or error status: 0. MSI (s) (48:C4) [08:17:46:522]: Windows Installer installed the product. Product Name: Microsoft .NET Host - 6.0.27 (x86). Product Version: 48.108.8828. Product Language: 1033. Manufacturer: Microsoft Corporation. Installation success or error status: 0. MSI (s) (48:74) [08:17:51:365]: Windows Installer installed the product. Product Name: Microsoft Windows Desktop Runtime - 6.0.27 (x86). Product Version: 48.108.8836. Product Language: 1033. Manufacturer: Microsoft Corporation. Installation success or error status: 0.

(Automated response - build 771.)

@wingetbot run

@stephengillie This is duplicate PR. Original is here https://github.com/microsoft/winget-pkgs/pull/139824

Sorry for the delay with the other one.

Close with reason: Duplicate of #139824;


Only chrome latest

All other emulators have moved to their own repos.
emulate-chrome-88 is a submodule in order for chrome-latest to pull in during development mode.

I haven't fully figured that out.... my current thought is we test emulators against the main SA repo using yarn workspaces from the emulator repos.


Update spec to add rules for type checking actions, signals, and guards

The spec is missing the rules for type checking actions, signals, and guards. Here is a sketch of the rules.
Type Options
A type option is Some(T) or None.
Conversion of Type Options

Any type option is convertible to None.
Some(T) is convertible to Some(T') if T is convertible to T'.

Common Type Options

Two type options have the common type option None if either of them is None.
Some(T) and Some(T') have the common type option Some(T'') if T and T' have the common type T''.

Type Checking Rules

We assign type options to enter expressions and transition arrows as follows:

The type option of the enter expression in an initial transition, and of the arrow out of an initial transition, is None.
The type option of the enter expression in a state transition, and of the arrow out of the transition, is the type option associated with the signal that triggers the transition.
The type option of the enter expressions of a junction, and of the arrows out of a junction, is the common type of the input arrows. If there is no common type, then an error occurs.

The type option of each enter expression in a junction must be convertible to the type option of each guard in the junction.
For each enter expression e, if do a appears in e, then e must have a type option that is convertible to the type option of a.

Done in commit 422a9f2d1b1d4cd6ee512d0abf6faf016e7948ab.


Wire

Is it already possible to connect wire to ferdi (on the chip download page wire is mentioned while after installing ferdi I could not find wire)???

Wire is not currently part of Ferdi but it looks like we can add it. Until then, you can already use Wire inside Ferdi by using the "Custom Website" service with the URL of "https://app.wire.com/auth/".


Multiple connections?

I wonder how I can set the connection to not be global. I'm using this library to restore databases to different SQL server instances. So when a restore is in progress and I try to make a new connection I get this error.
Global connection already exists. Call sql.close() first.
How can I set the connection so it is not global and so I can handle multiple connections either to the same or to different databases?
Thanks

See the Connection Pool section in docs (or this for v3).

@patriksimek How are we supposed to use connection pools with Express Request Handlers? Do I put my module.exports inside the Pool? I don't think it works if it's inside another function, especially a callback function.

Greetings.
I have the same problem. I have an array with a list of different mssql servers to which I query, but I get the same error message.
The method that connects and obtains the data is:
function GetData(config){
mssql.connect(config).then((cnx) => {

return new mssql.Request(cnx).query(srtquery)

}).then((result, error)  => {
console.log(result);

}).catch(err => {
console.log(err);
})
mssql.on('error', err => {
console.log(err);
});
}
I do not use, nor do I need to use a connection pool because it is a single query to each server, what would be the correct way to do it?

@edwinspire si te sirve yo tenia un problema parecido y lo resolvi de esta manera:
const sql = require('mssql')
new sql.ConnectionPool(config).connect().then(pool => {
return pool.request().query(sqlConsulta)
}).then(result => {
let rows = result.recordset
res.setHeader('Access-Control-Allow-Origin', '*')
res.status(200).json(rows)
sql.close()
}).catch(err => {
res.status(500).send({ message: Error al realizar la peticion con el servidor - Error : ${err} })
sql.close()
})


[Docker container] Got Permission denied when creating datadir

Depending on the host machine, the daemon's docker container might fail to create or to access the datadir with error permission denied.
The real problem is the user associated with the running container: within the Dockerfile a new root user is created, while the current user of the host machine should be used to prevent troubles with permissions.
Something like the following snippet should be added to the Dockerfile in order to make the user of the container the same as the host machine:
ARG USER_ID
ARG GROUP_ID

RUN if [ ${USER_ID:-0} -ne 0 ] && [ ${GROUP_ID:-0} -ne 0 ]; then \
    userdel -f user &&\
    if getent group user ; then groupdel user; fi &&\
    groupadd -g ${GROUP_ID} user &&\
    useradd -l -u ${USER_ID} -g user user &&\
    install -d -m 0755 -o user -g user /home/user &&\
    chown --changes --silent --no-dereference --recursive \
          --from=0:0 ${USER_ID}:${GROUP_ID} \
        /home/user \
;fi

USER user

This makes the container recreating the user user with host's permissions instead of root's ones only if the args USER_ID and GROUP_ID are specified when running the container. Otherwise, the entire process is skipped and the container works exactly like it's currently doing.

Yes, that's the equivalent solution for docker-compose.

Seems fixed to me


signalbackup-tools: 20230707 -> 20230716

Description of changes
Update to latest version. No changes that effect build.
Diff: https://github.com/bepaald/signalbackup-tools/compare/20230707...20230716
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.


PR is failing as Helm stable repo has moved

Please enter as much information as possible, otherwise we can't provide support. If possible upgrade to the latest release or dev version and try again.
Bug description
My PR #3184 is failing with the following:
Run helm repo add stable https://kubernetes-charts.storage.googleapis.com/
WARNING: Kubernetes configuration file is group-readable. This is insecure. Location: /home/runner/.kube/config
WARNING: Kubernetes configuration file is world-readable. This is insecure. Location: /home/runner/.kube/config
Error: repo "https://kubernetes-charts.storage.googleapis.com/" is no longer available; try "https://charts.helm.sh/stable" instead
Error: The operation was canceled.

This is because Helm stable and incubator repositories have moved: https://helm.sh/blog/new-location-stable-incubator-charts/
New locations:

https://charts.helm.sh/stable
https://charts.helm.sh/incubator

These should be updated with:
helm repo add stable https://charts.helm.sh/stable --force-update
helm repo add incubator https://charts.helm.sh/incubator --force-update

Steps to reproduce
Steps to reproduce the behavior:

Create a PR
See error

Expected behavior
PR to undergo tests without Helm issue.
Deployment method (select with an X)

Create a PR
See error

Environment information
N/A this is within the DefectDojo testing/pipeline environment, not mine.
Sample scan files (optional)
If applicable, add sample scan files to help reproduce your problem.
Screenshots (optional)
If applicable, add screenshots to help explain your problem.
Console logs (optional)
If applicable, add console logs to help explain your problem.
Additional context (optional)
Add any other context about the problem here.

just fixed by #3183 but we still see other errors.


Add RFI to contact page

Purpose
Add RFI to contact page
TIckets this PR closes

closes #1442

QA Spec

[ ] is the RFI box aligned correctly?
[ ] is the RFI box spaced correctly?
[ ] does the RFI box render correctly on mobile?
[ ] is the heading copy correct?
[ ] is the body copy correct?

@esfoobar-usds any ideas as to why this branch has new staging link code? that was already pushed to main. 🤔


Fix docker publish

Description
Fix docker publish
Issue reference
We strive to have all PRs being opened based on an issue, where the problem or feature have been discussed prior to implementation.
Please reference the issue this PR will close: N/A
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list:

[ ] The quickstart code compiles correctly
[ ] You've tested new builds of the quickstart if you changed quickstart code
[ ] You've updated the quickstart's README if necessary
[ ] If you have changed the steps for a quickstart be sure that you have updated the automated validation accordingly. All of our quickstarts have annotations that allow them to be executed automatically as code. For more information see mechanical-markdown. For user guide with examples see Examples.

@ASHIQUEMD  is this work covered by #805?

@ASHIQUEMD is this work covered by #805?

Yes, this has been applied in #805, this PR could be closed.


Collision component now accepts pc.Asset for the asset property

Fixes: https://github.com/playcanvas/engine/issues/2744
I confirm I have signed the Contributor License Agreement.

We could change the code in system to accept an pc.Asset type though

Updated PR to allow user of pc.Asset  as well as an id.

Turns out the component already handles asset as an pc.Asset or number but both examples of this 'bug' are wrong in a different way (trigger script not added, wrong rotation).
Just a simple doc fix now 😅


base_model_name of my data

how do create --base_model_name of own data?
how do I predict image in own data?

Same question


Track Data after successful CONNECT

In HTTPS when connection has established, Is there any method (here or in twisted library) to track the content of each request and its response? I have sucessfully done it for HTTP but when an HTTPS website is connected the data is not passing through that mehtod (ProxyClient.handleReponsePart() in twisted/web/proxy.py) but same method is not handling the HTTPS connections.
Any hint or help will be appreciated.

That said if you wanted to just track or record all the encrypted data I guess that's pretty easy to do with this, but has really limited utility.  You'd have to break the encryption though if you wanted to see the actual requests and traffic though.

Okay. Thank you for the explanation. I dropped this idea and made my app with a different implementation using Twisted Web Server.
Regards.


Add Simplified Chinese、Localized translation

Hi there @edwinyoo44 this PR is highly appreciated.
There is only one problem I found in this PR is the rename to traditional_chinese.yml this would need to stay as the original chinese.yml as the plugin only loads the language if it’s been selected.
Please rename it back and this PR will be merged to master, thanks

Jack

Hi there, thank you for the contribution!


Add vcpkg installation instructions

Wren is available as a port in vcpkg, a C++ library manager that simplifies installation for wren and other project dependencies. Documenting the install process here will help users get started by providing a single set of commands to build wren, ready to be included in their projects.
We also test whether our library ports build in various configurations (currently only support static) configurations on various platforms (OSX, Linux, Windows: x86, x64) to keep a wide coverage for users.
I'm a maintainer for vcpkg, and here is what the port script looks like. We try to keep the library maintained as close as possible to the original library.

Hi @NancyLi1013 thanks for the info. You might want to wait until 0.3.0 is wrapped up as the build process is changing.

Hi @underscorediscovery  thanks for your update.

Hi @NancyLi1013
Wren 0.3.0 was released recently, so you are aware that the build process is different.  The file that this PR was made against is no longer present, but we can maybe find a place to mention it that makes sense.

@nathanhourt
Thanks for your above info. We will tr to update wren to 0.3.0 these days.
Also need your help to add vcpkg installation instructions in some places that you think it more suitable.
Really appreciate for your help and support.


gateway-api: fix status reconcile error handling

Currently, errors during writing the status in the defer function aren't returned to the caller (controller-runtime). Hence, a successful reconciliation (error = nil) but a failure during writing the status would result in a non-updated status (because it wouldn't result in an additional reconciliation).
Therefore, this commit changes the defer function to update the returned error instead of only logging it (joining it with a potential reconcile error).

/test

/test

rebased to main

/test

Check ci-ginkgo hits https://github.com/cilium/cilium/issues/30101


What does historyDisable do?

historyDisable's docs say:

This rule should not be cached or recorded in the history because it makes use of untracked dependencies (e.g. files in a system directory or items on the $PATH), or is trivial to compute locally.

I expected historyDisable to act like alwaysRerun, nothing would be cached so the rule would always be executed, but a rule like:
      "asd" %> \out -> do
        historyDisable
        putNormal "hello"
        writeFile' out "hihi"

Only prints "hello" once.
Its output file hash seems to get tracked too, since changing or removing the output file and re-running the rule prints hello again.
Its inputs seem to get tracked too, since changing it to:
      "asd" %> \out -> do
        historyDisable
        need ["lala"]
        putNormal "hello"
        writeFile' out "hihi"

Makes the rule be re-evaluated when the "lala" file changes.
With this example I couldn't see differences adding or removing historyDisable.
Also, what does "recorded in the history" from the docs mean? This function's docs are the only mention of the word "history" in all docs + getting started guide.

The concept of history relates to Cloud Shake. I agree, these docs were completely unclear, so I rewrote them in 79a098c55f62de9efd851546435945b7f7f9b9df to say:

This rule should not be saved to shared/cloud storage via 'shakeShare'.
There are usually two reasons to call this function:

It makes use of untracked dependencies that are specific to this machine,
e.g. files in a system directory or items on the<EMAIL_ADDRESS>The rule is trivial to compute locally, so there is no point sharing it.

If you want the rule to not be cached at all, use 'alwaysRerun'.

Does that answer all your questions?

Ohh, makes total sense now! Thanks for updating the docs!


docs: update image

Hi @danielroe
Could you check why the documentation doesn't update automatically?
https://google-fonts.nuxtjs.org/

Codecov Report

Merging #148 (5246950) into main (e35559f) will not change coverage.
The diff coverage is n/a.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@           Coverage Diff           @@
##             main     #148   +/-   ##
=======================================
  Coverage   88.78%   88.78%
=======================================
  Files           1        1
  Lines         223      223
  Branches       20       20
=======================================
  Hits          198      198
  Misses         23       23
  Partials        2        2

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

This should be resolved ✅


feat(ui): Add Pixel Coordinates to Label

Checklist

[x ] I ran npm test locally and it passed without errors.
[x ] I acknowledge that all my contributions will be made under the project's license.

Description
Adds pixel data attributes to pixel boxen
Adds to label generation script to include coordinates
Partial response to issue #1207
Related issues
#1207

This looks great! Thank you! @simeydk I'll merge this one, could you sync up for #1517 and use those new data fields instead? That solves you the reverse math :)


Added missing word

I discovered your blog and as I was reading through this article I noticed a missing word

Aaaaaaaaaaaaaaaagh
Thanks for catching this! 👍


Include ssl dependencies into ssl_compat for python versions <2.7.9

I'm not sure what the long term plan is for ssl_compat, but this is what I'm using on my machine as I am pinned to a version of python lower than 2.7.9. If there is a better way, let me know!

Actually this still doesn't fix all my issues, I have this issue with python 2.7.7:
hyper/http20/connection.py:35: in <module>
                         TRANSIENT_SSL_ERRORS = (ssl.SSL_ERROR_WANT_READ, ssl.SSL_ERROR_WANT_WRITE)
                     E   AttributeError: 'NoneType' object has no attribute 'SSL_ERROR_WANT_READ'

Why can't we just import ssl for all versions of python==2.7.x?

Python 2.7.X where X < 9 does not expose an SSLContext object that is of any value. In particular, we cannot negotiate ALPN/NPN, we cannot disable TLS compression, and generally speaking are unable to configure any TLS configuration that matters.

@Lukasa
This PR fixes the issue described, in that we don't get these values from the enum in _ssl.c. However, there is another issue that we should look at - namely that when you install the package on python < 2.7.9, the service-identity package is not being included. You wrap the import error in a try/except, so you don't see the error, but the solution is to just install the package separately.
I don't know enough about how packages are bundled in python to know how to fix the issue. Why can't we just make it a requirement for all versions?

There's no point using service-identity with 2.7.9 or later, because they include their own hostname verification functions. Again, service-identity should be being installed automatically on those versions of Python where PyOpenSSL is installed.

I'm not sure what you want the behavior to be, but I'll create an issue. Here are some very basic steps:

On a clean system of python 2.7.9 or earlier, pip install hyper.
Open up python REPL.
import hyper
Get the following error AttributeError: 'NoneType' object has no attribute 'SSL_ERROR_WANT_READ'

This is because pyOpenSSL and service-identity are not being installed. Only reason I found that out was I commented out the code that swallows the import error when you import ssl_compat. What do you want the behavior to be? Should the users of the package know to install pyOpenSSL and service-identity manually?

Argh, I know what's going on here. While setup.py is conditionally adding the relevant dependencies, that doesn't work for a wheel as installing a wheel doesn't execute code. We'll need to add the conditional dependencies declaratively, not programmatically.

This should have been resolved in #253, and will take effect in the next release.

Hey @Lukasa,
We still need the values for SSL_ERROR_WANT_READ and SSL_ERROR_WANT_WRITE in ssl_compat.py.
I finally am using a version of python greater than 2.7.9, but this should be put in anyways.

Hrm, good spot.

I've had to clean up some of the syntax stuff: see #259.


"cgi" standard library module used by bottle is deprecated in Python 3.11, to be removed in 3.13

I'm running bottle with Python 3.11 for the first time and I see this deprecation warning:
/xxx/lib/bottle/bottle.py:72: DeprecationWarning: 'cgi' is deprecated and slated for removal in Python 3.13
  import base64, calendar, cgi, email.utils, functools, hmac, itertools,\

I guess bottle needs to stop using this module?

That's unfortunate, bottle uses the form-data/multipart parser from that library. The PEP says:

FieldStorage/MiniFieldStorage has no direct replacement, but can typically be replaced by using multipart (for POST and PUT requests) or urllib.parse.parse_qsl (for GET and HEAD requests)

Great. I'm the author of multipart, so I'm okay with that, but copy&pasting all that into bottle (to maintain the zero-dependency design goal) feels wrong.

Removing multipart/form-data parser from Python standard library is unthinkable. I understand the cgi module was deprecated because CGI is itself deprecated, but the multipart encoding is not deprecated, it's still used today, hence I totally don't understand this..

PEP 594: Remove the cgi and cgitb modules, deprecated in Python 3.11.
cgi.FieldStorage can typically be replaced with urllib.parse.parse_qsl() for GET and HEAD requests, and the email.message module or multipart PyPI project for POST and PUT.
(per https://docs.python.org/3.13/whatsnew/3.13.html)

Any news maybe on this? 3.13 is now getting closer with 3.12 being out in the meantime, albeit the release plan is around half of next year.

The only viable solution is to copy&paste code from multipart into bottle. I really really do not want to do that, but I have no other idea how to maintain the single-file no-deps aspect any other way.

The only viable solution is to copy&paste code from multipart into bottle. I really really do not want to do that, but I have no other idea how to maintain the single-file no-deps aspect any other way.

Thanks for the fast reply! I see your point and absolutely agree is not "nice", but if we don't want to have dependencies, then I guess it's really the only way to go ("soon" or as Python 3.13 start getting traction).
Would you mind when you have time in case create a branch (possibly also for 0.12.x ?)  with this so we can start testing? (I'm looking at this in the scope of future Fedora 41 planning to use it)

@defnull Hi can we using the email module in the standard library to avoid the copy / pasting?

@defnull Since @aisk proposal does not work out (for large data as you underlined), what is your position on this issue ?

If the only requirement is to handle multipart and nothing else, it should not be hard to write a parser that does just that. multipart is not complex.

I wonder if the no-deps line should not be open to compromise, as it is theorical: we see with this issue we are always dependant anyway, as least from std lib.

I'm also fine with copying the lines we from the cgi library into bottle.

Here is the POC
https://github.com/valq7711/bottle/tree/multipart
Features:

It parses body while writing request.body and produces a markup, which is stored in request.body.multipart_markup
files are not tmp-files, but BytesIOProxy file-like objects, which are proxied to corresponding parts of request.body (no extra copying from request.body to tmp-files that cgi does), so it is ~30% faster
nested multipart not supported
only CRLF delimiters allowed (RFC 7578), single LFs not supported
if there is an error while parsing, it is stored in request.body.multipart_markup.error and raised if only request.POST/forms/files touched, so if body has some exotic format, one can parse it using custom tools, without croaking of undesired errors (just do not touch request.POST/forms/files)

Looks good; are you going to commit a test as well?

@simsong what do you mean? It passed the test https://github.com/valq7711/bottle/actions/runs/7160872053
Multipart test is in test_environ.py
The problem is that it is breaking changes as cgi supports nested multiparts and allows LF-delimiters (instead of CRLF)

Ah. I didn’t see that.
On Mon, Dec 11, 2023 at 1:25 AM valq7711 @.***> wrote:

@simsong https://github.com/simsong what do you mean? It passed the
test https://github.com/valq7711/bottle/actions/runs/7160872053
Multipart test is in test_environ.py
The problem is that it is breaking changes as cgi supports nested
multiparts and allows LF-delimiters (instead of CRLF)
—
Reply to this email directly, view it on GitHub
https://github.com/bottlepy/bottle/issues/1403#issuecomment-1849400028,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAMFHLGUEIPLDPCVBTOOFXLYI2RNRAVCNFSM6AAAAAARZPDW7WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNBZGQYDAMBSHA
.
You are receiving this because you were mentioned.Message ID:
@.***>

hi folks, a gentle reminder that 3.13 in alpha 4 and cgi confirmed removed!
PEP 594 (Removing dead batteries from the standard library) scheduled removals of many deprecated modules: aifc, audioop, chunk, cgi, cgitb, crypt, imghdr, mailcap, msilib, nis, nntplib, ossaudiodev, pipes, sndhdr, spwd, sunau, telnetlib, uu, xdrlib, lib2to3.

Just a ping as Python 3.13 is closer and closer...

Python 3.13b2 has landed in Fedora Rawhide breaking bottle

Hello, seems evolution to handle change in python 3.13 is stalled.
@defnull should be assumed that bottle maintenance is over?
I guess the community deserves a clear answer, some are already migrating to flask/fastAPI as we can see here.
That does not remove the fact that we are all grateful for the great work done for the last years on bottle.

For those interested, I intend on maintaining bottle under the fork here:
https://github.com/veilchen-web/veilchen

I guess the community deserves a clear answer, some are already migrating to flask/fastAPI as we can see here.

I have decided to migrate to fastAPI. It is not difficult, although some features of bottle are missing.

No the project is not dead, but not healthy either. My dilemma is as follows:

Bottle cannot depend on multipart (my own library) because it has a strict no-external-dependency rule.
We cannot just copy&paste multipart code into Bottle because that would break Python2 compatibility. Avoiding syntax errors on old python versions is not trivial, and testing those ancient versions gets harder and harder.
We could just drop Python 2 support, and that is probably the sane choice. But that would be a major breaking change and require a significant version bump. The only clean solution would be to release Bottle 1.0 and make a clean cut. But that is actually a ton of work. A lot more than 'just' adding multipart code. Documentation needs an overhaul, removing all python 2 workarounds everywhere breaks a lot of tests, and test coverage is okay, but not perfect. There will be bugs, and I simply do not have the confidence to push out a half baked 1.0 release, and not the time to make it good enough. I started working on that in #1438 but got stuck. I have a HUGE change-set that is not pushed yet, because I tried to fix everything at once for a 1.0 release. That was a mistake, obviously. Moving forward without breaking stuff is almost impossible after so many years and maybe I should just accept that a 1.0 version numbers means nothing and stuff can be fixed in Bottle 1.1 or 2.0 if needed.
A fork does not have the restrictions that I imposed on myself and this project (e.g. backwards compatibility between releases). It's way easier to make a clean cut in a fork, because no one depends on it yet and you break no applications by changing things in a backwards incompatible way. So, maybe that's also an option. The License allows it. This does not help or my own motivation to sink more work into this, though. Especially if it's a hard fork with no plans in contributing back into the original project.

tl;dr; Project is not dead, but struggling. I got stuck and need help. But before anyone can help me, I need to help myself and publish what I already have done.

@defnull  - thank you for the heartfelt reply above. I appreciate all of the work that you have done on Bottle. and it is a great piece of work. The idea of having code that runs on both Python 3.13 and Python 2.7 is admirable, but I think that it is misguided. Running a production website on Python 2.7 would be a mistake because of the ever-increasing number of unfixable security bugs. I would encourage you to drop Python 2 support, as most other projects have done over the past decade.

@defnull you should let more people be involved in the process and let people co-author commits.
I've dropped all python 2 code from Veilchen and added your multipart implementation.
I've tried a few times to get more involved with bottle but your lack of response made me create my own fork. I'd love to contribute to bottle directly though.

@defnull I totally agree with @simsong : we are in 2024 and python 2 is hardly a subject. And system stuck on python2 always the possibility to stay on current 0.12.x
Regarding versionning, my first thought is "this guy could never work at Microsoft" ;-) my second thought is, quoting a sticker seen on a laptop in a train trip "Done is better than perfect". You can always commit it under 1.0rc1 so people are aware that it's not guaranteed bug free for now. And hopefully 1.0 will follow soon.
Fork is not a good option IMHO. Bottle has a nice goodwill. It is known (not as flask, but still) and is respected for the choices your made (no dependency for instance).
So I push for option 3. Sanity matters ;-)
But there's no much time, people are moving away...

@ilrico  - thanks for your comments. I agree that it would be easier for me to stay with Bottle than to move to FastAPI. But unless new projects have a positive reason to use Bottle, it's going to be a dwindling community.
The ease of getting an app running with Bottle is its big benefit. It's not just the lack of dependencies, it is the ease of integration.

Thanks a lot for the feedback and support. I just spend the last 2 hours reviewing what I had done already, cleaning everything up and pushing to #1438. The PR now contains more than it should (e.g. a complete documentation overhaul) but it's a bit late late for being picky. That's fine.
New plan:

Merge #1438 within the next 2 weeks (during my holiday) and release Bottle 0.13 shortly after. This will be an 'emergency release' that does break existing applications running on ancient Python versions, but still supports Python >=2.7.3 and a lot of 3.x releases (testes with 3.8-3.12). That should be fine for 99% of users, and those that are affected can and should stay on 0.12.x forever. Throwing out Python 2 support completely is the next step, but too much of a change for right now.
Prepare Bottle 1.0: Drop Python 2.0 support and clean up all the workarounds. Make this a clean cut and move forward.

Thanks for your work so far and bring responsive now. Enjoy your time off, and please think about solving the human resource problem.
Currently you are the only person who is actively working on bottle with access to GitHub and pypi.
You should really involve at least one more person of trust. Maybe even apply for tidelift.

New implementation was just merged into master and I'm preparing a 0.13 release at this very moment.

Done. I'll finally close this issue now :) Thank you for all the feedback, your kind words and above all your patience. The next releases should be way easier, now that the 'big one' is out of the door.
I'll now start working on issues and PRs and see which ones can be closed or easily fixed. You can all help by commenting on issues that should be fixed in 0.13 and can be closed now. There sure is a lot of outdated stuff in the issue tracker.


fix(bookings): pass empty Array instead of nil

small note: it appears the email you have registered with your local git is not registered with github

Thanks @caspiano , did not notice that my email was not set and still not actually sure where it surfaces in github but I think I've set it up properly now.


Add tests for nested argsort and sort

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 100.00%. Comparing base (34bcf82) to head (6779252).

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #59   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           36        36
  Lines          746       746
  Branches        56        56
=========================================
  Hits           746       746

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Show Feed Networking can timeout and not restart?

We see the networking indicator spinner stop, which is interesting. I'm pretty sure I removed the ability for that to happen.

should be fixed in #1007


[BUG] Compressed Adam optimizers - RuntimeError: Bool type is not supported by dlpack

Describe the bug
Traceback:
  File "deepspeed/__init__.py", line 119, in initialize
    engine = DeepSpeedEngine(args=args,
  File "deepspeed/runtime/engine.py", line 293, in __init__
    self._configure_optimizer(optimizer, model_parameters)
  File "deepspeed/runtime/engine.py", line 1106, in _configure_optimizer
    self.optimizer = self._configure_fp16_optimizer(basic_optimizer)
  File "deepspeed/runtime/engine.py", line 1243, in _configure_fp16_optimizer
    optimizer = FP16_Optimizer(
  File "deepspeed/runtime/fp16/fused_optimizer.py", line 111, in __init__
    self.initialize_optimizer_states()
  File "deepspeed/runtime/fp16/fused_optimizer.py", line 119, in initialize_optimizer_states
    self.optimizer.step()
  File "torch/optim/optimizer.py", line 88, in wrapper
    return func(*args, **kwargs)
  File "deepspeed/runtime/fp16/onebit/zoadam.py", line 239, in step
    self.comm_backend_handle.compressed_allreduce(
  File "deepspeed/runtime/comm/nccl.py", line 72, in compressed_allreduce
    self.compression_backend.torch2cupy(buffer_m.sign_().add_(1).bool()),
  File "deepspeed/runtime/compression/cupy.py", line 15, in torch2cupy
    return cupy.fromDlpack(to_dlpack(tensor))
RuntimeError: Bool type is not supported by dlpack

When using the implementation for OneBitAdam and ZeroOneAdam, the error from the title appears when comm_backend_name is set to nccl.
This is linked to the operations:
https://github.com/microsoft/DeepSpeed/blob/208d45bbf7cbde2abfb233e7d10803553fbcf126/deepspeed/runtime/comm/nccl.py#L72
https://github.com/microsoft/DeepSpeed/blob/208d45bbf7cbde2abfb233e7d10803553fbcf126/deepspeed/runtime/comm/nccl.py#L129
And the fact that Bool is not supported by dlpack since Pytorch 1.10: see https://github.com/pytorch/pytorch/issues/67081
Google's JAX repo recommends casting to uint8 instead of bool: https://github.com/google/jax/issues/4719
Beware that, when I tried to implement the casting locally I got terrible performance with ZeroOneAdam.
Expected behavior
The ZeroOneAdam optimizer working with nccl and the latest Pytorch version.
ds_report output
DeepSpeed general environment info:
torch version .................... 1.11.0+cu115
torch cuda version ............... 11.5
torch hip version ................ None
nvcc version ..................... 11.4
deepspeed info ................... 0.6.1+208d45b, 208d45b, master
deepspeed wheel compiled w. ...... torch 1.11, cuda 11.5, hip 0.0
Launcher context
Pytorch-Lightning DeepSpeedPlugin, Python 3.8

cc @conglongli @awan-10 @samyam @jeffra

Hi @jhoareau thanks for reporting this issue. It seems like there is an ongoing discussion at dlpack about whether or not support bool type https://github.com/dmlc/dlpack/issues/75.
On the other hand, for your comment

Google's JAX repo recommends casting to uint8 instead of bool: https://github.com/google/jax/issues/4719 Beware that, when I tried to implement the casting locally I got terrible performance with ZeroOneAdam.

I assume you added the casting in DeepSpeed/deepspeed/runtime/comm/nccl.py. One of the reasons you see bad performance is that here the bool type is expected to have only 1 bit not 8 bits (just like what the name "1-bit compression" implies), so by casting to uint8 you are actually losing 8x compression ratio.
Overall to solve this problem currently the only way is to use older pytorch (on our side we verified torch 1.8 works). @awan-10 and I need to have some internal discussion about whether there are any solution to make it work without bool type, but it might take some time. We also need to see dlpack's decision.

Hi @conglongli I just added .to(dtype=torch.uint8) to the two occurences I mentioned in the original issue. I didn't dig too much into the performance though, it could have been affected by other pieces of my code and it might be worth trying it out on your side.
dlpack's issue has been open for a while, I think going for a workaround like this is best. The reason why it works in Torch up to 1.9 is because they used to do the casting internally: https://github.com/pytorch/pytorch/issues/67081#issuecomment-962210939

I see. Yes we will investigate this on our side. But please understand that because we need to test both performance and convergence and because of bandwidth limitation, this will take some time. Before that I would recommend you to use older Pytorch if possible.

Hi @jhoareau I created a PR based on your suggestion https://github.com/microsoft/DeepSpeed/pull/1894 and I did test that torch 1.10 w/ this fix is able to provide same performance benefit and same training loss curve on BERT pertaining compared with torch 1.8 w/o this fix. Could you try if this PR fix your issue?

Hi @conglongli the PR indeed fixes the issue. Thanks a lot for the quick PR turnaround!

Thanks for confirming @jhoareau , will merge the PR then.


use preferred encoding to decode environment variables

Fixes #92.

Codecov Report

Merging #95 into master will increase coverage by 0.05%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #95      +/-   ##
==========================================
+ Coverage   78.03%   78.08%   +0.05%
==========================================
  Files          50       50
  Lines        2777     2784       +7
  Branches      463      463
==========================================
+ Hits         2167     2174       +7
  Misses        588      588
  Partials       22       22

Impacted Files
Coverage Δ

colcon_core/shell/__init__.py
99.41% <100%> (+0.02%)
: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 cdafc7e...cd0115f. Read the comment docs.


[incubator/buzzfeed-sso] Allow disabling auth ingress

Add the ability to enable/disable the auth ingress. Useful if auth ingress is to be handled separately.
Signed-off-by: Damian Peckett<EMAIL_ADDRESS>Checklist

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/mychartname])

/assign @darioblanco


deduplication is not working as expected

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Create pulsar cluster with version 2.7.1
enabled topic level policy at broker config. https://pulsar.apache.org/docs/en/pulsar-admin/#topics-1
created a topic and set the deduplicationEnabled to true
Created a pulsar producer with a static name and set the timeout to 0 second https://pulsar.apache.org/docs/en/cookbooks-deduplication/
produce message with same sequenceId and consume
But still I am able to produce and consume multiple message with same sequence id.

Expected behavior
Broker must not persist two message with same service id
Screenshots
NA
Desktop (please complete the following information):
Deployed pulsar on AKS
Additional context
How can we handle producer timeout if producer always must have the timeout set to 0(means effective no timeout)

The issue had no activity for 30 days, mark with Stale label.


How to integrate programs not in Alpine package list

Haiiiii :3
I maybe wanna use some programs that are not in Alpines package list (here namely unicc maybe),
and seeing how I explicitly said I didn't want people to just include an existing projects source and add it to lengthen compilation,
wanted to ask how we wanna handle that.
My suggestion would be that we add a src/setup.sh that gets run by the docker container on setup.
It wouldn't increase build time, and still leave a good bit of freedom.
Open for other suggestions though, that's why I made this an issue instead of just deciding and pushing and having you all have to conform to my idea.

@zxcv05 since you're the only other person here, you gotta answer

Hello! A setup script would probably be the easiest solution, we could add it to the end of the Dockerfile and it'll install any other programs or setup any etc files for example if we ever need that. I'll probably make a PR for it later if you haven't already done this :)


Parameterized CustomComponent

We have dozens of lists in our application where we plan to use this table, actually we will be using a wrapper component that encapsulates this table. But there are 2 scenarios that we are struggling with:
1 - Adding a column that shows a checkbox for row selection with the option to select/deselect all rows with a checkbox in the column header. Is it possible to create a custom component to allow this?
2 - (And the most important one) All of our tables have an options column, that contains a drop-down menu with actions specific to the table particular context. Our ideia would be to have a generic customControl that would render the options menu and where the actions would be configurable. The problem is that we dont see a way to pass configuration to a GtCustomControl since we cant provide an instance of the component, only the type. Is there a way to do this?
One last thing. When we dont have any data and we pass an empty array the table shows the message 'Loading...'. What do we need to pass so that the 'No data' message is rendered instead?

Hi, and sorry for the late reply...

Regarding your first question I think it's a pretty common use case so we should definitely add an example on how to achieve it and perhaps make it even easier. There are multiple ways to do it, one and perhaps the simplest would probably be to just apply a style to the row when it's selected, making it look like a select box or perhaps even render a real checkbox like this. I have to admit that it's a bit hacky and it doesn't solve the checkbox in the table header. But I've create a separate issue for this  #96 so I'll see if I can't come up with something smarter.

Have you looked at this example? It might not be super trivial, but you should be able to accomplish what you want using a service that you inject in your custom component. Since you're able to access the row you could also pass custom properties for the table or each row to the service. If the table needs to be updated/refreshed it should also subscribe to the same service.

Regarding the loading message, I think it might be a bug so I'll look into it straight away. If an empty array is passed it should display no data but I just tried it myself and I also get the loading message so I think we've introduced a bug somewhere. I've created a separate issue here #95

Hi, any updates regarding this?
Thanks

Hi @rfrancisco, sorry I haven't had time to look at #96 (the checkboxes) yet but it's on my list:)
Regarding your second question, have you tried the approach I mentioned in my earlier reply? If not another pretty easy option would be to make use of the inline edit feature and subscribe to the 'gt-row-updated' event and get the desired action from the event. It's not really meant to be used for this but it would work and once the action is applied the value could be reset too.
The last issue with the loading text should have been resolved too:)

Hi @hjalmers,
Looking at the example you pointed out i was able to implement the configurable dropdown menu.
Thanks for all the help.


Training process starts twice

Hi @amn41
Just look at these lines
https://github.com/golastmile/rasa_nlu/blob/master/src/server.py#L212-L213
Is it a bug?

Looks like a merge mistake.

yep it does! tom could you make a PR?


FRO 218 faq updates

Please note - test failing due to document page, this is fixed in previous PR: https://github.com/climatepolicyradar/navigator-frontend/pull/51


Cover image is being reloaded every time create() is called

What do you think about caching the cover image?
I'm loading images from other server and it takes too much time to Create() terminate. When changing the music it's ok, since there is new data, but it's pretty dumb to re-download the image everytime user play/pause music.
Maybe creating a method 'tooglePlay()', which would recreate the notification using the same info just toggling the isPlaying would be a better approach.
I want to create a pull request for data, but I don't know when I'll have available time. Maybe this Sunday I'll do that.
Let me know what you think about so we can work on it.

Hi
Both are great ideas !
About the tooglePlay fonction, I wanted to add it last week (and do some code refractoring) but I got some issues with my Cordova Cli...
You are welcome to create à pull request if you have time to do this. If not, I 'll do it as soon as m'y Cordova gets better ;)

I added the toggle play/pause function: 3d70108d90

Thanks @homerours, will check it today.

@homerours
The UpdateIsPlaying method was calling createbuilder() again, which would download the cover and create the whole notification again.
I've created a pull request to fix it, please check it out.


storage/cursor: add bound and linear check

This pr contains two improvements:

When doing heavy scan, the lock cursor will just scan forward(or backward), so we can save some unnecessary backward (or forward) move by checking if current cursor is doing linear seek;
Cursor has a consistent view to the underlying data, so once failed to seek a key, any key larger than the key can't be seek too, so we can add a bound check.

@ngaut @siddontang @disksing @zhangjinpeng1987 PTAL

Ci fails due to https://github.com/rust-lang/rust/issues/36850.

@hhkbp2 PTAL

LGTM

PTAL

Rest LGTM


Sync content from MS docs

As title.

Closing this PR in favor of https://github.com/microsoft/spring-cloud-azure/pull/900


Add DLL Search Paths for Windows with Python 3.8+

Aims to Fix #457

Based on some further reading here I found that conda installs most DLLs to CONDA_PREFIX\\Library\\bin and adding this DLL search path should hopefully suffice. In conda, when we use the activate command, adding of the DLL search directory is taken care off. However, in PythonCall, we are using MicroMamba, which does not handle this by default. This can be observed by issues: https://github.com/mamba-org/mamba/issues/2492,  https://github.com/mamba-org/mamba/issues/2839.
For now we could have this fix and delete it when micromamba fixes it upstream.

Looks good to me, thanks for implementing the suggestions. Now this will just need to wait for @cjdoris input :)
I should mention I am not that knowledgeable about Windows, so take my review with a grain of salt. It would be great if there was some way to unit-test the issue that this fix would solve (i.e., broken before this change; fixed after it), but I suppose it might not be possible.

I could surely write a Julia script based test for this.

Closing as per this comment https://github.com/JuliaPy/PythonCall.jl/issues/457#issuecomment-1951327848.


NumeralFieldFormatter move cursor wrong.

Hi, thanks for the addon it looks very nice. I'm using the NumeralFieldFormatter.
new NumeralFieldFormatter(".", ",", 2).extend(txtMoneda);
If you type a number and then move the cursor to a previous position and start typing  new numbers, NumeralFieldFormatter sometimes moves the cursor to the left of the new number typed, you can see this behavior also in Custom numeral formatting  of the demo online.
You can reproduce this issue typing a number, for example 12345678,9,  move the cursor between 7 and 8, then start typing 12345...  you will see most of the time the cursor moves to the right when a new number is typed (as it should be) but sometimes it moves to the left.
I've checked the Numeral formatting on the  Cleave.js demo and this issue never happens.
Do you know any way to avoid this issue?
Thanks in advance,
Regards.

Thanks for the report. I could first check if updating Cleave.js helps.

With a quick test updating Cleave.js from 1.1 to 1.4 seems to help. I'll release an updated add-on.

Ok, that sounds good!. Do you know more or less when are you going to update that? Because we've a release to a costumer coming soon and if this issue is not updated we would have to find another solution.
Thanks you very much!

Version 2.1 available in Maven.

Demo updated to 2.1 also

Please re-open if issue persists.

The issue seems to me solved, thanks you very much!
Regards


Add a method to MicrocksContainer class to get invocations count of a service SOAP

Reason/Context
Hello,
We use microcks-testcontainers-java to mock SOAP web services, importing SoapUI projects.
It works well, but we lack of methods on MicrocksContainer class that could return the invocations count of a service SOAP.
We saw this data is available in admin console, and is accessible via Metrics resource in REST API.
So we would like to have this data easily available, we think it could be benefit for many.
And why do we need to check this invocation count ?
To be sure the mock as been invoked by the application we are covering with integration tests.
Indeed, sometimes we have SOAP WS that just return empty body. For instance : WS that just does an update.
Without having this invocations count, we are not able to know whether our application had the correct behaviour or not.
In summary : it would be like what we do when we call the "verify" method of "Mockito".
Description
Add methods to MicrocksContainer class that could return the invocations count of a service SOAP.
Implementation ideas
This is a draft, using project microcks-java-client to have MetricsApi class :
    private static @NotNull BigDecimal getServiceInvocationsCount(String serviceName,
                                                        String serviceVersion,
                                                        @Nullable Date invocationDate) {
        ApiClient apiClient = new ApiClient();
        apiClient.updateBaseUri(getHttpEndpoint() + "/api");

        MetricsApi metricsApi = new MetricsApi(apiClient);
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd");
        final String stringifiedDate = (invocationDate != null) ? simpleDateFormat.format(invocationDate) : null;

        BigDecimal count = null;

        try {
            DailyInvocationStatistic dailyInvocationStatistic =
                    metricsApi.getInvocationStatsByService(serviceName, serviceVersion, stringifiedDate);

            count = dailyInvocationStatistic.getDailyCount();
        } catch (ApiException e) {
            throw new RuntimeException(e); // TODO Better exception handling
        }

        return count;
    }

We have already done the code and would like to create branch to push commit but it seems I am not allow to do it.
@lbroudoux (or someone else) : could you please, give me the ability to push a commit on a new branch to submit a PR ?
We are opened to any suggestion, and we give thanks to the community for what you've done so far.

This looks super cool! Thanks for the detailed explanation, I think it makes sense to add this kind of feature.
I'm surprised you're not allowed to create a PR on this one. Some other people have done it in the past. You can directly target the main branch as the base of this PR from your cloned repository branch.
Let me know,

Thank you for your feedback @lbroudoux .
I tried by many ways with many computers and from different networks, it seems I have no write access to projects in microcks group. (I have tried to push a new branch to this project and to 'microcks' project, the same behaviour occurs.)

May you help me to have write access to this project, please ?

This looks like normal behavior: you don't need to have write access to the repo for one-shot contribution. Have you forked the repository as advised?
The recommended process is as follows:

You fork the repository to your organization or personal account,
You clone this fork on your machine,
You create a branch starting from main to isolate the changes related to this feature,
You commit your changes and push the branch upstream on GitHub,
You finally create a PR to ask the microcks organization to pull the changes from your branch and integrate them into our main branch.

So that's actually us that reads from your fork and propagates those changes into our repo.
Let me know if it helps,

ok that's clear, thank you and please excuse me for the inconvenience, you should have news from me in a few days.

Awesome!
I was thinking: that integrating the Java client may be inconvenient for 2 different reasons:

It may bring a lot of dependencies (I don't have checked this but it would be worth the pain to do so)
It may bring issues as (if I remember correctly), the Java client is compiled with a Java 17 target and Testcontainers Java is compiled with a Java 8 target (this is a recommendation by the Testscontainers team).

Let us know if you have any clue or hints on those 2 points. Maybe, it would be easier to bypass the client and directly use low-level classes (getting the statistics might be a simple GET request ...)

You must be right, I was wondering if I should propose you two PRs : one using the java client and another one not using it.
One issue we encounter for now is that the generated classes of the java client are not part of the generated microcks-testcontainers-java jar.
It may not worth to use it, but it would have been interesting because making the code more concise.

Hi @pierrechristinimsa,
I was wondering if you made some progress on this issue?

Hi @pierrechristinimsa,
I was wondering if you made some progress on this issue and still want to contribute it?
I think I'll jump on this if no answer as I'd like to ship the 0.2.11this week.

Hello @lbroudoux and @f-lopes,
I had some priority changes last month and had no time to spend on it.
Please excuse me for not giving you news about this.
I should have time for this at the beginning of the next week, unless you really would like to have this feature available for 0.2.11 version, don't wait for me.

Hi @pierrechristinimsa
Thanks for your message and no worries - I know we all have loaded planning 😉
It would be awesome if you found time to push this next week. Then we can target releasing it early next year!
Looking forward to getting news!

Now available thanks to @pierrechristinimsa !


[MARXAN-81] return object vs singleton in single responses

Overview
Fixes https://vizzuality.atlassian.net/browse/MARXAN-81 and updates all current controllers (GET :id, POST, PATCH) to return the correct data shape.
Designs
N/A
Testing instructions
See acceptance tests in issue, but basically the e2e should do the work - they are updated to check what the acceptance tests ask.
docker-compose exec api yarn test:e2e test

Feature relevant tickets
https://vizzuality.atlassian.net/browse/MARXAN-81

Checklist before submitting

[x] Meaningful commits and code rebased on develop.
[ ] If this PR adds feature that should be tested for regressions when
deploying to staging/production, please add brief testing instructions
to the deploy checklist (docs/deployment-checklist.md)
[x] Update CHANGELOG file

Same issue as in https://github.com/Vizzuality/marxan-cloud/pull/49#issuecomment-781919804


put all datasets in hugging face datasets

wouldn't that be easier ?
the current download procedure is so cumbersome, crazy

So my current best idea on this is to

Run all current data loader
save the result in webdataset
save that to huggingface
add a generic huggingface data loader and offer that option for all supported dataset

Would make it possible to make this whole repo completely automated without having to do too much work on building automated downloader

I just added support for automatic download in the remaining datasets, but I think that would be great in any case, as some sources are slow to download from and some links might become dead or unusable (e.g. for onedrive, I had to find a way to direct download based on the original url, but it may not work in the future).

awesome!
Yes I think it's good to have both
The slow method that gets things from the original source
and the fast method that is basically a cache of the slow method
Didn't have time to try this yet, but I'll get around to it. I think this method of using the existing data loader to produce standardized (and minimal) datasets should work well

#52 is the same

done


Need to add arm64/aarch64 linux builds

As the Arm architecture becomes more prevalent, there is a need to run the binaries on Linux currently, there are only amd64 builds available

/reopen

+1 to this please

This issue is still outstanding.

/remove-lifecycle rotten

Ahh, nice, I see it was added back in https://github.com/openshift/rosa/releases/tag/v1.2.27.
If you want to keep this open for the openshift downloads page that's fine, it would be a better experience for customers to have a unified place to download their tooling, but for my team's and my needs I'm satisfied with the github releases.

+1 @iamkirkbater I reached this issue, looking for a arm build to run from my M1 Mac. It would be nice to update the downloads page as well, for better customer UX.


mpl2: hardmacro placement refactoring

Small steps to make the hierarchical macro placement stage more friendly.
Some final preparation for #4544

Secure-CI for this showed two failures which seem to be on master as well:
 --> asap7/mock-array:
[ERROR CI-0000] No error message found. Here are the last 10 lines of the log.
41# 0x00007F1DFC3E7F1E in /lib64/[libtcl8.5.so](http://libtcl8.5.so/)
          42# Tcl_EvalEx in /lib64/[libtcl8.5.so](http://libtcl8.5.so/)
          43# Tcl_Eval in /lib64/[libtcl8.5.so](http://libtcl8.5.so/)
          44# sta::sourceTclFile(char const*, bool, bool, Tcl_Interp*) in /tmp/workspace/rivate_secure-mpl2_refactor_hard/tools/install/OpenROAD/bin/openroad
          45# ord::tclAppInit(Tcl_Interp*) in /tmp/workspace/rivate_secure-mpl2_refactor_hard/tools/install/OpenROAD/bin/openroad
          46# Tcl_Main in /lib64/[libtcl8.5.so](http://libtcl8.5.so/)
          47# main in /tmp/workspace/rivate_secure-mpl2_refactor_hard/tools/install/OpenROAD/bin/openroad
          48# __libc_start_main in /lib64/libc.so.6
          49# 0x0000000000D7AAF7 in /tmp/workspace/rivate_secure-mpl2_refactor_hard/tools/install/OpenROAD/bin/openroad
          Elapsed time: 0:03.85[h:]min:sec. CPU time: user 3.71 sys 0.13 (99%). Peak memory: 562420KB.

--> gf180 aes-hybrid (base)
  Flow reached last stage.
  Found 42 errors in the logs.
      [ERROR] LEF Cell 'gf180mcu_fd_sc_mcu7t5v0__nor2_2' has no matching GDS/OAS cell. Cell will be empty.
      [ERROR] LEF Cell 'gf180mcu_fd_sc_mcu7t5v0__xnor2_2' has no matching GDS/OAS cell. Cell will be empty.
      [... more LEF problems ...]

This seems to have gotten a bit lost.  This has a conflict to resolve - is it otherwise ready?

@maliberty I was ready, I'll double check due to the later changes..

There is a conflict to resolve

Ready for review


EM deployment update is making rollout revision history to miss the initial config

The Current EM functionality is updating the deployment config and replacing it with new config, in this process the revision history of old deployment is lost and makes it impossible to rollback (unless we save the old config)

Test run:
bharathappali@bharathappali-T590:~/Documents/workstation/git-clones/autotune-demo$ kubectl rollout history deployments/galaxies-sample
deployment.apps/galaxies-sample
REVISION  CHANGE-CAUSE
2         <none>
3         <none>
4         <none>
5         <none>

We can see that the REVISION 1 original deployment is getting lost as we replace it with new config.

Two options to solve this problem:

Make the deployment update as a rolling update instead of deployment replace
Save the older deployment config in ETD and replace the updated one with older one at the end


Add configuration for logger breadcrumbs

Might make sense to make something like config.instruments = ['logger', 'activesupport']

This is implemented in #1016


⚠ ClamAV has degraded performance

In 7f51448, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 274 ms

Resolved: ClamAV performance has improved in 50f9bc4.


Add additional stories to snapshot testing

Add the following to DOM snapshots, image snapshots, and a11y testing:

ProgressRing from '../components/progress-ring/docs/storybook-stories';
RadioGroup from '../components/radio-group/docs/storybook-stories';
RadioButtonGroup from '../components/radio-button-group/docs/storybook-stories';
Search from '../components/input/docs/search/storybook-stories';
Slider from '../components/slider/docs/storybook-stories';
SplitView from '../components/split-view/docs/storybook-stories';
Tabs from '../components/tabs/docs/storybook-stories';
Textarea from '../components/textarea/docs/storybook-stories';
Toast from '../components/toast/docs/storybook-stories';
Tooltip from '../components/tooltip/docs/storybook-stories';

Hi @interactivellama, I am interested in working on this. Can you guide me through the specificities? If these are to be similar to other snapshots in these directories?

@pradumangoyal Sorry I didn't mention it but I have been working on it for some time now.I will make a pr related to this shortly.

@interactivellama I added the ProgressRing to DOM snapshot and make chanes in it which resolves the problem of DOC site examples which were showing an error earlier. Should I make pr for ProgressRing as I  think you can review it and then I can add other components?

That's sounds like a good plan @devgopesh.

Fixed by #1987 and #2097.


DateInRegion.localDate returns incorrect day for some regions

Hi.
let date = DateInRegion(
                        year: 2012, month: 1, day: 31,
                        hour: 0, minute: 0, second: 0,
                        region: Region(tzType: TimeZoneNames.Europe.Kaliningrad))

let day = date.localDate!.day // why does it return 30???

The description for date seems to be ok:
"UTC: 2012-01-30 21:00:00 +0000 (LOCAL: Optional("2012-01-31T00:00:00+0300") | Europe/Kaliningrad | gregorian | (en_US))"

It should represent the day number in the region mentioned. You have set it to midnight on the 31st in Kaliningrad. If your device local time zone deviates from that, e.g. in London, it could be the 30th.
Which version of the library do you use?

I use pod version 2.0.2. I've set Kaliningrad timezone on my pc and restarted the simulator to have the same timezone in it. I guess the problem is because localDate doesn't consider DST.
To reproduce the issue please set your device's timezone to Kaliningrad. Download the attached archive and look at the tests test_dateinregion_localdate_date_considering_dst() and test_dateinregion_localdate_date()
SwiftDate-master.zip

It would be great if you release the version with the PR https://github.com/malcommac/SwiftDate/pull/125 before the localDate disappear.

Hmmm it does not make sense at all to change an absolute time object like NSDate in order to represent it in a different time zone whatsoever.
In the new develop branch localDate and UTCDate are canned. They create confusion as NSDate does not have a time zone reference. As such it is not wise to suggest that a date is "local" or "UTC" and to change it by changing the absolute time. In fact NSDate applies to all time zones, it is just represented differently depending on date region.
I included these tests that evaluate to true:
let utc = DateRegion(tzName: TimeZones.GMT)

it("should have been initialised with the Kaliningrad time zone and calendar in winter") {
    let date = NSDate(year: 2015, month: 12, day: 25, hour: 2, calType: .Gregorian, tzName: TimeZones.Europe.Kaliningrad)!
    expect(date.toString(DateFormat.ISO8601, inRegion: utc)) == "2015-12-25T00:00:00+0000"
}

it("should have been initialised with the Kaliningrad time zone and calendar in summer") {
    let date = NSDate(year: 2015, month: 6, day: 25, hour: 2, calType: .Gregorian, tzName: TimeZones.Europe.Kaliningrad)!
    expect(date.toString(DateFormat.ISO8601, inRegion: utc)) == "2015-06-25T00:00:00+0000"
}

@malcommac can you evaluate #125? Is it worthwhile to implement a hotfix?

Yeah. I understand that NSDate applies to all time zones. I use localDate because it is easy to get components in a specific time zone and to perform calculations on the dates in specific time zone.

localDate is canned in v3.0.0.


Thoughts on typed data?

I love the memory-efficient reads/writes of dndb but also love the "typescript by default" nature of Deno. Would you be interested in some help implementing something that looks like:
const db = new Datastore<{ name: string, age: number }>({ filename:"./database.db", autoload: true })

I'm definitely interested, I'm currently in my way to understand Typescript enough to stop putting anys everywhere haha. I am currently working with a friend on improving storage performance and maybe I am letting this things out the table, but a help never hurts, thanks dude! Excuse my english by the way!

Ok! I have a fork and will start poking around at it this week. Closing this for now.


block some xrefs for some feature types

Peptide Atlas
ModBase
UniPRot
DIOPT
(i.e any protein only resource) links should not appear for ncRNAs
We might need to extend the config file format?

Punt if not quick, as not critical

That should be quick.

We might need to extend the config file format?

Yep, we just need to add an extra setting that can restrict the feature type for each xref.

I've hidden those four external references for ncRNAs by extending the external_gene_references configuration.