Errors during pip install

I'm exactly following the installation instructions found on the BIG-Bench GitHub page. I am running on Google Colab Pro.
The page says:

Installation
First, clone the repository and set up the environment.

# When creating a new task, replace this with your forked repository (see below)
git clone https://github.com/google/BIG-bench.git
cd BIG-bench
python setup.py sdist
pip install -e .

When I run the pip install -e . command, the requirements seem to run well until I get some errors:
Requirement already satisfied: oauthlib>=3.0.0 in /usr/local/lib/python3.7/dist-packages (from requests-oauthlib>=0.7.0->google-auth-oauthlib<0.5,>=0.4.1->tensorboard<3,>=2.3.0->tensorflow==2.3.1->BIG-bench==0.0.1) (3.1.0)
Requirement already satisfied: pyasn1>=0.1.3 in /usr/local/lib/python3.7/dist-packages (from rsa<5,>=3.1.4; python_version >= "3.6"->google-auth<2,>=1.6.3->tensorboard<3,>=2.3.0->tensorflow==2.3.1->BIG-bench==0.0.1) (0.4.8)
Building wheels for collected packages: jax, bleurt
  Building wheel for jax (setup.py) ... done
  Created wheel for jax: filename=jax-0.2.7-cp37-none-any.whl size=606841 sha256=621ca3d3e428a7905b5653d6b9b3b65764751b5e8910f330b7ffdd44485e0c23
  Stored in directory: /root/.cache/pip/wheels/44/59/d4/2624b510d05417e73d44c4d56ac5ec0f7bee57d42244c87813
  Building wheel for bleurt (setup.py) ... done
  Created wheel for bleurt: filename=BLEURT-0.0.2-cp37-none-any.whl size=16454025 sha256=7d2eb7b74253ce0ae82a2da746dc51014b9d308071a37ff3fa98ff2339156e91
  Stored in directory: /tmp/pip-ephem-wheel-cache-r88yu57s/wheels/42/f8/90/ff0287dc63050ed762c1e76b09010f03f5400d20ecb039cb08
Successfully built jax bleurt
ERROR: tensorflow 2.3.1 has requirement numpy<1.19.0,>=1.16.0, but you'll have numpy 1.19.5 which is incompatible.
ERROR: datascience 0.10.6 has requirement folium==0.2.1, but you'll have folium 0.8.3 which is incompatible.
ERROR: black 21.5b2 has requirement regex>=2020.1.8, but you'll have regex 2019.12.20 which is incompatible.**
Installing collected packages: absl-py, jax, h5py, gast, tensorflow-estimator, tensorflow, tensorflow-text, threadpoolctl, scikit-learn, portalocker, sacrebleu, sentencepiece, tokenizers, sacremoses, transformers, tfds-nightly, mesh-tensorflow, rouge-score, t5, pluggy, pytest, mypy-extensions, typed-ast, pathspec, black, requests-unixsocket, huggingface-hub, xxhash, fsspec, datasets, tf-slim, bleurt, BIG-bench

Those three errors seem unusual.
The pip command completes successfully, though. I see at the end:
Successfully installed BIG-bench absl-py-0.10.0 black-21.5b2 bleurt-0.0.2 datasets-1.6.2 fsspec-2021.5.0 gast-0.3.3 h5py-2.10.0 huggingface-hub-0.0.9 jax-0.2.7 mesh-tensorflow-0.1.19 mypy-extensions-0.4.3 pathspec-0.8.1 pluggy-0.13.1 portalocker-2.0.0 pytest-5.3.5 requests-unixsocket-0.2.0 rouge-score-0.0.4 sacrebleu-1.5.1 sacremoses-0.0.45 scikit-learn-0.23.2 sentencepiece-0.1.95 t5-0.7.1 tensorflow-2.3.1 tensorflow-estimator-2.3.0 tensorflow-text-2.3.0 tf-slim-1.1.0 tfds-nightly-4.3.0.dev202106030106 threadpoolctl-2.1.0 tokenizers-0.9.4 transformers-4.2.2 typed-ast-1.4.3 xxhash-2.0.2

That is strange! I suggest trying to relax some of the frozen versions
(e.g. change tensorflow==2.3.1 to tensorflow in requirements.txt) and
trying the installation again.
On Thu, Jun 3, 2021 at 11:02 AM githubrandomuser2017 <
@.***> wrote:

I'm exactly following the installation instructions found on the BIG-Bench
GitHub page https://github.com/google/BIG-Bench. I am running on Google
Colab Pro.
The page says:
Installation
First, clone the repository and set up the environment.
When creating a new task, replace this with your forked repository (see below)
git clone https://github.com/google/BIG-bench.git
cd BIG-bench
python setup.py sdist
pip install -e .
When I run the pip install -e . command, the requirements seem to run
well until I get some errors:
Requirement already satisfied: oauthlib>=3.0.0 in /usr/local/lib/python3.7/dist-packages (from requests-oauthlib>=0.7.0->google-auth-oauthlib<0.5,>=0.4.1->tensorboard<3,>=2.3.0->tensorflow==2.3.1->BIG-bench==0.0.1) (3.1.0)
Requirement already satisfied: pyasn1>=0.1.3 in /usr/local/lib/python3.7/dist-packages (from rsa<5,>=3.1.4; python_version >= "3.6"->google-auth<2,>=1.6.3->tensorboard<3,>=2.3.0->tensorflow==2.3.1->BIG-bench==0.0.1) (0.4.8)
Building wheels for collected packages: jax, bleurt
Building wheel for jax (setup.py) ... done
Created wheel for jax: filename=jax-0.2.7-cp37-none-any.whl size=606841 sha256=621ca3d3e428a7905b5653d6b9b3b65764751b5e8910f330b7ffdd44485e0c23
Stored in directory: /root/.cache/pip/wheels/44/59/d4/2624b510d05417e73d44c4d56ac5ec0f7bee57d42244c87813
Building wheel for bleurt (setup.py) ... done
Created wheel for bleurt: filename=BLEURT-0.0.2-cp37-none-any.whl size=16454025 sha256=7d2eb7b74253ce0ae82a2da746dc51014b9d308071a37ff3fa98ff2339156e91
Stored in directory: /tmp/pip-ephem-wheel-cache-r88yu57s/wheels/42/f8/90/ff0287dc63050ed762c1e76b09010f03f5400d20ecb039cb08
Successfully built jax bleurt
ERROR: tensorflow 2.3.1 has requirement numpy<1.19.0,>=1.16.0, but you'll have numpy 1.19.5 which is incompatible.
ERROR: datascience 0.10.6 has requirement folium==0.2.1, but you'll have folium 0.8.3 which is incompatible.
ERROR: black 21.5b2 has requirement regex>=2020.1.8, but you'll have regex 2019.12.20 which is incompatible.**
Installing collected packages: absl-py, jax, h5py, gast, tensorflow-estimator, tensorflow, tensorflow-text, threadpoolctl, scikit-learn, portalocker, sacrebleu, sentencepiece, tokenizers, sacremoses, transformers, tfds-nightly, mesh-tensorflow, rouge-score, t5, pluggy, pytest, mypy-extensions, typed-ast, pathspec, black, requests-unixsocket, huggingface-hub, xxhash, fsspec, datasets, tf-slim, bleurt, BIG-bench
Those three errors seem unusual.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/google/BIG-bench/issues/434, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADGRNZPMZZSNHMPCIXHWMTTQ67TPANCNFSM46BH6URA
.

The pip installation runs to completion even with the errors, but nonetheless, the errors are concerning.


Need to reassign stubbed component with findComponent after update to 2.0.0-rc.10

I am currently having the issue, that some of my tests fail after updating from 2.0.0-rc.9 to 2.0.0-rc.10. When manually stubbing a component then I need to reassign the wrapper with findComponent to receive the correct values after making any update (e.g. emits or setProps).
After some checking I created a code snippet to test with. If you run the snippet with 2.0.0-rc.9 the tests passes. If running with 2.0.0-rc.10 the test "should test with stub" fails. In comparision with "should test with stub and reassign" there is only the reassign child = wrapper.findComponent({ name: 'ChildComponent' }) missing which is not necessary when testing without manually stub or with 2.0.0-rc.9.
import { defineComponent } from 'vue'
import { mount } from '@vue/test-utils'

const ChildComponent = defineComponent({
  name: 'ChildComponent',
  props: {
    modelValue: {
      type: String,
      required: true
    }
  },
  template: '<span>{{ modelValue }}</span>'
})

const MainComponent = defineComponent({
  components: { ChildComponent },
  props: {
    modelValue: {
      type: String,
      required: true
    }
  },
  template: '<ChildComponent v-model="modelValue" />'
})

describe('test stub', () => {
  it('should test without stub', async () => {
    const wrapper = mount(MainComponent, {
      props: { modelValue: '1' }
    })

    const child = wrapper.findComponent({ name: 'ChildComponent' })
    expect(child.props('modelValue')).toBe('1')

    await wrapper.setProps({ modelValue: '2' })

    expect(child.props('modelValue')).toBe('2')
  })

  /**
   * Test stub component with reassign wrapper with findComponent
   * Works with rc.9 and rc.10
   */
  it('should test with stub and reassign', async () => {
    const wrapper = mount(MainComponent, {
      props: { modelValue: '1' },
      global: {
        stubs: {
          ChildComponent
        }
      }
    })

    let child = wrapper.findComponent({ name: 'ChildComponent' })
    expect(child.props('modelValue')).toBe('1')

    await wrapper.setProps({ modelValue: '2' })

    child = wrapper.findComponent({ name: 'ChildComponent' })
    expect(child.props('modelValue')).toBe('2')
  })

  /**
   * Test stub component without reassign wrapper with findComponent
   * Works with rc.9. Fails with rc.10
   */
  it('should test with stub', async () => {
    const wrapper = mount(MainComponent, {
      props: { modelValue: '1' },
      global: {
        stubs: {
          ChildComponent
        }
      }
    })

    const child = wrapper.findComponent({ name: 'ChildComponent' })
    expect(child.props('modelValue')).toBe('1')

    await wrapper.setProps({ modelValue: '2' })

    expect(child.props('modelValue')).toBe('2')
  })
})

Hi @freakzlike thanks for the detailed report
rc.10 included a lot of work around stubs from @xanf
@xanf was this intended or do you think it is a regression?

If you pass ChildComponent to components instead of stubs does it work?

@freakzlike Thank you for catching that
@lmiller1990 @cexbrayat This was unintended regression, I've created #813 to fix that and explained root cause of the issue


[QUESTION] How to generate an API gateway from /openapi.json?

Description
I wonder if there's another project that can consume an openapi specification (that FastAPI :1st_place_medal: generates for us) and creates an API Proxy Gateway to pass requests to our my unsecured FastAPI microservice.
We currently do this manually, and it's a pain to me to see my framework generating this for me already and having to write code to match that with our JavaScript proxy.
Additional context
I got a microservice in FastAPI, we use Insomnia, and I see they are able to import a openapi.json file, that microservice gets requests from a proxy microservice that's more exposed online.

Checkout https://github.com/swagger-api/swagger-codegen

Thanks for the help @JakeSummers !
@igorgue you might also want to check the Security docs, to add security (authentication, authorization) to your API: https://fastapi.tiangolo.com/tutorial/security/

Thank you guys!!!


PR-welcome badge should not have link

Do you think it's a good idea to replace this with link to PR page or create a CONTRIBUTING.md to repo ?

Good idea.
Maybe link to https://github.com/kpman/newsroom#contributing is enough.


artifact-engine: unhandled rejection Error: certificate has expired

We've recently started getting failures in our release pipeline when using the External TFS Build artifact type to download the build artifiacts.

Agent job
7 error(s), 0 warning(s)
Error: 	artifact-engine: unhandled rejection Error: certificate has expired
Error: 	Unhandled: certificate has expired
Error: 	Error: certificate has expired at Error (native) at TLSSocket. (_tls_wrap.js:1092:38) at emitNone (events.js:86:13) at TLSSocket.emit (events.js:185:7) at TLSSocket._finishInit (_tls_wrap.js:609:8) at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:439:38)
Error: 	Unhandled: certificate has expired
Error: 	Error: certificate has expired at Error (native) at TLSSocket. (_tls_wrap.js:1092:38) at emitNone (events.js:86:13) at TLSSocket.emit (events.js:185:7) at TLSSocket._finishInit (_tls_wrap.js:609:8) at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:439:38)
Error: 	artifact-engine: unhandled exception Error: certificate has expired
Error: 	Exit code 7 returned from process: file name 'C:\agents\3.232.0\externals\node\bin\node.exe', arguments '"D:\a_tasks\DownloadExternalBuildArtifacts_b099689b-039e-4450-8658-c72e3895dd3f\15.232.0\download.js"'.

It was still working on Saturday 9 December, but the last two days it just fails.
I've checked the token that we use for the service connection and it has not expired. The SSL certificate for our TFS server (TFS 2018 U2) has not expired either.
According to the Installed Extensions page in our Azure DevOps organization, the TFS artifacts for Release Management was updated to version 15.232.0 this past Monday (10 December).
What Am I missing? Which certificate has expired?

Hi @Werner-Calian , can you enable the debug logs (system.debug =true) and send us the failure and success logs to<EMAIL_ADDRESS>

Hi @v-mohithgc,
I've emailed the logs as requested. Thank you for helping.

Hi @v-mohithgc,
I've emailed the logs as requested. Thank you for helping.

Hi, I haven't received any mail yet, can you please cross check?
id<EMAIL_ADDRESS>

It definitely sent. No bounce-back email. I checked the address too. I zipped the logs together. Does your mail server perhaps block zip files?

It definitely sent. No bounce-back email. I checked the address too. I zipped the logs together. Does your mail server perhaps block zip files?

I received it just now, thanks.
can you send previous success run logs as well?

Sent. I don't have previous run logs for that specific pipeline. I sent logs for another that is a copy of it.
We are experiencing the same issue on the deployment pipelines of another of our Azure DevOps organization (busy migrating Azure tenants).

@Werner-Calian I have reverted the recent changes and it's shipped with version 15.232.1, which should run fine.
can you please run and confirm back?

Will do. Just waiting for the extension to update on our DevOps org. Still listed as 15.232.1 on the market place

Will do. Just waiting for the extension to update on our DevOps org. Still listed as 15.232.1 on the market place

Sure, but I guess the once you run the pipeline, it will auto pick the latest version directly. No need to change anything manually from org settings

Thanks for confirming.


Pump Stops Working After Relogging

Describe the Bug
Whenever I relog onto my world or server the mechanical pump stops working and the only way to fix it is to break the tank and place it again
Reproduction Steps
1.Place Tank
2.Attach and Power mechanical pump
3.Log out and Relog back in
...
Expected Result
Pump works when relogging
Screenshots and Videos
No response
Crash Report or Log
No response
Operating System
Windows 10
Mod Version
0.5.0
Minecraft Version
1.18.2
Other Mods
No response
Additional Context
No response

Having the same issue
relog  tank stops getting water till i break the tank thats connected to the pipe/pump  then starts filling right back up


Add _GO_INJECT_{SCRIPT,MODULE}_PATH, update lib/testing/stubbing to use them

Closes #118. Allows for better stubbing by providing for a controlled way to inject fake command and module scripts, even core framework modules, without having to move existing files.

Coverage increased (+0.006%) to 95.313% when pulling 7d150ae30f0bf3a6ea3f2dc188419d99f2a06111 on path-injection into f2b549ba7d22475136383665d89ca816768a77c7 on master.


Fix max_memory init/passing

What does this PR do?
There is a regression between 1.1.1 and 1.2.0 where max_memory is not correctly passed to those all the sub-methods that needs it, causing code such below to fail since max_memory is used before init.
(https://github.com/CSY-ModelCloud/accelerate/blob/8bdde005e8cc09db4a3c1d34a6eb1baf59d34335/src/accelerate/utils/modeling.py#L1416)
        device = devices[current_device]
       # max_memory dict used before init <----------
        current_max_size = max_memory[device] if device != "disk" else None

Partial-Fixes https://github.com/huggingface/accelerate/issues/3292
Before submitting

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[x ] Did you read the contributor guideline,
Pull Request section?
[ ] Was this discussed/approved via a Github issue or the forum? Please add a link
to it if that's the case.
[ ] Did you make sure to update the documentation with your changes? Here are the
documentation guidelines, and
here are tips on formatting docstrings.
[ ] Did you write any new necessary tests?

Who can review?
@muellerzr @BenjaminBossan @SunMarc

Will be fixed here and @muellerzr will do a patch release today ! Sorry for the issue !


Do not merge multiple  when importing svg

How to import different SVG  as different path in editor?
For example, I want to import the following file as this:

<svg
    xmlns="http://www.w3.org/2000/svg"
    viewBox="0 0 24 24"
    id="vector">
    <path
        id="path"
        d="M 2.853 6.107 C 2.853 4.413 4.262 3.04 6 3.04 C 7.738 3.04 9.147 4.413 9.147 6.107 C 9.147 7.8 7.738 9.173 6 9.173 C 4.262 9.173 2.853 7.8 2.853 6.107 Z"
        fill="#d8d8d8"
        stroke="#979797"
        stroke-width="0.1"/>
    <path
        id="path_1"
        d="M 7.387 15.573 C 7.387 13.246 10.431 11.36 14.187 11.36 C 17.942 11.36 20.987 13.246 20.987 15.573 C 20.987 17.9 17.942 19.787 14.187 19.787 C 10.431 19.787 7.387 17.9 7.387 15.573 Z"
        fill="#d8d8d8"
        stroke="#979797"
        stroke-width="0.1"/>
</svg>

However, I get something like this:

It should be two ellipse, not the one above.

Now this test will fail
https://github.com/alexjlockwood/ShapeShifter/blob/2db235740086c793432365e24b55fea44bdef28b/src/app/modules/editor/scripts/import/SvgLoader.spec.ts#L42

Is this tool designed to work this way? If I need to merge paths in SVG, any vector drawing software can do that. No need to merge paths on import.

Thanks for the report!
JW, does the visual bug here only occur in the beta version? Or does it also happen in stable?

Or does it also happen in stable?

Yes, it also appears in stable.

@alexjlockwood, I have also same result in beta and in stable version, but if I import it on original JS implementation (Animator), then I do not have this problem. It is something wrong with TypeScript code.


Use basic authentication instead of Header token

thanks for the feedback @wnuqui

Coverage decreased (-2.1%) to 77.193% when pulling 5d58b2644cdf85a4ffe9f16e7e909eb65d35f60c on change_to_basic_auth into 6626c073cd7e34b92845f472ae38eee63df7f331 on master.

Coverage decreased (-2.1%) to 77.193% when pulling 5d58b2644cdf85a4ffe9f16e7e909eb65d35f60c on change_to_basic_auth into 6626c073cd7e34b92845f472ae38eee63df7f331 on master.

🚀


Add manuals repository as a special topic lesson

Are they already linked from anywhere?
We can debate if it's a lesson or not, but I think there's little downside from making it flat and easy to see.

They are partially linked from workshop pages but I think your suggestion here is a really good idea.


UUIDs for survey and poll data

As an admin I want to be able to track individual responses by user across surveys and polls, while also not relying on user account names which may contain user-submitted PII.
As an admin I want to be able to track individual responses from devices across surveys and polls, so that I can estimate how many unique anonymous individuals are responding and also how often multiple persons are using a single device.
As a data analyst I want to be able to track unique users, devices and submissions as I manipulate survey and poll results data.
As a data analyst I want to be able to remove duplicate responses where the user has accidentally submitted twice, and having a device UUID will make this process easier and more accurate.
Suggested resolution: UUIDs for user accounts, UUIDs for devices, UUIDs for individual survey and poll responses.
@lauriemarkle If you have any reservations about this based on privacy or confidentiality considerations please share.

This could use more discussion before it is started. How many of these UUIDs do we really care about? What about #599?


Increase coverage of project

[ ] Models @KseniaGovorun
[ ] Controllers @olexandervanzuriak
[ ] Helpers @KseniaGovorun
[ ] Other files @SleekMutt

Additional requirements from @loqimean

[x] Remove Channels coverage group
[x] Add Service coverage group

requested changes
https://github.com/ita-social-projects/ZeroWaste/pull/934#pullrequestreview-2471413248

also there is missing team review!


'Stop' to 'tStop' in website desc of standard attributes

Retrying PR with signed commit this time

Website preview: https://openexr--1754.org.readthedocs.build/en/1754/

The check failure is not related, some dependencies changed out from under us, which I submitted a fix for separately.


[FLINK-28625] Guard against changing target session deployment for se…

…ssionjob
cherry-pick to release-1.1 for https://github.com/apache/flink-kubernetes-operator/pull/332

cc @gyfora


⚠ Bofrost.at has degraded performance

In bca6967, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2631 ms

Resolved: Bofrost.at performance has improved in 28f03a5 after 9 minutes.


Look into why JVM nREPL doesn’t work with nextjournal

Resolved https://github.com/thheller/shadow-cljs/issues/1203


Appends content to the end of the currently opened note

I read the Local REST API for Obsidian Doc
and I'm trying to create a template to append content to the end of the currently opened note
this is my template :

And when I test this template with the selected text I get this error message :

What am I doing wrong and how can I modify the template to make it work properly?

That feature exists only in versions greater than 1.5.0 of Local REST API.  It's very likely that you're just not using a new enough version of it  Go into your obsidian community plugin settings, press the button for checking for updates, and install the update for that particular plugin.

That feature exists only in versions greater than 1.5.0 of Local REST API. It's very likely that you're just not using a new enough version of it. Go into your obsidian community plugin settings, press the button for checking for updates, and install the update for that particular plugin.

I  update the plugin and it works like a charm thank you for this great extension


[Tracing] Allow Client libraries to configure schema URL

See https://github.com/Azure/azure-sdk-for-go/pull/23268#discussion_r1702424904 - different SDKs may emit telemetry of slightly different versions and we can't keep them in sync (e.g. servicebus and cosmosdb SDKs are owned by different teams, follow different semantic conventions, and prioritize telemetry differently, i.e. they need to be able to set different schema urls.
We currently hardcode and use schema url here - one for everyone:
https://github.com/Azure/azure-sdk-for-go/blob/969cfcd7a36018cab9461bc768bdd0c8f1ff4e00/sdk/tracing/azotel/otel.go#L31
This is blocker to stabilize tracing plugin (and tracing for anything beyond http).

@lmolkova It seems like current azcore is responsible for tracing the HTTP spans and Client libraries can add additional tracing on top of that. Would it make sense for the Client Libraries to use a separate Tracer than Azcore? That way Azcore could have one schema URL and client libraries could their own?

@kjg absolutely!
One of the important (from otel perspective) this is that each tracer has a proper instrumentation scope (library name) so that it's clear where the telemetry is coming from and also it's possible to configure it on per-scope level. I.e. we should create a tracer per client.
That's what we do in Java:

each library creates its own tracer instance with library name, version and, since recently, the schema url it follows. E.g. here  Schema URL was added recently - https://github.com/Azure/azure-sdk-for-java/pull/41789. All these are library options - users don't get to change them.
It also includes user-facing (if any) tracing configuration provided by users on the client level.

Thanks, this is so useful. I see here where the java version of azcore creates its own named tracer.


Imdb notebook for GPU

Hi Guys,
Here is a notebook that collectes the pretrained model, imdb dataset, and the xlnet repo to fine tune a model on imdb.
The 17 commits were basically me putting print statements in run_classifier.py to understand what was going on. I was orginally attempting to use TPU (without a GCP account) but it wasn't working so I went back to vanilla GPU which doesnt require any changes in run_classifier.py. As you can see I've removed any changes so this pull request is simply adding the notebook. (You can quickly run through notebook here )
I hope it's useful for anyone looking to test out your research quickly with minimal overheads. Great work on the research and thanks for open sourcing! XLNet feels like a huge moment for NLP!

Looks good. Could you create a new subfolder notebooks and move your notebook into it with the name colab_imdb_gpu.ipynb? Thanks!

Ok @kimiyoung ive created the notebooks dir, moved the notebook in and changed the name to your suggestion


Calculating ceiling of an expression

What is the proper way to calculate the ceiling of an expression when using CP Optimizer via docplex?
The C# ILOG.CP library has a Ceil method that writes out to the model export file as _ceil. I see references to _ceil in docplex/cp/catalog.py but cannot figure out how to use it in my code.
Thanks!

The ceil() function is NOT supported officially in docplex.cp, even if the operation descriptor may have been present at a time, but in internal code that was partly generated.
Anyway, it is probable that we will make it available in the next future.

I appreciate the response. I was able to work around the limitation by implementing an integer variable and some constraints to achieve the same desired outcome, but would appreciate ceil being added in a future release so that I can re-simplify my code.
(I also slightly modified docplex to support ceil, but won't share that here for now in favor of your officially supported version of the functionality.)

I know what you have put between parenthesis :-)
Thanks to not share it as it may have unexpected side effects in the future.


feat: Basic JSON editor for triptych player mapping in admin tool

Asana task: Make triptych player name config editable in the admin tool
This is nearly a 100% copy of how we implemented the main screens config editor.
I did a better job of factoring out common code on the frontend. There's already a fair amount of abstraction on the backend with the use ConfigCache macro, and I didn't want to mess with it or add an extra layer of complexity to reduce duplication between the main screens config cache and the triptych player one.

[ ] Tests added?

I like that idea, will see about implementing it. I can store it as a map in the genserver for fast lookups, and serialize it to a list of pairs,
[
  ["BKB-DS-001", "TRI-BackBay-Orange-0-1"],
  ["BKB-DS-002", "TRI-BackBay-Orange-0-1"],
  "..."
]

in the JSON for readability.

I fixed the ordering (everywhere! The two JSON text editors, plus all admin tables) with the last two commits on this PR. Screen configs are consistently sorted alphanumerically by their screen IDs, and triptych player config sorted alphanumerically by player name.
Should be good to go now.


Side effects should wait for other entries acks

Send REQUIRES_ACK flag for all the entries, and wait for the ack of those in side effects.
See https://docs.google.com/document/d/14s7D6KP1IKNS1K3OrVbZNKGNei9TO_-9Sk0YC5mpht8/edit#heading=h.hooeo8f4d03z for more details.

Closing because it is not needed atm.

Closing because it is not needed atm.


TextEditingController.isSelectionWithinTextBounds made private without declaring this as a breaking change

The above method has been made private in flutter 3.22. Is there any specific reason for that?
It is a useful utility function and I would have to rewrite it in my own code.
https://github.com/flutter/flutter/blame/92a46ae71e2db66ac698e41ba86d1e6e8c29f020/packages/flutter/lib/src/widgets/editable_text.dart#L352

I actually had a problem in production in which I was implementing a TextEditingController and that method becoming private made some screens not change focus between TextFields as I stated in #148692.
Later today I'll try and recreate a minimal reproducible code to show that.

cc @LongCatIsLooong was that change intentional?

It is a useful utility function

I wonder when / why are you performing the isSelectionWithinTextBounds check? In principle the check should always return true as the selection range should never exceed the length of the text.

We have the following check in our code:
if (controller.isSelectionWithinTextBounds(selection) && selection.isValid)

I assume we could just use selection.isValidthen.


Create a Release!

closed via https://github.com/CatalystCode/radial-menu/releases

and via https://github.com/CatalystCode/radial-menu/pull/128


Always check for Zerocoin transaction

This will make it behavior to be the same as master branch. Actually this is the source of problems why we make a mistake when review Zerocoin disable release.

Can you describe why this is necessary? Maybe add a comment near the change to describe it?

@martun this will make it behavior to be the same as previous (see here https://github.com/zcoinofficial/zcoin/blob/master/src/main.cpp#L1165). I think we don't need to put a comment in the code since the comment will not correct once it merge into master.

@ultimaweapon Yes, but the code is more logical without this change :) Maybe we try to fix somewhere else?

I agree with you that it look better when there is a guard. The only issue for me is it alter current behavior for Zerocoin on master branch. What I think is we should not alter it in Sigma branch due to it will unexpected by other people that are not working on Sigma and also make Sigma team misunderstand too like it happen with our Zerocoin disable patch. So if we want to alter it behavior we should make it to master branch instead of Sigma branch.


XIYV-9790 Dedicated website for Axon Ivy Market

The new market website is currently here: https://market-test.axonivya.myhostpoint.ch/
Any idea how to improve the header?

No I wouldn't do that. Two complete independent sites. Market site is now faster, because it does not need parse all release infos just for the header of the header.
community.axonivy.com is also a standalone site
https://market.axonivy.com should be the only entrypoint to show the market.

I'll talk to Pascal about the layout.

No I wouldn't do that. Two complete independent sites. Market site is now faster, because it does not need parse all release infos just for the header of the header.
community.axonivy.com is also a standalone site
https://market.axonivy.com should be the only entrypoint to show the market.

ok that's right. I wasn't aware that this needs so much time...

@ivy-cst loves the header, so I just use the same header on the market side (without the download button). if someone like to change in future the ui, this is now possible.


(GH-3654) Change IsRunningOnAzurePipelines to ignore agent type

Change IsRunningOnAzurePipelines to only check if it is running on Azure Pipelines and ignoring the type of the agent to be consistent with other build providers.
This PR introduces some breaking changes to clean up the Azure Pipelines build provider:

IAzurePipelinesProvider.IsRunningOnAzurePipelines only checks if running on Azure Pipelines and ignores type of agent
IAzurePipelinesProvider.IsRunningOnAzurePipelinesHosted removed. AzurePipelinesAgentInfo.IsHosted can be used instead
BuildSystem.IsRunningOnAzurePipelines only checks if running on Azure Pipelines and ignores type of agent
BuildSystem.IsRunningOnAzurePipelinesHosted removed
BuildProvider.AzurePipelinesHosted enum value removed

See also discussion https://github.com/cake-build/cake/discussions/3589
Fixes #3654

@pascalberger  your changes have been merged, thanks for your contribution 👍


loading multiple image at the same time

to  process multiple image in one shot i did like this
listim=[
'c:/graph/1.jpg','c:/graph/2.jpg','c:/graph/3.jpg'
]
img = utils.load_img(listim, target_size=256, crop_size=224)
imgs = nets.preprocess(models, img)
got TypeError: bad argument type for built-in operation on the utils.load_img(
how to proceed if multiple image to detect?
i was trying the network comparison and so i thought it could be possible to load multiple image as it is possible to load multiple networks  in the     for (model, img) in zip(models, imgs):

@alain2208, Please see this commit. Now you can input a list of paths into load_img.


⚠ Bofrost.at has degraded performance

In ac0dd2a, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1092 ms

Resolved: Bofrost.at performance has improved in cacee88 after 304 days, 4 hours, 13 minutes.


use buffered process for pdf conversion and disallow unsaved

Addresses issue #35 and beyond (documented in that issue).

Looks like I hadn't provided very well for Windows paths originally.  Figured improving that now would save the project an inevitable future issue.  I converted paths to rely on path.join, ran spec tests a few times, manually tested conversion... so, hopefully it just works across the board now (as unlikely as that is, given experience).

Works good for me, though I don't have a Windows PC to test on.  Are you comfortable merging and releasing now?

I am.  I also can't do the cross platform testing, but I did some reading about it and I think we're in a better position all around regardless.

Released with 0.6.1.


Rework the debugger in CLI and engine

The current file based protocol for debugging between CLI and android engine is not reliable and error prone. Rework this.

done


[TEST] Consolidate all the node down/reboot and kubelet restart manual test cases

What's the test to develop? Please describe
We have test cases related to node down/restart & kubelet restart documented https://longhorn.github.io/longhorn-tests/manual/ , We want to consolidate those cases at one place, currently they are scenario based and we can make them better by making them more generalized.
Describe the items of the test development (DoD, definition of done) you'd like

Please use a task list for items on a separate line with a clickable checkbox https://docs.github.com/en/issues/tracking-your-work-with-issues/about-task-lists

[ ] Find all the related cases on https://longhorn.github.io/longhorn-tests/manual/
[ ] Make them generic and move them at one place.

Created https://github.com/longhorn/longhorn-tests/pull/1327 and waiting for review.

https://github.com/longhorn/longhorn-tests/pull/1327 and https://github.com/longhorn/longhorn-tests/pull/1343 was merged


UI/improvements

PR Fixes: #774
i hvae added the improvements ss in the issue. please have a look for the reference
Sidebar UX Improvement
Feature Request List

Change the design:

Update the visual design to be more modern and user-friendly.

Remove the hamburger menu from the navigation bar:

Eliminate the hamburger menu from the top navigation bar to streamline the user interface.

Move the sidebar to the right side:

Relocate the sidebar to the right side of the screen.
This will make the hamburger menu position more suitable and intuitive.

Change the scrollbar style:

Customize the scrollbar style to enhance the aesthetic and usability.

Checklist before requesting a review

[x] I have performed a self-review of my code
[x] I assure there is no similar/duplicate pull request regarding same issue

conflicts and why too many changes?

I have no idea why there are so many conflicts. I'm also surprised to see this many lines deleted. Some of the reasons might be:

While setting up locally, I ran into some problems. For some reason, I think I deleted the lock file.
My VS Code automatically removed commas from some config files.

Could you please let me know how to fix these conflicts? I'm a newbie, though I have also contributed to GSOC org devs (which usually Harkirat used to visit), but I didn't get any conflicts. I don't know why there are so many conflicts here.
im not sure but maybe this could be the reason : I made these changes last month, but I didn't create a PR at that time, which might be the reason for the conflicts due to the gap. (june 8 last commit)

conflicts and why too many changes?

[x] fixed conflicts


Memory test on scrolling large images quickly

For https://github.com/flutter/flutter/issues/19558
This test reveals the issue that Flutter currently retains as much as
200MB memory after scrolling. (200MB can further grow if we scroll more
times). There should be plenty of time for the GC to clean such memory.

Closing this in favor of https://github.com/flutter/flutter/pull/46184


[Flaky Test] Extensions Webhook Certificates Integration Test Suite

How to categorize this issue?

/area testing
/kind flake
Which test(s)/suite(s) are flaking:
Certificates tests
/home/prow/go/src/github.com/gardener/gardener/test/integration/extensions/webhook/certificates/certificates_test.go:69
  run without seed webhook
  /home/prow/go/src/github.com/gardener/gardener/test/integration/extensions/webhook/certificates/certificates_test.go:169
    certificate rotation
    /home/prow/go/src/github.com/gardener/gardener/test/integration/extensions/webhook/certificates/certificates_test.go:229
      [It] should rotate the certificates and update the webhook configs
      /home/prow/go/src/github.com/gardener/gardener/test/integration/extensions/webhook/certificates/certificates_test.go:2[48](https://prow.gardener.cloud/view/gs/gardener-prow/pr-logs/pull/gardener_gardener/6866/pull-gardener-integration/1583377650796204032#1:build-log.txt%3A48)

Certificates tests
/home/prow/go/src/github.com/gardener/gardener/test/integration/extensions/webhook/certificates/certificates_test.go:69
  run with seed webhook
  /home/prow/go/src/github.com/gardener/gardener/test/integration/extensions/webhook/certificates/certificates_test.go:292
    seed webhook does not yet exist
    /home/prow/go/src/github.com/gardener/gardener/test/integration/extensions/webhook/certificates/certificates_test.go:392
      [It] should create the webhook and inject the CA bundle
      /home/prow/go/src/github.com/gardener/gardener/test/integration/extensions/webhook/certificates/certificates_test.go:393

CI link:

https://prow.gardener.cloud/view/gs/gardener-prow/pr-logs/pull/gardener_gardener/6866/pull-gardener-integration/1583377650796204032
https://prow.gardener.cloud/view/gs/gardener-prow/logs/ci-gardener-integration/1585613542181048320

Reason for failure:

  Timed out after 5.001s.

  Gomega truncated this representation as it exceeds 'format.MaxLength'.
  Consider having the object provide a custom 'GomegaStringer' representation
  or adjust the parameters in Gomega's 'format' package.
  Learn more here: https://onsi.github.io/gomega/#adjusting-output
  to equal
      <[]uint8 | len:0, cap:0>: nil
  In [It] at: /home/prow/go/src/github.com/gardener/gardener/test/integration/extensions/webhook/certificates/certificates_test.go:277

Timed out after 5.001s.
  Expected success, but got an error:
      <*errors.errorString | 0xc000c0b1a0>: {
          s: "Assertion in callback at /home/prow/go/src/github.com/gardener/gardener/test/integration/extensions/webhook/certificates/certificates_test.go:397 failed:\nExpected\n    <[]v1.MutatingWebhook | len:1, cap:1>: [\n        {\n            Name: \"seed-webhook.test.extensions.gardener.cloud\",\n            ClientConfig: {\n                URL: nil,\n                Service: {\n                    Namespace: \"webhook-certs-test-l7lr5\",\n                    Name: \"gardener-extension-provider-test\",\n                    Path: \"/seed-path\",\n                    Port: 443,\n                },\n                CABundle: nil,\n            },\n            Rules: [\n                {\n                    Operations: [\"CREATE\", \"UPDATE\"],\n                    Rule: {\n                        APIGroups: [\"\"],\n                        APIVersions: [\"v1\"],\n                        Resources: [\"services\"],\n                        Scope: \"*\",\n                    },\n                },\n            ],\n            FailurePolicy: \"Fail\",\n            MatchPolicy: \"Exact\",\n            NamespaceSelector: {\n                MatchLabels: nil,\n                MatchExpressions: nil,\n            },\n            ObjectSelector: {\n                MatchLabels: nil,\n                MatchExpressions: nil,\n            },\n            SideEffects: \"None\",\n            TimeoutSeconds: 10,\n            AdmissionReviewVersions: [\"v1\", \"v1beta1\"],\n            ReinvocationPolicy: \"Never\",\n        },\n    ]\nto consist of\n    <[]v1.MutatingWebhook | len:1, cap:1>: [\n        {\n            Name: \"seed-webhook.test.extensions.gardener.cloud\",\n            ClientConfig: {\n                URL: nil,\n                Service: {\n                    Namespace: \"webhook-certs-test-l7lr5\",\n                    Name: \"gardener-extension-provider-test\",\n                    Path: \"/seed-path\",\n                    Port: 443,\n                },\n                CABundle: nil,\n            },\n            Rules: [\n                {\n                    Operations: [\"CREATE\", \"UPDATE\"],\n                    Rule: {\n                        APIGroups: [\"\"],\n                        APIVersions: [\"v1\"],\n                        Resources: [\"services\"],\n                        Scope: \"*\",\n                    },\n                },\n            ],\n            FailurePolicy: \"Ignore\",\n            MatchPolicy: \"Exact\",\n            NamespaceSelector: {\n                MatchLabels: nil,\n                MatchExpressions: nil,\n            },\n            ObjectSelector: {\n                MatchLabels: nil,\n                MatchExpressions: nil,\n            },\n            SideEffects: \"None\",\n            TimeoutSeconds: 10,\n            AdmissionReviewVersions: [\"v1\", \"v1beta1\"],\n            ReinvocationPolicy: \"Never\",\n        },\n    ]\nthe missing elements were\n    <[]v1.MutatingWebhook | len:1, cap:1>: [\n        {\n            Name: \"seed-webhook.test.extensions.gardener.cloud\",\n            ClientConfig: {\n                URL: nil,\n                Service: {\n                    Namespace: \"webhook-certs-test-l7lr5\",\n                    Name: \"gardener-extension-provider-test\",\n                    Path: \"/seed-path\",\n                    Port: 443,\n                },\n                CABundle: nil,\n            },\n            Rules: [\n                {\n                    Operations: [\"CREATE\", \"UPDATE\"],\n                    Rule: {\n                        APIGroups: [\"\"],\n                        APIVersions: [\"v1\"],\n                        Resources: [\"services\"],\n                        Scope: \"*\",\n                    },\n                },\n            ],\n            FailurePolicy: \"Ignore\",\n            MatchPolicy: \"Exact\",\n            NamespaceSelector: {\n                MatchLabels: nil,\n                MatchExpressions: nil,\n        ...
  Gomega truncated this representation as it exceeds 'format.MaxLength'.
  Consider having the object provide a custom 'GomegaStringer' representation
  or adjust the parameters in Gomega's 'format' package.
  Learn more here: https://onsi.github.io/gomega/#adjusting-output
      Assertion in callback at /home/prow/go/src/github.com/gardener/gardener/test/integration/extensions/webhook/certificates/certificates_test.go:397 failed:
      Expected
          <[]v1.MutatingWebhook | len:1, cap:1>: [
              {
                  Name: "seed-webhook.test.extensions.gardener.cloud",
                  ClientConfig: {
                      URL: nil,
                      Service: {
                          Namespace: "webhook-certs-test-l7lr5",
                          Name: "gardener-extension-provider-test",
                          Path: "/seed-path",
                          Port: [443](https://prow.gardener.cloud/view/gs/gardener-prow/pr-logs/pull/gardener_gardener/6866/pull-gardener-integration/1583377650796204032#1:build-log.txt%3A443),
                      },
                      CABundle: nil,
                  },
                  Rules: [
                      {
                          Operations: ["CREATE", "UPDATE"],
                          Rule: {
                              APIGroups: [""],
                              APIVersions: ["v1"],
                              Resources: ["services"],
                              Scope: "*",
                          },
                      },
                  ],
                  FailurePolicy: "Fail",
                  MatchPolicy: "Exact",
                  NamespaceSelector: {
                      MatchLabels: nil,
                      MatchExpressions: nil,
                  },
                  ObjectSelector: {
                      MatchLabels: nil,
                      MatchExpressions: nil,
                  },
                  SideEffects: "None",
                  TimeoutSeconds: 10,
                  AdmissionReviewVersions: ["v1", "v1beta1"],
                  ReinvocationPolicy: "Never",
              },
          ]
      to consist of
          <[]v1.MutatingWebhook | len:1, cap:1>: [
              {
                  Name: "seed-webhook.test.extensions.gardener.cloud",
                  ClientConfig: {
                      URL: nil,
                      Service: {
                          Namespace: "webhook-certs-test-l7lr5",
                          Name: "gardener-extension-provider-test",
                          Path: "/seed-path",
                          Port: 443,
                      },
                      CABundle: nil,
                  },
                  Rules: [
                      {
                          Operations: ["CREATE", "UPDATE"],
                          Rule: {
                              APIGroups: [""],
                              APIVersions: ["v1"],
                              Resources: ["services"],
                              Scope: "*",
                          },
                      },
                  ],
                  FailurePolicy: "Ignore",
                  MatchPolicy: "Exact",
                  NamespaceSelector: {
                      MatchLabels: nil,
                      MatchExpressions: nil,
                  },
                  ObjectSelector: {
                      MatchLabels: nil,
                      MatchExpressions: nil,
                  },
                  SideEffects: "None",
                  TimeoutSeconds: 10,
                  AdmissionReviewVersions: ["v1", "v1beta1"],
                  ReinvocationPolicy: "Never",
              },
          ]
      the missing elements were
          <[]v1.MutatingWebhook | len:1, cap:1>: [
              {
                  Name: "seed-webhook.test.extensions.gardener.cloud",
                  ClientConfig: {
                      URL: nil,
                      Service: {
                          Namespace: "webhook-certs-test-l7lr5",
                          Name: "gardener-extension-provider-test",
                          Path: "/seed-path",
                          Port: 443,
                      },
                      CABundle: nil,
                  },
                  Rules: [
                      {
                          Operations: ["CREATE", "UPDATE"],
                          Rule: {
                              APIGroups: [""],
                              APIVersions: ["v1"],
                              Resources: ["services"],
                              Scope: "*",
                          },
                      },
                  ],
                  FailurePolicy: "Ignore",
                  MatchPolicy: "Exact",
                  NamespaceSelector: {
                      MatchLabels: nil,
                      MatchExpressions: nil,
                  },
                  ObjectSelector: {
                      MatchLabels: nil,
                      MatchExpressions: nil,
                  },
                  SideEffects: "None",
                  TimeoutSeconds: 10,
                  AdmissionReviewVersions: ["v1", "v1beta1"],
                  ReinvocationPolicy: "Never",
              },
          ]
      the extra elements were
          <[]v1.MutatingWebhook | len:1, cap:1>: [
              {
                  Name: "seed-webhook.test.extensions.gardener.cloud",
                  ClientConfig: {
                      URL: nil,
                      Service: {
                          Namespace: "webhook-certs-test-l7lr5",
                          Name: "gardener-extension-provider-test",
                          Path: "/seed-path",
                          Port: 443,
                      },
                      CABundle: nil,
                  },
                  Rules: [
                      {
                          Operations: ["CREATE", "UPDATE"],
                          Rule: {
                              APIGroups: [""],
                              APIVersions: ["v1"],
                              Resources: ["services"],
                              Scope: "*",
                          },
                      },
                  ],
                  FailurePolicy: "Fail",
                  MatchPolicy: "Exact",
                  NamespaceSelector: {
                      MatchLabels: nil,
                      MatchExpressions: nil,
                  },
                  ObjectSelector: {
                      MatchLabels: nil,
                      MatchExpressions: nil,
                  },
                  SideEffects: "None",
                  TimeoutSeconds: 10,
                  AdmissionReviewVersions: ["v1", "v1beta1"],
                  ReinvocationPolicy: "Never",
              },
          ]
  In [It] at: /home/prow/go/src/github.com/gardener/gardener/test/integration/extensions/webhook/certificates/certificates_test.go:398

/assign


Is this dead?

Is this project dead?
Are there any plans for further development?

Yeah, it's pretty dead right now.  I have been meaning to update the README.


Write script for adding bounding boxes to images

Script for basic visualization has been written.  We'll add slight refinements to this script once we determine exactly where and how we want images stored (s3 bucket location, size of stored image, etc.)


create carto-node client

as part of the frontend split proof of concept we need to create a client that makes requests from (and to) the new endpoints and expose the data to be consumed by the dashboard
the first endpoint to implement will be /api/v3/me
the carto-node client will be checked-in in the CartoDB/cartodb at first and then needs to be extracted to its own repo

this is blocked until test are in place

unblocked!


feat(cli): retrieve file list from server

rpaste -l
[{"file_name":".foo.BjOZ.txt","file_size":5,"expires_at_utc":"2023-08-07 21:58:17"},{"file_name":".foo.pJXC.bar","file_size":9,"expires_at_utc":"2023-08-07 21:58:17"},{"file_name":".foo.tFAL.bar.txt","file_size":13,"expires_at_utc":"2023-08-07 21:58:17"},{"file_name":"foo.rZZE.txt","file_size":4,"expires_at_utc":"2023-08-07 21:58:17"},{"file_name":"foo.78ZI.bar","file_size":8,"expires_at_utc":"2023-08-07 21:58:17"},{"file_name":"foo.J8VG.bar.txt","file_size":12,"expires_at_utc":"2023-08-07 21:58:17"},{"file_name":".foo.WOWM.txt","file_size":5,"expires_at_utc":"2023-08-07 21:58:18"},{"file_name":".foo.0pgN.bar","file_size":9,"expires_at_utc":"2023-08-07 21:58:18"},{"file_name":".foo.gQLo.bar.txt","file_size":13,"expires_at_utc":"2023-08-07 21:58:18"},{"file_name":"foo.Gl8n.txt","file_size":4,"expires_at_utc":"2023-08-07 21:58:19"},{"file_name":"foo.F2cf.bar","file_size":8,"expires_at_utc":"2023-08-07 21:58:19"},{"file_name":"foo.LCQZ.bar.txt","file_size":12,"expires_at_utc":"2023-08-07 21:58:20"}]

rpaste -lp
      Name        | Size |    Expiry (UTC)
------------------|------|--------------------
.foo.BjOZ.txt     |    5 | 2023-08-07 21:58:17
.foo.pJXC.bar     |    9 | 2023-08-07 21:58:17
.foo.tFAL.bar.txt |   13 | 2023-08-07 21:58:17
foo.rZZE.txt      |    4 | 2023-08-07 21:58:17
foo.78ZI.bar      |    8 | 2023-08-07 21:58:17
foo.J8VG.bar.txt  |   12 | 2023-08-07 21:58:17
.foo.WOWM.txt     |    5 | 2023-08-07 21:58:18
.foo.0pgN.bar     |    9 | 2023-08-07 21:58:18
.foo.gQLo.bar.txt |   13 | 2023-08-07 21:58:18
foo.Gl8n.txt      |    4 | 2023-08-07 21:58:19
foo.F2cf.bar      |    8 | 2023-08-07 21:58:19
foo.LCQZ.bar.txt  |   12 | 2023-08-07 21:58:20

-l or --list will return the JSON as-is now.
The table is shown with -p or --pretty.

rpaste -l
[{"file_name":".foo.BjOZ.txt","file_size":5,"expires_at_utc":"2023-08-07 21:58:17"},{"file_name":".foo.pJXC.bar","file_size":9,"expires_at_utc":"2023-08-07 21:58:17"},{"file_name":".foo.tFAL.bar.txt","file_size":13,"expires_at_utc":"2023-08-07 21:58:17"},{"file_name":"foo.rZZE.txt","file_size":4,"expires_at_utc":"2023-08-07 21:58:17"},{"file_name":"foo.78ZI.bar","file_size":8,"expires_at_utc":"2023-08-07 21:58:17"},{"file_name":"foo.J8VG.bar.txt","file_size":12,"expires_at_utc":"2023-08-07 21:58:17"},{"file_name":".foo.WOWM.txt","file_size":5,"expires_at_utc":"2023-08-07 21:58:18"},{"file_name":".foo.0pgN.bar","file_size":9,"expires_at_utc":"2023-08-07 21:58:18"},{"file_name":".foo.gQLo.bar.txt","file_size":13,"expires_at_utc":"2023-08-07 21:58:18"},{"file_name":"foo.Gl8n.txt","file_size":4,"expires_at_utc":"2023-08-07 21:58:19"},{"file_name":"foo.F2cf.bar","file_size":8,"expires_at_utc":"2023-08-07 21:58:19"},{"file_name":"foo.LCQZ.bar.txt","file_size":12,"expires_at_utc":"2023-08-07 21:58:20"}]

rpaste -lp
      Name        | Size |    Expiry (UTC)
------------------|------|--------------------
.foo.BjOZ.txt     |    5 | 2023-08-07 21:58:17
.foo.pJXC.bar     |    9 | 2023-08-07 21:58:17
.foo.tFAL.bar.txt |   13 | 2023-08-07 21:58:17
foo.rZZE.txt      |    4 | 2023-08-07 21:58:17
foo.78ZI.bar      |    8 | 2023-08-07 21:58:17
foo.J8VG.bar.txt  |   12 | 2023-08-07 21:58:17
.foo.WOWM.txt     |    5 | 2023-08-07 21:58:18
.foo.0pgN.bar     |    9 | 2023-08-07 21:58:18
.foo.gQLo.bar.txt |   13 | 2023-08-07 21:58:18
foo.Gl8n.txt      |    4 | 2023-08-07 21:58:19
foo.F2cf.bar      |    8 | 2023-08-07 21:58:19
foo.LCQZ.bar.txt  |   12 | 2023-08-07 21:58:20

I refactored the implementation in 6d9398fff330d4af93c9d5b0c54b5095b90f7aeb, can you verify the behavior is the same?

Nope, but that was to be expected. You removed 2 critical parts in the code.
if result set empty (no files on server)
$ rpaste -lp
Name | Size |    Expiry (UTC)
-|---|--------------------

smallest file smaller than 1000 bytes
$ rpaste -lp
      Name        | Size |    Expiry (UTC)
------------------|----|--------------------
.foo.yZgw.txt     |  5 | 2023-08-11 16:01:57
.foo.oyQ9.bar     |  9 | 2023-08-11 16:01:57
.foo.n9UH.bar.txt | 13 | 2023-08-11 16:01:57
foo.zBnH.txt      |  4 | 2023-08-11 16:01:57
foo.ZgDY.bar      |  8 | 2023-08-11 16:01:57
foo.DJ7n.bar.txt  | 12 | 2023-08-11 16:01:57
.foo.Alac.txt     |  5 | 2023-08-11 16:01:58
.foo.LCm7.bar     |  9 | 2023-08-11 16:01:59
.foo.lWKi.bar.txt | 13 | 2023-08-11 16:01:59
foo.fQc6.txt      |  4 | 2023-08-11 16:01:59
foo.qqEA.bar      |  8 | 2023-08-11 16:02:00
foo.zCPn.bar.txt  | 12 | 2023-08-11 16:02:00

Give me a few minutes to fix this.

if result set empty (no files on server)

I think that's fine, I would rather return something rather than nothing.

biggest file smaller than 1000 bytes

What's the issue in this output?

I think that's fine, I would rather return something rather than nothing.

In that case, wouldn't a message be nicer?

What's the issue in this output? edit: ah, the header...

it's rather the rest ofthe table. This is why I set the initial value to 1000 for testing the max.

Or maybe a :( at the end?
No files on server :(

similar to what the server returns: file is not found or expired :(

It's of course up to you, but I think a message looks more professional. A table header looks to me as if an edge case was forgotten.


404s not handled correctly

It looks like 404s aren't being handled correct:
ipdb> e
<RequestValidationError at 0x2b2f5c2190a8 400 Bad Request>
ipdb> e.code
400
ipdb> e.message
'Could not find a matching route for GET request http://telmalem.dev:9200/v3/foo. Have you registed this endpoint with Pyramid?'

If I hit a path that doesn't exist, it raises a validation error, says it can't find the route, and then raises a 400

That error message has a typo, too.

Curious...I'm surprised we don't have this covered in the existing testing suite. Should be easy to extend the existing acceptance testing to cover this case, then we can dig into why the code is a generic 400 not a 404.

Looks like the not yet documented validate_path setting could help you out: setting it to False should return a 404 for paths that are not in the spec as long as pyramid is not configured to handle them. #183 will help otherwise.

This was fixed by #191.


chore: init repo

run external processes, with strong typing of streams
Issue: https://github.com/linuxdeepin/developer-center/issues/5731
Log: init repo

/approve


centos 64 也编译失败了

改了 bool BOOL 和int int 那两个错仍然不行，主要报错在这两个地方
src/socks/SocksMgr.cpp:158:15: error: cast from ‘void*’ to ‘int’ loses precision [-fpermissive]
  int s = (int)lpParameter;
               ^
src/socks/SocksMgr.cpp: In member function ‘bool CSocksMgr::Begin(LPCSTR, int, LPCSTR, int)’:
src/socks/SocksMgr.cpp:291:34: error: cast from ‘CSocksMgr*’ to ‘uint32_t {aka unsigned int}’ loses precision [-fpermissive]
   proxy->lpParameter = (uint32_t)this;

全部报错是
g++     -c  src/Tunnel.cpp    -o   src/Tunnel.o    -I./src -DLINUX
In file included from src/stdafx.h:52:0,
                 from src/Tunnel.cpp:1:
src/utils/AutoCleanup.h:105:38: warning: converting to non-pointer type ‘DWORD {aka long unsigned int}’ from NULL [-Wconversion-null]
  bool WaitForEnd(DWORD dwTimeoutMS = INFINITE)
                                      ^
src/utils/AutoCleanup.h: In constructor ‘Thread::Thread()’:
src/utils/AutoCleanup.h:68:19: warning: converting to non-pointer type ‘HANDLE {aka long unsigned int}’ from NULL [-Wconversion-null]
   , m_dwThreadId(0)
                   ^
src/utils/AutoCleanup.h: In destructor ‘Thread::~Thread()’:
src/utils/AutoCleanup.h:74:15: warning: NULL used in arithmetic [-Wpointer-arith]
   if (NULL != m_hThread)
               ^
src/utils/AutoCleanup.h: In member function ‘bool Thread::Start(LPTHREAD_START_ROUTINE, LPVOID)’:
src/utils/AutoCleanup.h:84:15: warning: NULL used in arithmetic [-Wpointer-arith]
   if (NULL != m_hThread) return FALSE;
               ^
src/utils/AutoCleanup.h: In member function ‘bool Thread::WaitForEnd(DWORD)’:
src/utils/AutoCleanup.h:107:15: warning: NULL used in arithmetic [-Wpointer-arith]
   if (NULL == m_hThread) return TRUE;
               ^
src/utils/AutoCleanup.h:118:22: warning: NULL used in arithmetic [-Wpointer-arith]
   if (dwTimeoutMS == INFINITE)
                      ^
src/utils/AutoCleanup.h:131:14: warning: converting to non-pointer type ‘HANDLE {aka long unsigned int}’ from NULL [-Wconversion-null]
    m_hThread = NULL;
              ^
src/utils/AutoCleanup.h: In member function ‘void Thread::Terminate()’:
src/utils/AutoCleanup.h:148:13: warning: converting to non-pointer type ‘HANDLE {aka long unsigned int}’ from NULL [-Wconversion-null]
   m_hThread = NULL;
             ^
src/Tunnel.cpp: In member function ‘DWORD CTunnel::TCPTunnelProc(LPVOID)’:
src/Tunnel.cpp:214:16: warning: converting to non-pointer type ‘DWORD {aka long unsigned int}’ from NULL [-Wconversion-null]
  t1.WaitForEnd();
                ^
src/Tunnel.cpp:215:16: warning: converting to non-pointer type ‘DWORD {aka long unsigned int}’ from NULL [-Wconversion-null]
  t2.WaitForEnd();
                ^
src/Tunnel.cpp: In member function ‘bool CTunnel::Begin(int, int)’:
src/Tunnel.cpp:247:16: warning: converting to non-pointer type ‘DWORD {aka long unsigned int}’ from NULL [-Wconversion-null]
  t1.WaitForEnd();
                ^
src/Tunnel.cpp:248:16: warning: converting to non-pointer type ‘DWORD {aka long unsigned int}’ from NULL [-Wconversion-null]
  t2.WaitForEnd();
                ^
g++     -c  src/xsocks.cpp    -o   src/xsocks.o    -I./src -DLINUX
In file included from src/stdafx.h:52:0,
                 from src/xsocks.cpp:1:
src/utils/AutoCleanup.h:105:38: warning: converting to non-pointer type ‘DWORD {aka long unsigned int}’ from NULL [-Wconversion-null]
  bool WaitForEnd(DWORD dwTimeoutMS = INFINITE)
                                      ^
src/utils/AutoCleanup.h: In constructor ‘Thread::Thread()’:
src/utils/AutoCleanup.h:68:19: warning: converting to non-pointer type ‘HANDLE {aka long unsigned int}’ from NULL [-Wconversion-null]
   , m_dwThreadId(0)
                   ^
src/utils/AutoCleanup.h: In destructor ‘Thread::~Thread()’:
src/utils/AutoCleanup.h:74:15: warning: NULL used in arithmetic [-Wpointer-arith]
   if (NULL != m_hThread)
               ^
src/utils/AutoCleanup.h: In member function ‘bool Thread::Start(LPTHREAD_START_ROUTINE, LPVOID)’:
src/utils/AutoCleanup.h:84:15: warning: NULL used in arithmetic [-Wpointer-arith]
   if (NULL != m_hThread) return FALSE;
               ^
src/utils/AutoCleanup.h: In member function ‘bool Thread::WaitForEnd(DWORD)’:
src/utils/AutoCleanup.h:107:15: warning: NULL used in arithmetic [-Wpointer-arith]
   if (NULL == m_hThread) return TRUE;
               ^
src/utils/AutoCleanup.h:118:22: warning: NULL used in arithmetic [-Wpointer-arith]
   if (dwTimeoutMS == INFINITE)
                      ^
src/utils/AutoCleanup.h:131:14: warning: converting to non-pointer type ‘HANDLE {aka long unsigned int}’ from NULL [-Wconversion-null]
    m_hThread = NULL;
              ^
src/utils/AutoCleanup.h: In member function ‘void Thread::Terminate()’:
src/utils/AutoCleanup.h:148:13: warning: converting to non-pointer type ‘HANDLE {aka long unsigned int}’ from NULL [-Wconversion-null]
   m_hThread = NULL;
             ^
g++     -c  src/stdafx.cpp    -o   src/stdafx.o    -I./src -DLINUX
In file included from src/stdafx.h:52:0,
                 from src/stdafx.cpp:5:
src/utils/AutoCleanup.h:105:38: warning: converting to non-pointer type ‘DWORD {aka long unsigned int}’ from NULL [-Wconversion-null]
  bool WaitForEnd(DWORD dwTimeoutMS = INFINITE)
                                      ^
src/utils/AutoCleanup.h: In constructor ‘Thread::Thread()’:
src/utils/AutoCleanup.h:68:19: warning: converting to non-pointer type ‘HANDLE {aka long unsigned int}’ from NULL [-Wconversion-null]
   , m_dwThreadId(0)
                   ^
src/utils/AutoCleanup.h: In destructor ‘Thread::~Thread()’:
src/utils/AutoCleanup.h:74:15: warning: NULL used in arithmetic [-Wpointer-arith]
   if (NULL != m_hThread)
               ^
src/utils/AutoCleanup.h: In member function ‘bool Thread::Start(LPTHREAD_START_ROUTINE, LPVOID)’:
src/utils/AutoCleanup.h:84:15: warning: NULL used in arithmetic [-Wpointer-arith]
   if (NULL != m_hThread) return FALSE;
               ^
src/utils/AutoCleanup.h: In member function ‘bool Thread::WaitForEnd(DWORD)’:
src/utils/AutoCleanup.h:107:15: warning: NULL used in arithmetic [-Wpointer-arith]
   if (NULL == m_hThread) return TRUE;
               ^
src/utils/AutoCleanup.h:118:22: warning: NULL used in arithmetic [-Wpointer-arith]
   if (dwTimeoutMS == INFINITE)
                      ^
src/utils/AutoCleanup.h:131:14: warning: converting to non-pointer type ‘HANDLE {aka long unsigned int}’ from NULL [-Wconversion-null]
    m_hThread = NULL;
              ^
src/utils/AutoCleanup.h: In member function ‘void Thread::Terminate()’:
src/utils/AutoCleanup.h:148:13: warning: converting to non-pointer type ‘HANDLE {aka long unsigned int}’ from NULL [-Wconversion-null]
   m_hThread = NULL;
             ^
g++     -c  src/socks/SocksMgr.cpp    -o   src/socks/SocksMgr.o    -I./src -DLINUX
In file included from ./src/stdafx.h:52:0,
                 from src/socks/SocksMgr.cpp:1:
./src/utils/AutoCleanup.h:105:38: warning: converting to non-pointer type ‘DWORD {aka long unsigned int}’ from NULL [-Wconversion-null]
  bool WaitForEnd(DWORD dwTimeoutMS = INFINITE)
                                      ^
./src/utils/AutoCleanup.h: In constructor ‘Thread::Thread()’:
./src/utils/AutoCleanup.h:68:19: warning: converting to non-pointer type ‘HANDLE {aka long unsigned int}’ from NULL [-Wconversion-null]
   , m_dwThreadId(0)
                   ^
./src/utils/AutoCleanup.h: In destructor ‘Thread::~Thread()’:
./src/utils/AutoCleanup.h:74:15: warning: NULL used in arithmetic [-Wpointer-arith]
   if (NULL != m_hThread)
               ^
./src/utils/AutoCleanup.h: In member function ‘bool Thread::Start(LPTHREAD_START_ROUTINE, LPVOID)’:
./src/utils/AutoCleanup.h:84:15: warning: NULL used in arithmetic [-Wpointer-arith]
   if (NULL != m_hThread) return FALSE;
               ^
./src/utils/AutoCleanup.h: In member function ‘bool Thread::WaitForEnd(DWORD)’:
./src/utils/AutoCleanup.h:107:15: warning: NULL used in arithmetic [-Wpointer-arith]
   if (NULL == m_hThread) return TRUE;
               ^
./src/utils/AutoCleanup.h:118:22: warning: NULL used in arithmetic [-Wpointer-arith]
   if (dwTimeoutMS == INFINITE)
                      ^
./src/utils/AutoCleanup.h:131:14: warning: converting to non-pointer type ‘HANDLE {aka long unsigned int}’ from NULL [-Wconversion-null]
    m_hThread = NULL;
              ^
./src/utils/AutoCleanup.h: In member function ‘void Thread::Terminate()’:
./src/utils/AutoCleanup.h:148:13: warning: converting to non-pointer type ‘HANDLE {aka long unsigned int}’ from NULL [-Wconversion-null]
   m_hThread = NULL;
             ^
src/socks/SocksMgr.cpp: In member function ‘DWORD CSocksMgr::TCPTunnelProc(LPVOID)’:
src/socks/SocksMgr.cpp:88:16: warning: converting to non-pointer type ‘DWORD {aka long unsigned int}’ from NULL [-Wconversion-null]
  t1.WaitForEnd();
                ^
src/socks/SocksMgr.cpp:89:16: warning: converting to non-pointer type ‘DWORD {aka long unsigned int}’ from NULL [-Wconversion-null]
  t2.WaitForEnd();
                ^
src/socks/SocksMgr.cpp: In member function ‘DWORD CSocksMgr::ForwardProc(void*)’:
src/socks/SocksMgr.cpp:158:15: error: cast from ‘void*’ to ‘int’ loses precision [-fpermissive]
  int s = (int)lpParameter;
               ^
src/socks/SocksMgr.cpp: In member function ‘bool CSocksMgr::Begin(LPCSTR, int, LPCSTR, int)’:
src/socks/SocksMgr.cpp:291:34: error: cast from ‘CSocksMgr*’ to ‘uint32_t {aka unsigned int}’ loses precision [-fpermissive]
   proxy->lpParameter = (uint32_t)this;
                                  ^
src/socks/SocksMgr.cpp: In member function ‘bool CSocksMgr::Begin(LPCSTR, int)’:
src/socks/SocksMgr.cpp:336:34: error: cast from ‘CSocksMgr*’ to ‘uint32_t {aka unsigned int}’ loses precision [-fpermissive]
   proxy->lpParameter = (uint32_t)this;
                                  ^
src/socks/SocksMgr.cpp: In member function ‘bool CSocksMgr::Begin(int)’:
src/socks/SocksMgr.cpp:386:51: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
    t.Start((LPTHREAD_START_ROUTINE)Forward,(void*)rs);
                                                   ^
make: *** [src/socks/SocksMgr.o] Error 1

因为我服务器是64位的，所以出现了一些问题。修改后已成功编译

src/socks/SocksMgr.cpp:291
proxy->lpParameter = (uint32_t)this;
改成
proxy->lpParameter = (uint32_t)this;
src/socks/SocksMgr.cpp:336
proxy->lpParameter = (uint32_t)this;
改成
proxy->lpParameter = (uint32_t)this;
src/socks/SocksMgr.cpp:158
int s = (int)lpParameter;
改成
long s = (long)lpParameter;


Setting cookie with invalid character hangs mocha process

I'm having trouble with mocha and supertest. It seems that, when I provide a cookie with an invalid character, my test doesn't exit. The process keeps running.
Steps to reproduce
Create a new project with npm init -y and install dependencies:
npm i supertest mocha express

Create an index.js file with content:s
const request = require('supertest');
const express = require('express');

require('mocha');

const app = express();

app.get('/user', function (req, res) {
    res.status(200).json({ name: 'john' });
});

describe('app', function() {
    it('should exit', function(done) {
        request(app)
            .get('/user')
            .set('Cookie', '‘foo')
            .expect('Content-Type', /json/)
            .expect('Content-Length', '15')
            .expect(200)
            .end(function (err, res) {
                done(err);
            });
    });
});

Run the test with:
./node_modules/.bin/mocha index.js

Expected
An error about an invalid character (‘ in the cookie) and the process to exit.
Actual
The error appears but the process doesn't exit.
When I look at the active handles, it seems the server is still running (though I'm no Node internals expert).
What I've tried

Return the promise instead of calling done
Adding a catch to the end of the chain and calling done there
Wrapping the whole thing in a try-catch

Found a workaround, but it's not very elegant.
The issue is that the server is still running, i.e. the express app is still listening. I found this thanks to #100.
I fixed it by getting the Test instance first and wrapping the next steps in a try-catch. If anything fails, I make sure to call the end method:
it('should exit', function (done) {
        test = request(app)
            .get('/user');

        try {
            test
                .set('Cookie', '‘foo')
                .expect('Content-Type', /json/)
                .expect('Content-Length', '15')
                .expect(200)
                .end(function (err, res) {
                    done(err);
                });
        } catch (e) {
            test.end();
            done(e);
        }
    });

I had an issue where node v12 crashes when it tries to part invalid HTTP headers. Do you know if that was the same thing?

Hm, my process never exits and I would expect the process to exit (ie the command line to become available again) if Node crashes.

@petermorlion Right, thanks for taking a look anyway. =]


Improvement: import/export saves per game

We can export all GBCC saves, but we cannot export saves for singular games, and can't import saves at all. Becomes an issue if, say, you want to move a save from one emulator to another, or if you get a new device and want to move your save from your old one to the new one. Without imports, you're forced to start a new save from scratch, even though you can export the saves.

You can actually import saves at the moment, but it's not very obvious. The import button also lets you select .savs, and they will be imported, and should work fine long as they're named the same as the corresponding game.
But yeah, the file management in general is a little obscure - I wrote it at a time when Google was making SAF mandatory, and it was unclear whether it was going to be possible to do normal file management stuff in the future. I plan to improve it at some point.

You can actually import saves at the moment, but it's not very obvious. The import button also lets you select .savs, and they will be imported, and should work fine long as they're named the same as the corresponding game.
But yeah, the file management in general is a little obscure - I wrote it at a time when Google was making SAF mandatory, and it was unclear whether it was going to be possible to do normal file management stuff in the future. I plan to improve it at some point.

Oh wow, that is obscure. There was no hint or anything indicating we could import zips or savs at all.

Yeah, as well as file management stuff, one of the things on my todo list is to make a guide / faq in the app, to make it much more clear that you can do things like that.


Problem in installing

I was trying to install EvoCluster in Python 3.6 using command prompt in Windows 10. I am getting the following error
C:\Python36\Scripts>pip3 install -r requirements.txt
ERROR: Could not open requirements file: [Errno 2] No such file or directory: 'requirements.txt'
The link https://www.continuum.io/downloads is not opening. Please help me how can I install EvoCluster for Anaconda?

Hi
You can watch the following tutorial to use the framework:
https://www.youtube.com/watch?v=TOIo9WMBWUc
You also can watch the following introductory video for EvoCluster
https://www.youtube.com/watch?v=3DYIdxILZaw
Good Luck

.


Issue with dot . in prefix and . for decimal

This issue happens both in vue 2 and 3.
Currency in our country is prefixed with 'Rp. '  (e.g: Rp. 100,000.00).
To represent this format, I set "Rp. " as the prefix.
For vue 3 version, the issue can be reproduced in the playground by entering "Rp. " as prefix and type in any value, and the browser is crashed.
Is there any workaround for this issue?

@rick20 Please check latest version for vue3


instanceof checks are not honored by setTimeout

In the following code
function doSomething(e : KeyboardEvent) {
    var target = e.currentTarget;

    // target typed to EventTarget

    if (!(target instanceof HTMLInputElement)) {
        return false;
    }

    // target now typed to HTMLInputElement

    console.log(target.value); // this works fine

    setTimeout(function() {
        // target typed to EventTarget
        console.log(target.value); // this fails
    });
}

The only workaround (an easy one, but still) I've found is to add the instanceof type guard within the setTimeout.

This is a FAQ, described with a workaround in the docs.

Ah thanks.
(link needs a protocol, btw)


When adding an event to my calendar, if a # is found in its title, it strips part of the title of the event

Ok guys, I'm on this one !

Awesome @anthonykgross!


Config rework

reworking the config parsing and CLI

Thank you for the PR. Could you please give a small overview of the conceptional changes that this PR brings?

Since this is a pretty extensive PR I was planning to talk it through in our meeting later  today instead of trying to explain it through text, I should probably have written that down :D

Thank you for the changes, there is a small bug that I noticed when running the script with the --display=ui option:
[...]
Algobattle version 4.0.0
Battle Type: <class 'algobattle.battle_wrappers.iterated.Iterated'>
╔═══════════════╦═══════════════╦═══════╦═══════╦═══════╦═══════╦═══════╦═══════╗
║      GEN      ║      SOL      ║     1 ║     2 ║     3 ║     4 ║     5 ║   AVG ║
╠═══════════════╬═══════════════╬═══════╬═══════╬═══════╬═══════╬═══════╬═══════╣
║ c4subgraphiso ║ c4subgraphiso ║ 50000 ║       ║       ║       ║       ║ 50000 ║
╚═══════════════╩═══════════════╩═══════╩═══════╩═══════╩═══════╩═══════╩═══════╝
[...]

The name of the used Battlewrapper is not correctly resolved.
Is it also intended that the names of the generating and solving teams are substituted by the problem name?
I would find it to be more reasonable to state the name of the problem seperately.

fixed the battle wrapper name issue.
the table does show the names of the teams, but i set it so the default team name is the name of the folder the generator and solver is in. but you're right, that usually is the name of the problem not of the team. changed it so it's just "team 0".

Thank you, it now works as expected.


Errors categorization - meaningful alerting for provisioning functionality

Description
Changes proposed in this pull request:

Make the original caused error returned from each Run step of Provisioning process
Categorize the errors returned
Expose the details of the error returned including error component(category), error reason, error detailed/original message from the codes to the provisioning metric.

Related issue(s)
See backlog #1933

/retest pre-control-plane-components-kyma-environment-broker

/test pre-control-plane-components-kyma-environment-broker

/test pre-main-control-plane-protecode-guard

/test pre-control-plane-components-provisioner

/test pre-main-control-plane-protecode-guard

/test pre-control-plane-components-provisioner

/test pre-main-control-plane-protecode-guard

/test pre-main-control-plane-protecode-guard

/test pre-control-plane-components-provisioner

/test pre-control-plane-components-kyma-environment-broker

/test pre-main-control-plane-protecode-guard

/test pre-main-control-plane-protecode-guard

After looking at the changes a little closer, I realized this might be actually doing something not entirely in alignment with prometheus best practices. Usage of high cardinality or even worse unbounded sets as labels can be a cause of instability and exponential cost growth on prometheus, it's generally not advised - https://prometheus.io/docs/practices/naming/#labels
Number of time-series in prometheus db is a Cartesian product of all labels. The fact we have InstanceID as a label can already be problematic when the adoption of kyma grows, using something as unpredictable as error message in a label can start with poor performance but quickly escalate to unmaintainable prometheus db. It will grow exponentially.
Are we confident that we can have an upper bound on the cardinality of errors and reasons? Looking at some examples here, they seem very verbose such as this one and due to stacktrace presence, growth might be unpredictable

[task "Waiting until shoot infrastructure has been reconciled" failed: Error while waiting for Infrastructure shoot--kyma-dev--b2608b8/b2608b8 to become ready: error during reconciliation: Error reconciling infrastructure: failed to apply the terraform config: Terraform execution for command 'apply' could not be completed: * Error creating EIP: AddressLimitExceeded: The maximum number of addresses has been reached. status code: 400, request id:  on tf/main.tf line 221, in resource "aws_eip" "eip_natgw_z0": 221: resource "aws_eip" "eip_natgw_z0" { * Error creating VPC: VpcLimitExceeded: The maximum number of VPCs has been reached. status code: 400, request id:  on tf/main.tf line 21, in resource "aws_vpc" "vpc": 21: resource "aws_vpc" "vpc" {]

/test pre-main-provisioner-whitesource-scan

correcting my previous comment for other reviewers, I was educated by @vvxxvvxx and @ebensom a bit on prometheus storage.

Number of time-series in prometheus db is a Cartesian product of all labels.

this statement I made is incorrect. Thanks to @ebensom for correcting me, sharing his much more accurate quote here

Every unique key-value labelset creates a new time series, but not a cartesian product result.

Another thing I said that was incorrect

It will grow exponentially.

The above-mentioned quote from @ebensom makes a big difference because it's unlikely that every instance will face every error combination, the growth will most likely be polynomial, close to linear.
But the discussion had an outcome that we will likely still want to remove description as a label with full error message. @ebensom provided good analysis so copying it here too

I know it could aid us in including the error message in the alerting rule (alert message description), however in practice it could result in high churn rate and sparse TSDB which could affect Prometheus storage performance (both inserts and queries).

The label error_msg has been removed and the label name error_component was changed to error_category (may be better to understand..).

/test pre-control-plane-components-kyma-environment-broker

/test pre-control-plane-components-kyma-environment-broker

/test pre-main-control-plane-protecode-guard

I guess this PR is currently waiting for https://github.com/kyma-project/control-plane/pull/1405, is that right? Because that one is in provisioner, I can't help much there but after #1405 merges, I will be happy to approve this too and see how it performs.

I guess this PR is currently waiting for #1405, is that right? Because that one is in provisioner, I can't help much there but after #1405 merges, I will be happy to approve this too and see how it performs.

Yes, this PR is waiting for #1405 to be reviewed and merged first...

/test pre-main-control-plane-reconciler-upgrade-kyma2-latest-to-main-gardener

/test pre-main-control-plane-reconciler-upgrade-kyma2-latest-to-main-gardener


Python interface

Is your feature request related to a problem? Please describe.
Need for a python interface to use Poly with Python 3+. This will enable us to easily integrate parsers, etc. into other software pipelines.
Describe the solution you'd like
A step by step guide on how to integrate poly into Python. This will allow inexperienced software developers to leverage poly's libraries and capabilities easily. From the structure of the codebase, it's hard to figure out what all features are available within the codebase. This should also include a set of easy to follow tutorials that can be used to instantiate the classes and use the API programmatically rather than running subprocesses.
Describe alternatives you've considered
I was looking up online how to do this and it seems like the general path is: Build a Shared Object -> Write CPython wrapper -> Use it. From my experience writing these wrappers is extremely annoying. I've used something like SWIG in the past to generate wrappers for C++ projects with python. I wonder if something similar exists for generating these wrappers. Alternatively, the wrappers need to be created as part of the projects development roadmap to provide API's
https://dev.to/astagi/extending-python-with-go-1deb
Additional context
I myself am new to the go ecosystem so I might be wrong about this. Would love to hear some feedback.

@rkrishnasanka I think supporting python 3 bindings is a little outside of poly's current scope but if you're interested our docs are mostly up to date and go over parsers and hashing functions for both CLI and programmatic usage.
https://timothystiles.github.io/poly/docs/
To be honest I haven't given much thought to supporting language bindings partially because I'd like for synbio as an industry to move away from Python for a whole lot of reasons. I think Python is a great language for prototyping and teaching but unlike Go it was never really meant for engineering stable and efficient industrial systems.
My concerns with providing bindings are the following:

Issues with guaranteeing binding quality
Vector for scope creep
Admin and devops bloat

At this point I'd much prefer that users either use Go or the command line when using Poly but in the future there's really two options for porting poly's functionality to other languages.

Bindings to each language
Provide a rest API

I think both solutions have merit and disadvantages. In either case I'd like to wait until poly hits a stable 1.0 and we have a real business case (i.e someone directly paying us for that feature) before taking up something like that.
If it's just the parsers and standardizing the poly JSON schema so other languages can use it @Koeng101 and I discussed that and it came down to a consensus that we should ship a JSON schema as a minor update sometime shorty after a 1.0 release as seen in pr #31.

In that case, it would be good if you had:

A top-level API that reflects exactly the same interface as what is available with the command line - This would simplify maintenance and creation of language bindings. It would also mean that someone like me would be able to probably do a PR in case I want to use it for a project.
Support for pipes in case I want to shuttle inputs and outputs from the applications - this would simplify issues if we want to stream inputs and outputs from the application (I'm guessing this is already the case)
JSON inputs/SBOL outputs and the corresponding RDF schemas as a part of the longer development roadmap. That would completely solve the need for running complicated command line gymnastics.

I'm not the biggest fan of REST API's personally, too many layers of transformation in general.

The API and command line interface are pretty tightly woven and every command that's been shipped so far supports pipes and redirects with plenty of examples in the documentation.
JSON inputs and exports are already supported with our AnnotatedSequence struct and I'm happy to support SBOL3 when it becomes more clear what the schema will be. My current understanding is that no one has implemented a SBOL3 parser yet and its spec is still being finalized but maybe I'm wrong or things have changed.
If someone wants to write an SBOL2 parser I'd be up for reviewing/helping with that but at the moment I'm focusing on codon optimization which I want to get pushed out along with primer design and cloning.

@TimothyStiles I was looking at the JSON interface and I think that would be best class that would be useful to build a python/c++ interface here. As we modify that we can keep adding whatever python functions we need to update the bindings.
Based on this article here: https://blog.filippo.io/building-python-modules-with-go-1-5/. It seems like it will be a fairly simple process of integrating the python interface from there.

@Koeng101 actually has a strategy for this when we start nearing 1.0 release. Essentially use json schema's to enforce standards between languages. The only reason I haven't merged his pull request is that I expect the sequence struct to be changed a couple more times in the next couple of months.


Document make dep step which may be needed to run make build

See ticket #908
I removed the sudo, it was necessary on my local test box where I had messed up the gopath and the install script tried to the binary to /bin/dep (to my astonishment...)

See the corrected commit.

Ok, that's good to go. I took the liberty to edit the description such that we have a good record of what this PR is about without having to read all the comments.

/approve

/lgtm


It takes very long to stop the container

As title says, for me it takes around 10 seconds to stop the container. This is quite unpractical for development. I am used to stopping times of max 1s.

Confirmed - does take a while to stop.

It seems the regression was introduced in https://github.com/garethflowers/docker-ftp-server/pull/63 ? i.e. it should have been exec /usr/sbin/vsftpd so that the daemon replaces the shell script process and also receives any signals.

The regression from #63 was reverted as part of #80. However it appears as though the problem still remains.


query subsequent/preceeding journeys by ref

closes #24

The build currently fails due to the notoriously unreliable "stopover at" test.

todo: rename ref field to earlierThan/laterThan?

@kiliankoe Do you think this is an intuitive API? What would you do differently?


Webpack - How to add Javascript Library (NPM / Bower / file), for example slick.js

Hi there,
I checked many starter themes that include a build system and chose this one. I am quit happy with it ... EXCEPT I cannot figure out how to add a javascript library. Maybe you can  point out the workflow? I have followed the jQuery in the readme, but without success. I have also read about webpack and check the gulp files.
At the moment, I want to add "slick" for sliders, and as I see, the lazyLoad is already prepared, so it's not an uncommon thing to do.
When I copy slick.js to assets/vendor/ and include it to assets/main.js with "import './vendor/slick'", I run into problems, as the build system adds code on top of slick.js. I cannot even figure out how it does that. Line 3 of that code ("var _typeof2 = webpack_require" ... )then produces an error:
slick.js:3 Uncaught Error: Cannot find module "babel-runtime/helpers/typeof"
I tried to add it with "bower install slick --save", but then I am already stuck again. How do I link the css and js files?
Long story short: Could someone explain to me (and maybe others) how to add a library such as slick the best way?

bump to this. Also followed the (first) jQuery example without success. I haven't had the time to learn enough about gulp and webpack to get this going so I assume I'm missing something, but yeah just following the readme example doesn't seem to do it.

Well, one important thing that I found out is that slick on npm is "slick-carousel", not "slick" (!):
npm install slick-carousel or bower install slick-carousel. That should already make it ready to use.


config(ticdc): use 1 minute kv retry time

What problem does this PR solve?

Use 1 minute for kv retry time to ensure ScanRegion successfully
even if there are some region has no leader for a long time.
Issue Number: close #5230
What is changed and how it works?
Use a large default timeout.
Check List
Tests

Unit test

Release note
None

/merge

/run-dm-integration-test
/run-verify

/run-dm-integration-test
/run-verify

/run-dm-integration-test

/run-dm-integration-test

/run-dm-integration-test

/run-dm-integration-test

/run-dm-integration-test

/run-all-tests

Codecov Report

Merging #5499 (fa30975) into master (e62fbea) will decrease coverage by 0.0774%.
The diff coverage is 79.2746%.

Flag
Coverage Δ

cdc
61.5519% <ø> (+0.0654%)
:arrow_up:

dm
52.0720% <79.2746%> (+0.1056%)
:arrow_up:

engine
?

Flags with carried forward coverage won't be shown. Click here to find out more.
@@               Coverage Diff                @@
##             master      #5499        +/-   ##
================================================
- Coverage   56.3160%   56.2385%   -0.0775%
================================================
  Files           675        530       -145
  Lines         78594      70048      -8546
================================================
- Hits          44261      39394      -4867
+ Misses        30143      26888      -3255
+ Partials       4190       3766       -424

@ti-chi-bot


Enable Apache HTTP and Elasticsearch RestClient logs in tests

This should help debug HSEARCH-2682 (not fixed yet), which I cannot reproduce on my machine, and which I'm having trouble to reproduce on the CI through repeated builds...

merged


enhancing the ui

ui looks  basic  iw ould like to enhance the ui making it more appealing adding more affects and also inclusing login page
please assin me the issue with lable hacktoberfest gssoc extended and level 3 as i am woeking on mutltiple issues .i can make it better

@YadavAkhileshh plz assign level

@YadavAkhileshh plz assign level to this


Generated codes for nullable Enum got analysis error

After updated to V1.4.0, I defined a nullable Enum type in Entity, but got analysis error after run the build_runner.
My codes was like:
enum PrinterType{
  PDF,
  ZPL,
  RAW
}

@Entity(tableName: 'Printer')
class PrinterEntity {
 final PrinterType? type;
}

Then the database.g.dart generated codes like:
(PrinterEntity item) => <String, Object?>{
                  'type': item.type == null ? null : item.type.index,
}

The error was: "Error: Property 'index' cannot be accessed on 'PrinterType?' because it is potentially null" and "Context: 'type' refers to a property so it couldn't be promoted".
I thought maybe replace item.type == null ? null : item.type.index with item.type?.index could fix.

@xiaozhizhong good point,
thanks for the report!

@xiaozhizhong fixed in #722

@xiaozhizhong fixed in #722

thanks! Will it be released to pub in the next few days?

@xiaozhizhong fixed in #722

thanks! Will it be released to pub in the next few days?

yes, fix is in the main develop branch
should be published very soon.

Okay，thank you agian. Let me close this issue.


Is there any way of filtering jobs for queues?

Hi,
Is there anyway possible to have a single queue and multiple worker filtering on jobs, choosing what to run and what not to run?
Thanks!

Hi @ducdigital.
I don't fully understand your question. You could add properties to Jobs that you test in your code to decide to process or not.
Please expand if you need more help.

Hello, i am currently trying to archive something close to a message grouping definition.
Basically what I want to archive is something like this:

The graph might not be clear but I need to support some kind of a session, where each session is a FIFO queue by itself, running one after another only if the previous task is finish. worker can die anytime and another worker can pickup the job. And there will be a lot of queue like this across the system.
In example:
User A join the network, he pushed 2 jobs.
User B join the network, he pushed 3 jobs.
But user A and B created those jobs at the same exact time. we have something like this on a queue:
A1 B1 A2 B2 B3
Let say I have 3 workers: W1, W2, W3
Here's the time serie how workers would pick up in the queue:
W1: A1
W2: B1
W3: null -> since A1 and B2 is still processing and W3 will not pickup anything else from the queue
W1: A2
W2: B2
W1/W2: B3 -> in here which ever worker free first will pick up the next in queue.
The reason I need a filter is because I need the worker not to pickup the message, instead of pickup and ignore so the queue will be intact.
An example in my case would be each worker will be subscribing a stream of queue and filtering by unique ID for 10 - 20 people.

OK, that's good information @ducdigital.
I think rethinkdb-job-queue may do the job for you with the right mix and number of Queues.
There is a query within the queue that will get the next job from the queue. Here is the query: https://github.com/grantcarthew/node-rethinkdb-job-queue/blob/master/src/queue-get-next-job.js#L14
It is based on an index which is ordering the jobs by priority, dateEnabled, and dateCreated. Here is the index definition: https://github.com/grantcarthew/node-rethinkdb-job-queue/blob/master/src/db-assert-index.js#L44
These two features mean that jobs will be processed in the order they are created if you don't change the priority. If you change the priority, the higher priority jobs will be processed first.
Problem is if W1 starts working on A1, W2 could start working on A2.
I can think of one solution however it is dependent on a feature that is being discussed in #47.
Rather than adding A1 and A2 as jobs to the rethinkdb-job-queue processing queue, add UserA to the queue.
The job you add to the queue will have data listed in it about the number of jobs UserA has, what order they should be processed in, and the completed status of each job. Quite easy to do with an Array added to the queue job.
Here is the flow of work:

UserA pushes two jobs.
Job UserA is added to the queue.
W1 picks up UserA job from the queue for processing.
W1 client code finds the first job for UserA being A1 within the job data.
W1 processes A1.
W1 updates the job data indicating that A1 is complete.
W1 updates the job data to change it from a status of completed to waiting.
W1 updates the job dateCreated value if need be to prevent it slotting in-front of other user jobs.
W1 saves the updated job back to the queue.
W1 or W2 or W3 pickup the UserA job and the process continues untill all UserA jobs are complete.

After writing the steps above it occurred to me that this will not work due to step 7. As it is at the moment, the queue must finish a job process by updating the job as completed or failed. If you just save the job back to the queue, the process timeout function will update the job to a failed status.
So you could use rethinkdb-job-queue if there where two new features added to the project:

Having an easy way to find a named job as is being discussed in #47.
Some way of marking a job as part processed or pending from withing the Queue.process processing function.

I like the idea of being able to work on a job without having to fail or complete the job. I will add a new issue as a feature to add to the queue.
So, after all of that, at this point in time, no I don't think rethinkdb-job-queue is a good tool for the job.

I have created #49. Will think on it.

Thanks for your reply @grantcarthew
Just for clarification, in this way, number of items in a Queue is always = number of Users?
For instance lets say a Publisher push something like the following to the queue:
A: [1, 2]
B: [1, 2]
A: [3, 4]

Isn't it that the problem remain the same as you said

Problem is if W1 starts working on A1, W2 could start working on A2.

Not at all. While UserA job is being worked on it is set to an active status and will no be picked up until after A1 has been completed. The queue will only find jobs to work on if they are at an waiting or failed status.

Hey @ducdigital. If you are following along, #49 is complete.

OK @ducdigital, both features are added to the project now. Have a look at the Change Log.
Let me know how you go.
Please close this issue if you are happy with how to proceed.

I'm going to close this @ducdigital, re-open it if you have more questions.


Added a pixelRatio adjust to the canvasTileLayer 'forEachLayerAtPixel…

…' method
This method was composing a frame that was only accurate for devices
with a pixelRatio of 1. Now the canvas widths and heights are
multiplied beforehand by the pixelRatio. #5601

Thanks for the fix @Benjaki2!


Entry point for Flink REST API using external SDK driver program.

This is the more flexible approach of launching pipelines via the Flink REST API. Instead of running the driver program during build time and baking the pipeline into a Flink fat jar, the pipeline is constructed at job submission time through integration with the OptimizerPlanEnvironment. More details in the javadoc.

Comments addressed. The execution handover is much simpler now, after few changes/cleanup in surrounding classes.

Upstream ticket: https://issues.apache.org/jira/browse/BEAM-8471

upstream: https://github.com/apache/beam/pull/9872


Fix uninitialized variable warning in ostest

In lowpri_thread if sem_wait fail nwaiting will not be set even
though the rest of the function uses it.  This is a failure
so really just handling the compiler warning with this.
Signed-off-by: Brennan Ashton<EMAIL_ADDRESS>

@patacongo  This really papers over the issue, but at this point the ostest has failed so I am not sure how much error handling to add around this vs just being explicit in the behaviour.

A lot of unrelated style issues that I am resolving.


[Bug] render does not build after recent bumps

Page link
No response
Description
The render utility no longer builds after recent Dependabot bumps.
go build .
# k8s.io/klog/v2
../../../../go/pkg/mod/k8s.io/klog/v2@v2.8.0/klog.go:703:13: invalid operation: logr != nil (mismatched types logr.Logger and untyped nil)
../../../../go/pkg/mod/k8s.io/klog/v2@v2.8.0/klog.go:722:13: invalid operation: logr != nil (mismatched types logr.Logger and untyped nil)
../../../../go/pkg/mod/k8s.io/klog/v2@v2.8.0/klog.go:740:13: invalid operation: logr != nil (mismatched types logr.Logger and untyped nil)
../../../../go/pkg/mod/k8s.io/klog/v2@v2.8.0/klog.go:761:13: invalid operation: logr != nil (mismatched types logr.Logger and untyped nil)
../../../../go/pkg/mod/k8s.io/klog/v2@v2.8.0/klog.go:780:14: invalid operation: loggr != nil (mismatched types logr.Logger and untyped nil)
../../../../go/pkg/mod/k8s.io/klog/v2@v2.8.0/klog.go:792:14: invalid operation: loggr != nil (mismatched types logr.Logger and untyped nil)
../../../../go/pkg/mod/k8s.io/klog/v2@v2.8.0/klog.go:910:12: invalid operation: log != nil (mismatched types logr.Logger and untyped nil)
../../../../go/pkg/mod/k8s.io/klog/v2@v2.8.0/klog.go:1272:21: invalid operation: logging.logr == nil (mismatched types logr.Logger and untyped nil)
../../../../go/pkg/mod/k8s.io/klog/v2@v2.8.0/klog.go:1273:21: cannot use nil as logr.Logger value in struct literal

Expected behavior
go build . correctly builds render
Slack discussion
No response

Can you help, @eddycharly?

Can you please elaborate more, I want to contribute to this issue

This was fixed by @eddycharly but I forgot to close. Thanks for the interest.