Test Harness Intended Usage

Clarification Sought
"Test Harness - A set of automated tests to provide a validation reporting to a Data Holder in line with the future regulatory expectations" - Quoted from here
Need clarifications on above statement to find real value of this harness.

Also, my assumption is, the harness above statement is referring to is this repository only (i.e. cds-conformance)?

This clarification is needed because readme file of this repository has a very narrow purpose and doesn't align with above statement.

Does this mean that participants are encouraged to use this repo to check conformance of their APIs such as for self-assessments and/or to make it part of their CI/CD practices?

Data61 will maintain and keep this harness up to date?

Data61 will use this harness to perform any official conformance tests of participants APIs?

What is the overall scope of this test harness? What future regulatory expectations will it cover? only payloads or performance testing aspects as well?

Hi @fahadbinrahat , thank you for raising the question and sorry for no response until now.
cds-conformance repo is archived. All the java artefacts are consolidated into this repo, hence I tranferred the issue here.
Hi @nghamilton and @louistaborda, would you please answer this question, as I think you might have more insights than me?

A few comments in answer to the above questions:

All artefacts produced by the Engineering team are now found entirely within this repo ('java-artefacts'), which includes the testing framework found in the reference-test folder.

Participants are encouraged to use (and build upon) tools in this repo to assist in validating their own software. For example, the reference-test tool has the feature to validate payloads returned from DHs and confirm that they are structurally correct.

The tools are not intended to warrant conformance to the Standards, but rather are an aid for self-assessment. The Data Standards Body develops the reference implementation and associated software tools as examples to inform our standards development and also to help educate the technical audience that works with our standards.  We currently expect to continue to develop and maintain this software as the standards evolve.

This software is open source and provided “as is” for the CDR community.  The Data Standards Body does not define rules, regulations, accreditation criteria, or conformance tests for the CDR regime.


Shield cfn-signal behind experimental flag.

In preparation for node cordoning/uncordon process 1/2
I think it's safer to have an easy way to disable this while we work on it.
Note that this reverts the PauseTime to 2 minutes and the WorkerCreateTimeout / ControllerCreateTimeout remain top level variables.

Current coverage is 55.15% (diff: 100%)

Merging #82 into master will increase coverage by 0.12%

@@             master        #82   diff @@
==========================================
  Files             4          4
  Lines          1045       1048     +3
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits            575        578     +3
  Misses          388        388
  Partials         82         82

Powered by Codecov. Last update ffe8d27...e492330

If you have not yet done so, make format seems to be required!

Will i ever learn..

Real world check successful. LGTM :+1:

Thanks as always, @pieterlange!


League Signup does not support Emoji

See #746.
shared.pd_exception.DatabaseException: Failed to execute INSERT INTO deck ( created_date, updated_date, person_id, source_id, url, identifier, name, competition_id, archetype_id, resource_uri, featured_card, score, thumbnail_url, small_thumbnail_url, wins, losses, draws, finish ) VALUES ( IFNULL(%s, UNIX_TIMESTAMP()), UNIX_TIMESTAMP(), %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s ) because of (1366, "Incorrect string value: '\\xF0\\x9F\\x98\\xB1' for column 'name' at row 1")

This works fine on local and 😱 is stored correctly in the db for the Amoncursed! deck. Something about cloudflare-nginx is causing the problem? Not clear. The HTTP headers are correct.

I think, actually, that it's the mysql configuration on the server that is the issue. But I'm going to override it with SET NAMES in 9578d26. I'll leave this open til I can test on the server: http://pennydreadfulmagic.com/decks/1614/

All is well.


chore: remove margin-wagmi

Current dependencies on/for this PR:

main

PR #177

PR #178   👈

This comment was auto-generated by Graphite.

Graphite Merge Job
Current status: ⏳ Queued to merge
This pull request is currently queued to be merged as part of a stack.
This comment was auto-generated by Graphite.

Job Reference: 7poIOCB6dCMmI0WRvE1R


Migrate to the new Scala Evaluator build

This issue/document is intended to be a plan for migrating the current Scala Evaluator to one using Docker.
The current Scala Evaluator is at http://scala-evaluator.herokuapp.com.
The new Scala Evaluator is at http://scala-evaluator-sandbox.herokuapp.com.
Motivation
A new Scala Evaluator has been deployed in a Docker container to provide greater protection for running third-party code. This has been deployed in parallel so as to keep continuity with applications already running the evaluator while we switch to the new one.
For most applications, migrating to the new Evaluator is simply an endpoint change in configuration, and an update to the auth token header used in requests.
Plan outline
In a nutshell:

Move applications to the new endpoint
Confirm they still work
Update original endpoint to the new build
Move the applications back to the original endpoint
Confirm they still work
Remove the unused endpoint completely

Tasks:

[x] Confirm Kazari works against the new endpoint
[ ] Update and redeploy sbot to the new endpoint
[ ] Update the new endpoint to use professional Heroku dynos
[ ] Update and redeploy Scala Exercises to the new endpoint
[ ] Configure Travis to deploy Docker builds to the original endpoint
[ ] Confirm Kazari works against the original endpoint
[ ] Update and redeploy sbot to the original endpoint
[ ] Update and redeploy Scala Exercises to the original endpoint
[ ] Delete scala-evaluator-sandbox Heroku app

While this seems like more steps than necessary, performing the steps this way (that is, update config to the new endpoint, start deploying Docker builds to the original endpoint, update config back to the original endpoint) allows for continuity during the releases, and a more stable approach and easier rollback should anything go wrong.

This looks like a great plan to me.

Migration completed, sandbox app deleted, and Kazari, Sbot and Scala Exercises are all happy.


Build Not working

When trying to build this, yumdownloader is not able to find any of the packages:
57 packages excluded due to repository priority protections
No Match for argument clamav
No Match for argument clamav-lib
No Match for argument clamav-update
No Match for argument json-c
No Match for argument pcre2
No Match for argument libxml2
No Match for argument bzip2-libs
No Match for argument libtool-ltdl
No Match for argument xz-libs
No Match for argument libprelude
No Match for argument gnutls
No Match for argument nettle
No Match for argument libcurl
No Match for argument libnghttp2
No Match for argument libidn2
No Match for argument libssh2
No Match for argument openldap
No Match for argument libffi
No Match for argument krb5-libs
No Match for argument keyutils-libs
No Match for argument libunistring
No Match for argument cyrus-sasl-lib
No Match for argument nss
No Match for argument nspr
No Match for argument libselinux
No Match for argument openssl-libs
No Match for argument libcrypt
Nothing to download

Any thoughts?

hi @cfalzone, thanks for reporting this! I haven't been working with this lately but would absolutely welcome any help you can provide in the form of troubleshooting or even a PR.

So far all I have come to is that if I take out -- --archlist=x86_64 it gets through creating the zip, but when I try to use the layer In my function it is giving this error:
clamscan: error while loading shared libraries: libjson-c.so.2: cannot open shared object file: No such file or directory

I checked in the zip and it is in there in the lib folder so I don't know how to proceed.
My code to call it using child_proccess.spawnSync in nodejs:
    const scan = spawnSync('clamscan', ['', `/tmp/${fileName}`], {
      // cwd: '/tmp',
      encoding: 'utf8',
      stdio: 'inherit',
    });

I tried reproducing this, but couldn't. Do you have the complete log output of make build?

Here is my output -- https://gist.github.com/cfalzone/ea88463d3efc6b939cfa677d6734d8b9
Could this have something to do with building this on an M1 Mac?

I do seem to have a different Image id
REPOSITORY                       TAG       IMAGE ID       CREATED         SIZE
amazonlinux                      2         5fbac2e4cd8c   6 days ago      193MB

That was, at least in part, the issue.
adding: --platform=linux/x86-64 to the docker run command forces it to use the correct image.
So now I have the layer built and I deployed it with serverless.  But I still get this error when running it:
2021-12-09T12:59:35.059000+00:00 2021/12/09/[$LATEST]953c55114efd4d9ca5d09aa1329462b8 LibClamAV Error: cl_load(): No such file or directory: /var/lib/clamav
2021-12-09T12:59:35.059000+00:00 2021/12/09/[$LATEST]953c55114efd4d9ca5d09aa1329462b8 ERROR: Can't get file status
2021-12-09T12:59:35.060000+00:00 2021/12/09/[$LATEST]953c55114efd4d9ca5d09aa1329462b8 ----------- SCAN SUMMARY -----------
2021-12-09T12:59:35.060000+00:00 2021/12/09/[$LATEST]953c55114efd4d9ca5d09aa1329462b8 Known viruses: 0
2021-12-09T12:59:35.060000+00:00 2021/12/09/[$LATEST]953c55114efd4d9ca5d09aa1329462b8 Engine version: 0.103.3
2021-12-09T12:59:35.060000+00:00 2021/12/09/[$LATEST]953c55114efd4d9ca5d09aa1329462b8 Scanned directories: 0
2021-12-09T12:59:35.060000+00:00 2021/12/09/[$LATEST]953c55114efd4d9ca5d09aa1329462b8 Scanned files: 0
2021-12-09T12:59:35.060000+00:00 2021/12/09/[$LATEST]953c55114efd4d9ca5d09aa1329462b8 Infected files: 0
2021-12-09T12:59:35.060000+00:00 2021/12/09/[$LATEST]953c55114efd4d9ca5d09aa1329462b8 Data scanned: 0.00 MB
2021-12-09T12:59:35.060000+00:00 2021/12/09/[$LATEST]953c55114efd4d9ca5d09aa1329462b8 Data read: 0.00 MB (ratio 0.00:1)
2021-12-09T12:59:35.060000+00:00 2021/12/09/[$LATEST]953c55114efd4d9ca5d09aa1329462b8 Time: 0.038 sec (0 m 0 s)
2021-12-09T12:59:35.060000+00:00 2021/12/09/[$LATEST]953c55114efd4d9ca5d09aa1329462b8 Start Date: 2021:12:09 12:59:35
2021-12-09T12:59:35.060000+00:00 2021/12/09/[$LATEST]953c55114efd4d9ca5d09aa1329462b8 End Date:   2021:12:09 12:59:35
2021-12-09T12:59:35.064000+00:00 2021/12/09/[$LATEST]953c55114efd4d9ca5d09aa1329462b8 2021-12-09T12:59:35.064Z	196fc5e6-934f-5a69-977a-9fcd6ca2a1ee	INFO	{
  message: 'File scan status',
  scanStatus: 2,
  fileId: '0d136b97-cced-4784-a000-8969df4ad67d',
  key: 'processing/0d136b97-cced-4784-a000-8969df4ad67d/raw.jpg'
}
2021-12-09T12:59:35.064000+00:00 2021/12/09/[$LATEST]953c55114efd4d9ca5d09aa1329462b8 2021-12-09T12:59:35.064Z	196fc5e6-934f-5a69-977a-9fcd6ca2a1ee	INFO	{
  message: 'File scan results',
  scan: {
    status: 2,
    signal: null,
    output: [ null, null, null ],
    pid: 24,
    stdout: null,
    stderr: null
  },
  fileId: '0d136b97-cced-4784-a000-8969df4ad67d',
  key: 'processing/0d136b97-cced-4784-a000-8969df4ad67d/raw.jpg'
}

This is my handler code: (Typescript)
  try {
    const scan = spawnSync('clamscan', ['', `/tmp/${fileName}`], {
      encoding: 'utf8',
      stdio: 'inherit',
    });
    console.log({ message: 'File scan status', scanStatus: scan.status, fileId, key });
    console.log({ message: 'File scan results', scan, fileId, key });
    return true;
  } catch (err) {
    console.log({ message: 'Unable to scan file or file infected.', err, fileId, key });
    return false;
  }
}

Okay I figured it all out.  I did end up get this working.

If you are using an M1 Mac you have pass the --platform=linux/x86-64 and ensure that the resulting zip file for your layer is built in the docker image not on your mac.

The error LibClamAV Error: cl_load(): No such file or directory: /var/lib/clamav is simply because I never downloaded the virus definitions using freshclam before trying to scan a file.  I ended up making a separate lambda function for this that runs on a 3hr schedule.

That being said, this was linked in another ticket, I ended up switching to use lambci's yumda repo instead of the process outlined here.  See:  https://github.com/lambci/yumda/issues/3, much simpler build process for my chain.
Thanks for your help.


Error while importing OPML on miniflux.net

Actual behaviour
I have an error when I try to import an OPML file (from FeedHQ).
Unable to import your OPML file. (SQL error)

Expected behaviour
My OPML should be imported.
Steps to reproduce

Export OPML from FeedHQ
Import OPML into miniflux
Error :/

Configuration

Miniflux version: Hosted on app.miniflux.net
OS: Mac OS
Browser: Firefox

I would like to reproduce the issue, can you share your OPML file here or privately at<EMAIL_ADDRESS>? Thank you

I just sent you my OPML file.

I tried to import my feeds manually, and I have a problem with this feed: http://www.biblio2caps.fr/EXPLOITATION/Default/Ermes/Recherche/Search.svc/SearchRss?q={"CloudTerms":[],"PageRange":3,"QueryString":"*:*","ResultSize":6,"ScenarioCode":"AGENDA","ScenarioDisplayMode":"","SearchTerms":"","SortField":"DateStart_sort","SortOrder":1,"XslPath":"Recherche/encart_search.xslt","UseCache":true}
I have a blank page.

I removed it from my OPML and all is fine.
I know that this feed has a particular URL...

The problem was coming from the URL length. The allowed size have been increased. This feed should work now.
Thank you

You're right, it works. Thank you so much.


Animating 2 widgets

Hello!
I have a question about the best way to handle two simple, but very different animations in single module. I have two animation styles defined in my model like this:
, styleInfo =
      UI.init
        [ Top -10.0 Px
        , Opacity 0.5
        ]
  , styleMeter =
      UI.init
        [ Width 450.0 Px
        ]

The styleInfo animates the position of an information drawer that slides up from the bottom. The styleMeter animates the width of a scale meter.
I have some actions that update the animations like this:
  -- The animation actions for the info drawer
  ShowInfo ->
      let
        model' =
          { model
              | infoBoxIsOpen = True
          }
      in
        UI.animate
          |> UI.spring UI.wobbly
          |> UI.props
              [ Top (UI.to -300) Px
              , Opacity (UI.to 1)
              ]
          |> onMenu model'

    HideInfo ->
      let
        model' =
          { model
              | infoBoxIsOpen = False
          }
      in
      UI.animate
        |> UI.spring UI.wobbly
        |> UI.props
            [ Top (UI.to -10) Px
            , Opacity (UI.to 0.5)
            ]
        |> onMenu model'

  -- The animation to scale the width of the meter
 UpdateMeter level ->
      let
        model' =
          { model
             | storyLevel = level
             , storyChapter = currentStoryChapter level model.totalStoryChapters
          }
      in
        UI.animate
          |> UI.spring UI.wobbly
          |> UI.props
              [ Width (UI.to (toFloat (meterWidth model'))) Px
              ]
          |> onMeter model'

Then I have helper functions to update these two different kinds of animations.
onMenu =
  UI.forwardTo Animate .styleInfo (\w styleInfo -> { w | styleInfo = styleInfo })

onMeter =
  UI.forwardTo Animate .styleMeter (\w styleMeter -> { w | styleMeter = styleMeter })

I've hooked all this up to my UI, and, when I test them individually, they work just fine (actually, they look really amazing, thanks!!).
But, of course, I can only run one of these at a time in the Animate action
Animate action ->
  onMenu model action

  -- or
  -- onMeter model action
  -- ... but not both

Could you suggest a solution as to how I could get both these animations to work at the same time?
I'm pretty sure the answer lies somewhere in your Example #3, but it's a little too advanced for me and I haven't yet been able to work out how to apply it my current problem.

Hello!
The issue here is that you're going to need an action to channel each animation separately.  So, instead of just Animate  you'll need AnimateMeter and AnimateInfo, each having their respective version of  onMenu model action or onMenu model action.

Thank you, Sir, I will try that :)

No problem.  Let me know if you run into any issues :)

Marvelous! I've just implemented your suggestion and it works like a charm :)


python311Packages.aiovodafone: 0.5.1 -> 0.5.3

Diff: https://github.com/chemelli74/aiovodafone/compare/refs/tags/v0.5.1...v0.5.3
Changelog: https://github.com/chemelli74/aiovodafone/blob/v0.5.3/CHANGELOG.md
Description of changes

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 282554 run on x86_64-linux 1

3 packages built:

home-assistant-component-tests.vodafone_station
python311Packages.aiovodafone
python311Packages.aiovodafone.dist


Add HINTS for grade-school exercise

As specified in #234.

Looking good, thanks @ErikSchierboom!


Support for issuetype in Jira Plugin for Kestra

Expected Behavior
I'm experiencing an issue when trying to create Jira issues using the io.kestra.plugin.jira.issues.Create plugin in Kestra. The Jira API requires the issuetype field to be present in the request body, but the plugin currently does not support this field, leading to a 400 Bad Request error when attempting to create an issue.
While the curl request requires issue type field in it.
`id: create_issue
type: io.kestra.plugin.jira.issues.Create
baseUrl: https://your-domain.atlassian.net
username<EMAIL_ADDRESS>password: "{{ secret('your_jira_api_token') }}"
projectKey: MYPROJECT
summary: "Workflow failed"
description: "The workflow execution has failed. See the link below for more details."
labels:

bug
workflow```

Actual Behaviour
The plugin does not accept the issuetype field, resulting in a 400 Bad Request error when communicating with the Jira API. This error indicates that the issuetype field is missing from the request, which is mandatory for creating issues in Jira.
While using Curl request if we do not send it we get
{"errorMessages":[],"errors":{"issuetype":"Specify an issue type"}}
Steps To Reproduce
Create a new Kestra workflow with the io.kestra.plugin.jira.issues.Create plugin.
Configure the plugin with the following parameters:
yaml
id: create_issue
type: io.kestra.plugin.jira.issues.Create
baseUrl: https://your-domain.atlassian.net
username<EMAIL_ADDRESS>password: "{{ secret('your_jira_api_token') }}"
projectKey: MYPROJECT
summary: "Workflow failed"
description: "The workflow execution has failed. See the link below for more details."
labels:
  - bug
  - workflow

Environment Information

Kestra Version: 0.18.8
Plugin version:
Operating System (OS / Docker / Kubernetes):
Java Version (If not docker):

Example flow
No response

Hey @Ben8t
Can I pick this up?
Thanks!


There is a hard limit of 20 assistants after which we assistants that are created are not listed and not usable for chats.

Steps to reproduce the problem:

Create 20 assistant.
Create 1 more assistant.
This assistant is not getting listed in the "chat" or "Explore Assistants" page

Expected Behavior:
Should be able to list the assistant created and use it for chat.

@sangee2004 I believe this was resolved with https://github.com/acorn-io/rubra/commit/bc4006577d1852a8974f218e706a356b614c824d

This issue is not seen any more when testing with latest rubra installs.
Able to work with and create more assistants when there are more than 20 of them.


yii\helpers\BaseInflector::slug() doesn't shrink multiple replacement occurences to single

What steps will reproduce the problem?
Inflector::slug(' _ _ remove excess _ _ replacements_', '_');
What is the expected result?
remove_excess_replacements
What do you get instead?
remove_excess_____replacements
Additional info

Q
A

Yii version
2.0.16-2.0.30 since #15204

PHP version
7.0.33

Operating system
Debian 7

While it's a good change as such and definitely should be applied to https://github.com/yiisoft/strings/blob/master/src/Inflector.php, changing the way how it works is a backwards compatibility break for Yii 2.

@batyrmastyr thanks for a good idea for Yii 3. Won't be merged into 2.0 though. Sorry.

Re-considered since it's 2.0.16 regression.


NIFI-631 Create ListFile and FetchFile processors

Was this closed or submitted erroneously?

Sorry about that.  I thought I had to delete it and resubmit it to fix the title, but realized I could change the title and reopen it.

Joe, thanks for getting this processor going. I need it. :) I've pulled this in and am giving it a try. I have some additional thoughts on functionality.

Should it have a "Recurse sub-directories <yes|no>" option? Reason I mention this is because, in my setup, I have to scan files from an NFS share and it actually is not so fast, especially if you recurse many levels of subdirs that you don't really need to look at. That's special case, I know, but it is a valid use case and we could eliminate some latency by not requiring a full recursive scan all the time.
Should it have the option to specify a seeded last modified time? Say there is a directory full of files from days or weeks but you only want to start pulling them in from say, one day ago or some specific date/time, and not pick up all the previous files
If there are empty directories in the path you are scanning, they get listed in the "filename", just like an actual file would be listed. I think it would be nice to have another attribute that indicated whether the leaf node was a file or directory as that could more easily be use by downstream processors to decide how to act on that value.
Should it expose each files actual last modified timestamp in the FlowFile Attribute Map Content?

I guess for all other types of filtering, like wildcards and such, the right 'Nifi' thing to do is use a downstream "UpdateAttribute" processor to massage the list. Correct? Maybe this also applies to #2 above, then?
Maybe the following should/work be part of the code review process but I will note here just in case. I'm new to this OSS process but, since I see this as a pull request, it made me think it was ready to go but seems some stuff is missing?

There is no description of the processor
The 'path' attribute description of "The path on the system from which to pull or push files" is misleading, IMO. Maybe "The path on the system where this processor will scan files and directories to build the file list."


[FR] Support SkipTunes playback control

I love using SkipTunes as my universal playback controller. It'd be sweet if it could support SoundCleod too. I'm not sure who needs to do what, but I reached out to SkipTunes's developer @gregdougherty to see.
Wanted to file this issue here to track this request.

Not sure how SkipTunes works, I happy to tweak SoundCleod if the changes required are small enough.


Fix permission issue caused by multiple users trying to write same native library in /tmp

modified:   common/src/main/java/com/sedmelluq/discord/lavaplayer/natives/NativeLibLoader.java

Reference bugs: #153
JMusicBot Bug


Implement restraint plugin for the execute step

Restraint allows custom plugins (e.g. scl enable)  and has support for avc_check, dmesg etc from the box.
Since restraint is client-server, tmt would need to
a) install restraint on VM  (depends on 3rd party packages)
b) prepare job.xml from tests.yml
c) spawn restraint on host, set it to connect to VM and feed on job.xml
d) convert test outcome to internal format
As for custom plugins - they are just shell script placed to the right location, IMHO we should create way to "install" them via tmt - so user doesn't need to create their own ansible scripts to detect right destination directory (in case they differ between systems). E.g.
how: restraint
plugins:
  task_run: source_path [source_path]
  report_result: source_path

Looks that newest restraint (0.2) doesn't need to be run/enabled on the VM. It just needs to be installed.

Does this mean it should run on the host (not on the guest / in the VM)?
What does restraint need, apart from the restraint library / executable, to run?

It runs on both. The 'host' spawns instance on 'guest' on its own e.g. restraint --job job.xml --host 1=user@guest does the job.
Problem is that restraint needs either rpm with test or url to download test from (tarball or git://) - we will need to  workaround it via our wrapper or similar to run tests from VM without "installation"

Doing restraint --job job.xml --host 1=user@guest allows you to run tests, but there are some quirks. I'm curious to know whether tmt can somehow handle all that output. I'm afraid that by default you will miss important corner cases, where you need to act on restraint output in some way. That's what I've been doing with restraint wrapper that lives inside UPT. https://gitlab.com/cki-project/upt
If you can make some kind of stub integration of restraint into tmt, we would more clearly see the missing cases and could discuss further whether we can integrate a portion of my work into yours.

@wizardofoz123 sorry used our automation account :)

I was thinking about parsing final job.xml from job's output directory. But I'm curious to see corner cases.

@lukaszachy If you parse job.xml, then you have to wait for it to end. We cannot do "run & be done with it" policy, we need immediate incremental results.
Parsing job.xml is the problem - I doesn't give you everything, at least not LWD/EWD properly.
A portion of the problem might be our use-case; we need to do retries immediately to have some idea if it's (for example) a broken machine or not.
Some of our corner-cases/requirements:

Detect LWD/EWD and possibly re-run tests on another machine

Adjust machine reservation length accordingly to test that are supposed to

be immediately re-run

Get subtask results (e.g. parse files restraint client creates)
Detect broken network connections from host to guest
Handle cases where provisioner releases machine before restraint is done running

What is LWD and EWD?
Thank you for the corner cases examples.

@lukaszachy That's localwatchdog and external watchdog hits.
Most commonly, EWD hit with restraint in standalone mode is identified by:
Console output: "Recipe 1234 exceeded lab watchdog timer [restraint-error-quark, 4]"
(restraint client will terminate)
Status: Aborted
Subtask result: NaNNaNNaN
Most commonly, LWD hit with restraint in standalone mode is identified by:
Status: Aborted
Subtask result:  /10_localwatchdog
There's tiny bit of inconsistency in this, especially the incomprehensible NaNNaNNaN subtask result, than we may have to discuss with restraint maintainer.

Just found out that restraint doesn't allow to select ssh port  - this will be an issue for 'testcloud' as in qemu://session  host is always localhost and just ports differ. Filled an issue and lets see - https://github.com/beaker-project/restraint/issues/208

So the trick (kudos to Martin) is to use -e "ssh -p 1234" (e.g. restraint --job job.xml -t <IP_ADDRESS> -v -e 'ssh -l root -p 10038')

@lukaszachy I might have some time and desire to try adding UPT/restraint runner as an optional dependency to tmt, to create restraint plugin for the execute step.
Before I start on that, I'd just like to verify whether someone isn't already implementing something similar, so we don't duplicate work.
I'll also appreciate any advice regarding this / interface with tmt.

I might have some time and desire to try adding UPT/restraint runner...

That sounds great, @wizardofoz123! I've checked on today's hacking session and nobody else has started to work on this. Let me/us know if you are missing any information about tmt implementation. There's also a tmt code introduction recording, I will share the link with you.

Very good news @wizardofoz123. Do you have an idea how to workaround the need of task's  or  attributes in the job.xml? I was thinking about using shell wrapper (we have one internally so it should be easy to make it public).

@wizardofoz123, what is your plan here? Do you expect to start working on this in the coming weeks? Are you blocked on something? Do you need any help? Is the 1.6 milestone (end of May) realistic? Or shall we move this to a later release?

Discussed through chat with psss. In the end, I'm not going to be the one driving this issue forward and I don't yet know who will.

Hi @wizardofoz123, In your restraint support in UPT  - Did you workaround restraint's need to install / fetch task on its own?
In other words - all test data are already present on the system, restraint should just execute right file from right directory.

@lukaszachy Hi, I haven't tried to solve that and with me leaving RH, I won't. Currently, we just ensure that every task has that  element.

Just a note for the future:
   <task name="TASK_NAME" keepchanges="yes">
    <rpm name="RPM" path="/path"/>

With keepchanges restraint doesn't is OK with package already installed so prepare step can install it on its own.
If /path is set to cwd for test then we might be OK with just creating 'metadata' file (similar to metadata.yaml) which need to contain
[General]

[restraint]
entry_point=<value of test attribute>
max_time=<value of duration>

environment should be set from job.xml
require/libs/recommend installed already by prepare step
So just some 'fake' rpm already present on the system is necessary. Maybe 'restraint'?

So we've take the path of implementing restraint-compatible commands instead of introducing a separate restraint plugin:

https://tmt.readthedocs.io/en/stable/stories/features.html#reboot-during-test
https://tmt.readthedocs.io/en/stable/stories/features.html#save-a-log-file
https://tmt.readthedocs.io/en/stable/stories/features.html#report-test-result

So far there does not seem to be an essential blocker on this approach. I guess we can close this now and reopen later if the need for the real plugin is confirmed. @lukaszachy, what do you say?

Closing as there were no requests for more restraint commands.


docs: fix string in example

Problem Statement
The address in the first example should be the base64-decoded string.
Proposed Changes
This is just a simple documentation fix.
Checklist

[x] I have read the contribution guidelines
[x] All commits are signed with git commit --signoff
[x] My changes have reasonable test coverage: Does not apply
[x] All tests pass with make test: Does not apply
[x] I ensured my PR is ready for review with make reviewable

hi @thiagowfx ! can you please sign off your commits? you can do it with git commit --signoff

The commit is already signed, that would be the DCO check, which is currently passing:

...or did I miss something?

It shows the behavior of decodingStrategy: Auto which would read over different strings and decode them.

Ah. Fair enough. I found the example a bit confusing at first glance, that wasn't obvious, but it makes sense. Then I'll close it. Thanks!


Not receiving notification when app is killed in android 8.0.0 and above (Oreo).

I'm using react-native onesignal 3.0.5 and react-native 0.53.3.
It's working absolutely fine in almost every platform (Android/IOS) and every situation (Running in Foreground/Background/Killed).
In android version 8.0.0 or above, app doesn't receiving notification or displaying notification while app is killed. I tested it on One Plus 5 and 5T. Other android devices except one plus, it's working fine.
Other apps like whats app, instagram notifications are working fine even app is killed.
 But this is not general solution.
These are also reference links but i can't get appropriate solution.
https://stackoverflow.com/questions/39504805/android-app-not-receiving-firebase-notification-when-app-is-stopped-from-multi-t/39505298#39505298
https://github.com/evollu/react-native-fcm/issues/933
https://stackoverflow.com/questions/39480931/error-broadcast-intent-callback-result-cancelled-forintent-act-com-google-and

@shahchaitanya Unfortunately, there just isn't much we can do about this. With some Chinese devices like the OnePlus, it's not possible to work around this, they will block notifications for apps that explicitly get terminated.

@Nightsd01 Yeh I know It's not one signal problem. It's OS Problem. I searched solution but i didn't find workaround. So I posted it here.

@shahchaitanya does your application at least display the pop up asking for the activation of notifications ? Coz, I have a user with a OnePlus 3T on 8.0.0 who doesn't even had the possibilities to say yes or not at the beggining with the pop up alert. Just wanted to know if it was the same problem.
@Nightsd01 How can you say the problem come from the OS when the others applications works well for the notification on his phone... ? 😮

@MayeuldP thiswill help you. Other application like Facebook and Whatsapp run in background even it's killed.


Building the tool

Is there any instructions on how to solved the problem mentioned in the ticket https://github.com/kubernetes-incubator/cluster-capacity/issues/21, tried it with 1.7 and with 1.8. Tried adding the vendor directory to the GOPATH (besides a directory in my home directory), which doesn't work as well.

@pvanderlinden Could you please share your exact error logs and steps to reproduce this?

Hi @aveshagarwal the error is the same as in the linked ticket
Reproduce:

Have a standard Go setup
clone this repository
run "make build"

Output:
go build -o hypercc github.com/kubernetes-incubator/cluster-capacity/cmd/hypercc
can't load package: package github.com/kubernetes-incubator/cluster-capacity/cmd/hypercc: cannot find package "github.com/kubernetes-incubator/cluster-capacity/cmd/hypercc" in any of:
	/opt/go/src/github.com/kubernetes-incubator/cluster-capacity/cmd/hypercc (from $GOROOT)
	/home/paul/golib/src/github.com/kubernetes-incubator/cluster-capacity/cmd/hypercc (from $GOPATH)
Makefile:16: recipe for target 'build' failed
make: *** [build] Error 1

I can work around the issue with go get github.com/kubernetes-incubator/cluster-capacity/cmd/hypercc

hi @pvanderlinden . was wondering if you can post on what you did to get this to work. did you run on the controller node? or any worker node?   How did you get the make build to work? Thanks

@go4875 I didn't use the tool as it was not what I was looking for in the end. I got it to compile with the above work around, then realized from the help text it was not going to do what I needed.

@pvanderlinden Could you provide some details what were you looking for, so that it'd help us in figuring out if your use case fits within the scope of this tool or not?

I was looking for a simple tool to get the remaining and used capacity of the cluster (mem/cpu request). Which now is going to be done by prometheus since we are deploying that for general monitoring.

@aveshagarwal - will you be able to put some more clarify on how to deploy the analysis framework. have tried, but not having any success.
thanks
@pvanderlinden  - thanks so much for replying back

@go4875 I'd happy to but could you specify what exact issue you are facing?
In general, to run analysis against a kubernetes cluster, you need to do following steps:

git clone https://github.com/kubernetes-incubator/cluster-capacity.git
make build
./cluster-capacity --kubeconfig=<path to kubeconfig related to your cluster> --podspec=<input pod spec>

during the make build. this fails. I am running ubuntu 16.04 on GCP. i also tried following Pauls' recommendation of using go get <>. but that also fails
please see below error of make build
jedd_go@controller-0:~/cluster-capacity$ export GOPATH=~/cluster-capacity/:$PATH
jedd_go@controller-0:~/cluster-capacity$ go get github.com/kubernetes-incubator/cluster-capacity/cmd/hypercc
package context: unrecognized import path "context" (import path does not begin with hostname)
jedd_go@controller-0:~/cluster-capacity$ make build
go build -o hypercc github.com/kubernetes-incubator/cluster-capacity/cmd/hypercc
src/github.com/kubernetes-incubator/cluster-capacity/vendor/k8s.io/client-go/rest/request.go:21:2: cannot find package "
context" in any of:
/home/jedd_go/cluster-capacity/src/github.com/kubernetes-incubator/cluster-capacity/vendor/context (vendor tree)
/home/jedd_go/cluster-capacity/src/github.com/kubernetes-incubator/cluster-capacity/vendor/context
/usr/lib/go-1.6/src/context (from $GOROOT)
/home/jedd_go/cluster-capacity/src/context (from $GOPATH)
/home/jedd_go/cluster-capacity/src/context
/home/jedd_go/bin/src/context
/home/jedd_go/.local/bin/src/context
/usr/local/sbin/src/context
/usr/local/bin/src/context
/usr/sbin/src/context
/usr/bin/src/context
/sbin/src/context
/bin/src/context
/usr/games/src/context
/usr/local/games/src/context
/snap/bin/src/context
Makefile:16: recipe for target 'build' failed
make: *** [build] Error 1

@aveshagarwal   any feedback from your side. any other info that you need?

@go4875 is this your /home/jedd_go/cluster-capacity/ your GOPATH?

@aveshagarwal  - sorry for delays in replies. I was in training. the go is included in /usr/bin. the directory cluster-capacity is what I use during git clone. but i did export the GOPATH to include the directory cluster-capacity and the $PATH variable. really hoping to find a resolution to this. we are really needing a framework like this. Thanks

@aveshagarwal - just wanting to check if you are able to help . if not. then I will start looking for other analysis tools for cluster capacity. thanks

@go4875 what version of golang you are using? It seems you are using golang that does not have https://golang.org/pkg/context/ .

@aveshagarwal. using 1.6.2. do you know what version i should  use?

@go4875 atleast golang 1.7.

hello @aveshagarwal  will setup a new workstation with golang 1.7 and let you know how that works. thank again for the help

@aveshagarwal made some progress with the build. but still with errors. i am currently using 1.7 go
[jedd_go@instance-2 cluster-capacity]$ make build
go build -o hypercc github.com/kubernetes-incubator/cluster-capacity/cmd/hypercc
github.com/kubernetes-incubator/cluster-capacity/vendor/k8s.io/apimachinery/pkg/util/strategicpatch
vendor/k8s.io/apimachinery/pkg/util/strategicpatch/patch.go:520: undefined: sort.SliceStable
make: *** [build] Error 2
thoughts?

@go4875 use go 1.8

@aveshagarwal - download of 1.8 from web is corrupt. used 1.8.1 -
is it really his hard to compile.
[jedd_go@instance-2 cluster-capacity]$ make build
go build -o hypercc github.com/kubernetes-incubator/cluster-capacity/cmd/hypercc
runtime
/usr/local/go/src/runtime/signal_unix.go:27: _SIG_DFL redeclared in this block
previous declaration at /usr/local/go/src/runtime/signal1_unix.go:15
/usr/local/go/src/runtime/signal_unix.go:28: _SIG_IGN redeclared in this block
previous declaration at /usr/local/go/src/runtime/signal1_unix.go:16
/usr/local/go/src/runtime/signal_unix.go:37: fwdSig redeclared in this block
previous declaration at /usr/local/go/src/runtime/signal1_unix.go:25
/usr/local/go/src/runtime/signal_unix.go:42: disableSigChan redeclared in this block
previous declaration at /usr/local/go/src/runtime/signal1_unix.go:35
/usr/local/go/src/runtime/signal_unix.go:43: enableSigChan redeclared in this block
previous declaration at /usr/local/go/src/runtime/signal1_unix.go:36
/usr/local/go/src/runtime/signal_unix.go:44: maskUpdatedChan redeclared in this block
previous declaration at /usr/local/go/src/runtime/signal1_unix.go:37
/usr/local/go/src/runtime/signal_unix.go:56: signalsOK redeclared in this block
previous declaration at /usr/local/go/src/runtime/signal1_unix.go:49
/usr/local/go/src/runtime/signal_unix.go:62: initsig redeclared in this block
previous declaration at /usr/local/go/src/runtime/signal1_unix.go:55
/usr/local/go/src/runtime/signal_unix.go:97: sigInstallGoHandler redeclared in this block
previous declaration at /usr/local/go/src/runtime/signal1_unix.go:90
/usr/local/go/src/runtime/signal_unix.go:122: sigenable redeclared in this block
previous declaration at /usr/local/go/src/runtime/signal1_unix.go:115
/usr/local/go/src/runtime/signal_unix.go:122: too many errors
make: *** [build] Error 2
Thanks for your time.

@aveshagarwal - my go folder was not a "clean" one. seems like the compile went through. will go through the rest of the analysis readme now. Thanks for your help.

I am still able to build the project:

Cloning repository under /home/jchaloup/Projects/src/github.com/kubernetes-incubator/cluster-capacity
Setting export GOPATH=/home/jchaloup/Projects
cd into the cluster-capacity
make

@go4875 @pvanderlinden are you still unable to compile the tool?

If you clone the repository inside the GOPATH it will work indeed, without putting the whole repo in the GOPATH, it won't.

That is the expected way to do it. Even Kubernetes must be inside the GOPATH to be compilable nowadays.

I think for a tool to use with kubernetes, the user shouldn't be expected to get a go developer. A lot of these tools provide binary versions, or give you a clear instructions on how to do this. From the instructions you would get the impression that you should do the following:
git clone git@github.com:kubernetes-incubator/cluster-capacity.git
cd cluster-capacity
make build

Instead the user is expected to do the following:
$ go get -d github.com/kubernetes-incubator/cluster-capacity
$ cd $GOPATH/src/github.com/kubernetes-incubator/cluster-capacity
$ make build

Hello all
I have been staying with 1.8 for this version. Currently, we are trying to figure out how we can incorporate some "automation" to provide feedback to developers before they deploy their yaml file.
So the developers can include the request limits for resources from the cluster


Update city_of_fredericton.json

Updated data links.

Fredericton has been updated in another branch. This PR no longer has changes


[BUG] After click "Edit config", "Save“, vm will lose management network IP

Describe the bug

To Reproduce
Steps to reproduce the behavior:

create a vm use management network.

waiting vm become ”Running“.

check the default interface macaddress by yaml.

Click "Edit Config" .

Click "Save".

It seems UI will put the vm resource, but the put payload doesn't contains mac address.

waiting vm become ”Running“ again

check the default interface macaddress by yaml again

you will see that the mac address of default interface changed, and this will cause the vm lose it's ip and route

Expected behavior

the mac address of vm not be changed
Support bundle

Environment:

Harvester ISO version: v1.0.0
Underlying Infrastructure (e.g. Baremetal with Dell PowerEdge R630):

Additional context
Add any other context about the problem here.

@DaiYuzeng
Verified not fixed on master-1be9cb5e-head (1/23).Move issue to implement stage.
Result
After editing config of virtual machine with management network, the mac address remain unchanged,
However the original assigned network IP changed to another one, this can be treated as lost IP and route.
Please help to check whether it's the design or issue.
mac address before and after editing:   52:54:00:57:79:1d <-> 52:54:00:57:79:1d
IP before and after editing:  <IP_ADDRESS> <-> <IP_ADDRESS>
Test Information

Test Environment: 3 nodes harvester on provo bare machine
Harvester version: master-1be9cb5e-head

Verify Steps

Enable virtual network with management mgmt
Create virtual network vlan1 with id 1
Create a virtual machine with default management network
Wait for VM running and get IP
Edit yaml of VM, check it's mac address
Edit config of VM, do nothing
Click save
Wait for VM restart to running status
Edit yaml of VM, check whether mac address changes
Check the IP address of VM

Additional Context

Before edit vm config

default Mac address: 52:54:00:57:79:1d
default IP: <IP_ADDRESS>

After edit vm config

default Mac address: 52:54:00:57:79:1d
default IP: <IP_ADDRESS>

Hi， @futuretea  Can you help locate whether this is a frontend or backend problem? thanks

Result
After editing config of virtual machine with management network, the mac address remain unchanged, However the original assigned network IP changed to another one, this can be treated as lost IP and route. Please help to check whether it's the design or issue.

@TachunLin @WuJun2016  The IP address change is expected.

Since after editing config of virtual machine with management network, the mac address remain unchanged.
And the VM ip address change is the expected behavior. Close this issue.


feat: display name for bundle

This PR Is for #8109, #8349 and #8363.
Since bundles on different platforms having different naming conventions, using conversation causes problem. This PR adds ability to use platform-specific productName. Also, to make sure app.desktop on Linux displays human friendly name, displayName has been added, too.
Both will be accepted:
{
  "productName": "MyApp",
  "displayName": "My App!"
}

{
  "productName": {
    "default": "MyApp",
    "linux": "myapp"
  },
  "displayName": "My App!"
}

@FabianLars Hi! Thanks for the quick comment.

I'll move deb/rpm changes to another PR.
Sorry, I didn't notice we already have platform specific configuration already, I'll utilize it and add displayName only.
Sure! I'll be making this change too.

Done updating the change. Please let me know if there are anything missing :)

Hi @FabianLars, is it possible to include this change in 2.0 release?

I hope so, yes. I didn't try it yet but your changes look correct and reasonable as far as i can see.
Paging @amrbashir for a double check on the windows installers

Is it easy to confuse "product name" and "display name"?
How about using "bundle name" as the name for the bundle?

@xuchaoqian Sounds good too, especially for Linux

I am not keen on adding another option that is almost identical to productName.
#8109 can be fixed by keeping the executable name generated from cargo and avoid renaming it.
#8349 can be fixed by removing the implicit kebab-case conversion and ensure that productName is used as is in the generated .desktop file.
#8363 can be fixed by modifying the codepage and/or using a Chinese locale.

sounds good to me too ig 🤷

cc @lucasfernog

I like @amrbashir idea. But we need to at least make a copy of the binary to change its name, otherwise it'll look weird on linux and windows.
If we're going to break the bundler output paths, please do so asap.

But we need to at least make a copy of the binary to change its name, otherwise it'll look weird on linux and windows

Could you explain a bit more, not sure if I understand the issue

@amrbashir Thanks for your input, and I have some ideas about the solutions you've mentioned.

#8109 can be fixed by keeping the executable name generated from cargo and avoid renaming it.

This sound great, will you make bundler respect binary name defined in Cargo.toml? Or I could try making a PR.

#8349 can be fixed by removing the implicit kebab-case conversion and ensure that productName is used as is in the generated .desktop file.

I'm afraid this will have some issues, because debian package names are having lower-kebab-case. If you override productName in tauri.conf.json, title in desktop file generated will become lower-kebab-case too.

This sound great, will you make bundler respect binary name defined in Cargo.toml? Or I could try making a PR.

Feel free to open a PR. The CLI renames the binary after it gets generated by Cargo, we just need to remove that behavior.

I'm afraid this will have some issues, because debian package names are having lower-kebab-case. If you override productName in tauri.conf.json, title in desktop file generated will become lower-kebab-case too.

Not sure I quite follow what you mean, but we only need to use kebab-case where required and keep everything else as the normal non-kebab-case productName.

@amrbashir

I'm afraid this will have some issues, because debian package names are having lower-kebab-case. If you override productName in tauri.conf.json, title in desktop file generated will become lower-kebab-case too.

Not sure I quite follow what you mean, but we only need to use kebab-case where required and keep everything else as the normal non-kebab-case productName.

For bundles like deb, the name must be kebab-case. So this is where the conversion required. But this PR was trying to override the automatic conversion when it can't produce desired one.
For example, when the product name is webOS Dev Manager, it will be converted to web-os-dev-manager while the desired one would be webos-dev-manager, like OpenDeck in #8349.
Can this case be covered?

I believe that could be covered by using a custom .desktop template.

For example, when the product name is webOS Dev Manager, it will be converted to web-os-dev-manager while the desired one would be webos-dev-manager, like OpenDeck in #8349.

Exactly

For example, when the product name is webOS Dev Manager, it will be converted to web-os-dev-manager while the desired one would be webos-dev-manager, like OpenDeck in #8349.

Exactly

I solved it by doing this:

Create tauri.linux.conf.json and set productName to the one you want (for me, webos-dev-manager`) example
Create a .desktop entry with the display name you want, and configure to make tauri use that. example

Not very straightforward but works fine

I solved it by doing this:

Oh, awesome! Do you know if that works on Tauri v1 as well (otherwise I can just https://tryitands.ee)?

Just a note that we have decided to add mainBinaryName option in https://github.com/tauri-apps/tauri/pull/10977 to control the main binary name, this makes productName essentially the displayName (which is what it was supposed to) and the new option for main binary name only.


Support for module using exports instead of main

Hi !
I use the ky  library and since their latest release i have trouble to use it with CRA. I already fill an issue inside the repository https://github.com/sindresorhus/ky/issues/340 and they ask if it couldn't come from  CRA itself ?
Does CRA support package using exports instead of main ? If CRA does support this feature, is there any limitations ?because the problem seems to come because they use subdirectories inside export
Sorry if i didn't use the good "Issue" mode i'm not really sure which categorie it belongs.

Duplicates https://github.com/facebook/create-react-app/issues/10892.


Feature Request: Support adding cost on types

Hi. I was wondering if it would make sense to add support for adding cost on the graphql types like this:
type Customer @complexity(value: 5){
  name: String
}
type Employee @complexity(value: 10){
  job: String
}

So for example in the next query, we can specify different complexities based on the type:
query MyQuery {
  People() {
    entities(first: 10) {
      nodes {
        ... on Customer {
          name
        }
        ... on Employee {
          job
        }
      }
    }
  }
}

In the previous example, the cost would be the max complexity of both types, in this case 10.
But for example if I do the query for only Customer like this:
query MyQuery {
 People() {
   entities(first: 10) {
     nodes {
       ... on Customer {
         name
       }
     }
   }
 }
}

The complexity for this query would be 5 instead.
Similar implementation as in this library: graphql-cost-analysis.
I am happy  to contribute with a PR, but I wanted to get first your opinion.
Thanks.

I am not sure if the directive estimator would be the right approach for that. I see some challenges with polymorphic types and calculating the complexity when there are multiple competing complexities on a field.
In your example, with the default logic of the GraphQL library, the object might also be resolved internally (probably consuming resources), it would just return an empty object for Employee.
I would probably create a custom estimator for that with a type map and complexities. This estimator can then automatically assign the complexities for each field. If you have something that is generic, I'm happy to merge a PR if you want to add this to the library, as this might have come up before if I remember correctly.
Something like:
const estimator = typeComplexityEstimator({
  complexities: {
    Employee: 10,
    Customer: 5,
    // ... more types
  }
})

Or could also be implemented as a directive estimator like you mentioned in the example. But I would keep this separate to not mix up defining complexities on fields and types. Users can then decide for themselves where in the estimator chain the type complexity sits by changing the order.
Some things we should clarify:

Can you also define complexities on union / interface types
How are they calculated if there are competing complexities (one type that implements multiple interfaces with overlapping fields, etc.)
How are fields with non-named-types handled? For example multi dimensional arrays.

Thanks a lot for your reply.
I was having a look to the custom estimator solution. We would need a way for telling the number of items that we are querying. For example on this query:
query MyQuery {
  People() {
    entities(first: 10) {
      nodes {
        ... on Customer {
          name
        }
      }
    }
  }
}

We can specify that the complexity for Customer is 5, but not sure how we would have into account that we are querying for 10 items based on the input first: 10. I cannot see any way of doing this without adding a directive on the entities field telling the estimator to use the first field as a multiplier. But If we do this we would again mixing complexities on fields and types right?
Regarding your questions about the directive approach:

Can you also define complexities on union / interface types
I don't see why not. But if we have conflicts between complexities, I would follow the same approach as in this library and pick up the max complexity.

How are they calculated if there are competing complexities (one type that implements multiple interfaces with overlapping fields, etc.)
Similar as before, I would pick the max value in case of conflict. I guess that is the safest approach, but I am open to suggestions.

How are fields with non-named-types handled? For example multi dimensional arrays.
Not sure about this one. Would be possible to relay on another estimator for this cases?

Thanks again!


”Găiseanca”, ”Priboiu”, ”Sfântu Gheorghe” are listed in the drop-down menu

Description:
When user writes ”Găiseanca”, ”Priboiu”, ”Sfântu Gheorghe” the locations appear in the drop-down menu next to the comune and the county witch is a part according to the law.
Precondition:
The website is up an running.

Step 1
Write in the search bar "Găiseanca"

Expected results
The location appears in the drop-down menu as "Sat Găiseanca, GIURGIU (Crevedia Mare)".

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Write in the search bar "Priboiu"

Expected results
The location appears in the drop-down menu as "Sat Priboiu, GIURGIU (Crevedia Mare)".

Step 4
Press "x" button.

Expected results
The location was deleted from the search bar.


CI/CD: add test for shelter with enclave-tls-server

Fixes: #805
Signed-off-by: zhiminghufighting<EMAIL_ADDRESS>

Local build and test as below:
https://github.com/zhiminghufighting/inclavare-containers-1/runs/2430374703?check_suite_focus=tr


Add support for executing a command on a file.

$file in the command string references the file name. The stdout of the
command will become the file's new contents. This is useful for doing
things that nimgen might not support, like using sed or grep or some
other command line tool.

This is a great idea but my main concern is to ensure nimgen wrappers are cross-platform. Sed, grep won't be available on Windows by default, similarly Windows specific commands that won't be available on other OSs so adding something like this will lead to wrappers that are too specific.
If you had specific use cases, we can add those as nimgen capabilities and it can handle the OS specific ways to achieve that. If you had some thoughts around my concerns as well, happy to hear it.

I've been thinking about this for a while. I tried running those vim commands but nothing really changed in the output. Not sure how exactly that works.
An easier approach is to comment out those lines using the search and comment features of nimgen. However, removing the implementation from the header files will no longer allow the C code to compile. You will have to reset the file back after conversion and nimgen doesn't support that yet.
Is this better with the ctags behavior now being fixed or was that approach not sufficient?

Ah, you're right. The C code won't compile! What you said got me thinking so I did a little test. The lib file doesn't include the static inline functions, so the code doesn't compile, so it does need to be replaced back to the original. Hmm, I'll have to come up with something else :/ Any ideas on how to run ctags and also get the defines, structs, and includes?

You can get the defines with defines = true. That will give you all numeric definitions. Why do you need the includes? Those can either be handled using recurse = true or inline = true.
Structs, ctags has the details but it's all split out and probably not easy to put back together in the right order.

Yes, define and ctags both just extract content from the file, not change it.
I'm also thinking the gitReset() at the end is a good idea. I'm considering a [n.post] or similar section for things to do after everything is done, reset being one of them. Typically, I've avoided changing .c or .h files beyond recognition in the wrappers I've done. I am also considering a per-file reset if that's sufficient.
Meanwhile, the main challenge here is a distraction. static inline procs don't even exist in the final code. You can never call them from Nim so wrapping them is pointless. I'd think that you should simply comment them out completely so that c2nim doesn't detect them at all. I'm just wondering if we need some special code in nimgen to handle static inline or keep it simple.

I'm also thinking the gitReset() at the end is a good idea. I'm considering a [n.post] or similar section for things to do after everything is done, reset being one of them. Typically, I've avoided changing .c or .h files beyond recognition in the wrappers I've done. I am also considering a per-file reset if that's sufficient.

That sounds good to me!

Meanwhile, the main challenge here is a distraction. static inline procs don't even exist in the final code. You can never call them from Nim so wrapping them is pointless. I'd think that you should simply comment them out completely so that c2nim doesn't detect them at all. I'm just wondering if we need some special code in nimgen to handle static inline or keep it simple.

Actually, you can call them from Nim! See the code below:
// t.h
static inline int serviceIsOverride() {
    return 1;
}

#t.nim
proc serviceIsOverride*(): int {.importc: "serviceIsOverride", header: "/path/to/t.h".}
echo serviceIsOverride()

If you then call:
nim c -r t.nim

you get the correct output, which is just 1 in this case.

Looks like it's up to the compiler to really inline or not. Regardless, it might leave a copy of the function for direct invocation, even if it inlines in most places. But there's no guarantees.
I think a better test would be to try to refer to a static inline in a separately compiled DLL rather than in a header file that's processed as part of the compile. Even then, it might work since the .h does get loaded by the nim code.

You're right that static inline functions can't be exported from a dll (as they are considered private, which you know), but since the .h file gets processed by Nim, those functions are able to be accessed by importing them in Nim, regardless of the dll, since they are in the header file.
I'm currently actually doing this in my libnx port, which references a static library (libnx.a) and there are no issues with using the static inline functions (they do their intended function in my code).
So anyway, I understand that this PR is hard to make cross-platform because of available binaries on other platforms. However, shouldn't it be up to the library porter to decide and instruct their users on how to use nimgen to make their libraries? And can't we use something like "execute-lin/execute-win/execute-mac" to run commands that will work on all the platforms they want to support?

Ya you are right - using -win, -lin, this is already fine. Looks like we should just add this. Some changes though:-

You are opening the file and then executing the command, better to run command, check output != "" and then open/write to file?
Can we split into two per-file options - execute = just run a command but leave file untouched. It could be used to generate some output into another new file or something else. Or even use it to reset the file at the end?
Add a separate command pipe or something better named to do exactly what you are doing - run command and pipe output into the file.

Last comment - in your libnx wrapper, you could use wildcards to have only one pipe entry and have it apply to all the files you want. Also see #7 which will help clean up the cfg file even more.

No, pipe is separate from execute so you could have a command to execute plus file manipulation separately for the same file.
Also, the above (pipe = true) will be harder to do since you could have multiple execute commands and will have to have some way to correlate those pipe values to a specific execute or it will map to all.

Then I'm not sure I get what you're saying. Can you give an example usage?

Oh, I think I get it!
You mean:
[file.h]
execute = "<command to execute>"
pipe = "<command to execute>"

Alright, so after some deliberation, I think for now I'll simply rename the command to pipe. The reason is that the execute command you describe is potentially more complex and out of scope of this PR.

Merged - I'll hold off on implementing execute until there's a wrapper that needs it.
Eventually, I'd like to get nim-libnx added to the nimgen test suite so that we can ensure it continues to work as nimgen evolves.


Support safekeeper update in the control plane

@kelvich , was this about the console or some other control plane?

@stepashka right that was about the console

this was implemented in a different issue


How can I use this on Atari dataset?

Hi,
I would like this model to take visual observations as inputs (for example from Atari dataset) rather than trajectories. Is there a way I could do that?
Thanks

I think you could use a vision encoder such as resnet or vit to preprocess the Atari images, and then send the encoded hidden states to the CDT model.

Thanks. Closing this.


creating v1

adding branch, file, commit and pull request

branch, file, commit and pull request

dfgdfg


Enable golangci-lint errCheck linter, fix errors

Note: I ignored errors in controller_test.go as that will be replaced by Gingko.

> 	k8s.io/klog v1.0.0
`go.mod` content is incorrect - did you run `go mod tidy`?


Update Travis to Ubuntu Trusty

The WebKit packages are no longer provided for Ubuntu Precise:
http://stackoverflow.com/questions/37201085/unable-to-locate-package-libqt5webkit5-dev
We should be able to fix this by updating to Trusty:
https://docs.travis-ci.com/user/trusty-ci-environment

This fixes the Qt 5 issue, but it seems like our jruby setup is broken on Trusty.

It looks like the rvm install on Trusty is completely busted. There's a note about failure to chown the rvm install directory, but even manually chmodding that in the before_install script didn't completely fix the issue.

If it looks like there's a bug in JRuby we can help with, please file an issue! :-)

I also spent a significant amount of time trying to figure this out but was unsuccessful. It's frustrating because it takes a really long time for the build to even get pulled from the queue and it's hard to get feedback about what went wrong once it runs.
It might be worth trying to replicate some of the CI setup locally in Docker or something to try and tighten the feedback loop, but I haven't found time to look at this again lately.

We moved to Trusty in 165cc99e6e4bc8d0da93d21f8c4d0a3e66b49fcf.


#issue help wanted 8 reference for mask matrix of 1s

@fsalv @EscVM
With reference to https://github.com/EscVM/RAMS/issues/8#issuecomment-867725589
Matrix of how many ones should I set cropped_y_mask as ?
cropped_y_mask = tf.cast([1,1,1,1,1], tf.float32)
    cropped_predictions_masked = tf.cast(
        cropped_predictions, tf.float32)*cropped_y_mask
    cropped_labels_masked = cropped_labels*cropped_y_mask

    total_pixels_masked = tf.reduce_sum(cropped_y_mask, axis=[1, 2])

I am getting error
InvalidArgumentError: Invalid reduction dimension (1 for input with 1 dimension(s) [Op:Sum]
D:\SuperResolution\RAMS\utils\loss.py in l1_loss(y_true, y_pred, HR_SIZE)
50 cropped_labels_masked = cropped_labels*cropped_y_mask
51
---> 52 total_pixels_masked = tf.reduce_sum(cropped_y_mask, axis=[1, 2])
53
54 # bias brightness
I tried all combos
cropped_y_mask =[1,1,1,1,1]
cropped_y_mask =[1]
cropped_y_mask =[1,1]
FullError.txt
Any help appreciated

cropped_y_mask should have the same dimension of the output, so B x HR_SIZE x HR_SIZE x 1, all the combos you tried are one dimensional, so they won't work. Try using np.ones.

Hi @fsalv @EscVM
I printed out the crop_prediction and the y_mask to see if dimensions same, and it does
show the same now (48, 90, 90, 1),
Like you said batch_sizehr_sizehr_size*1
(here my hr_size = 96, but some border pixel shift is done to make it 90 i guess
I did try the  other option as well (48, 96, 96, 1) and it resulted in same error)
I have attached the loss.py and the complete error
Output
------
Epoch 1/100
crop predictions tf.Tensor(
[[[[4612.5356 ]
[3837.1716 ]
[4633.922  ]
...
[2775.706  ]
[2106.822  ]
[2689.7336 ]]
...
[2897.199  ]
[2584.3728 ]
[2875.7666 ]]]], shape=(48, 90, 90, 1), dtype=float32)
crop y mask tf.Tensor(
[[[[1.]
[1.]
[1.]
...
[1.]
[1.]
[1.]]
...
[1.]]]], shape=(48, 90, 90, 1), dtype=float32)
Error
------
D:\SuperResolution\RAMS\utils\loss.py in l1_loss(y_true, y_pred, HR_SIZE)
48             print("crop predictions",tf.cast(cropped_predictions, tf.float32));
49             print("crop y mask", cropped_y_mask);
---> 50             cropped_predictions_masked = tf.cast(
51                 cropped_predictions, tf.float32)cropped_y_mask
52             cropped_labels_masked = cropped_labelscropped_y_mask
InvalidArgumentError: required broadcastable shapes at loc(unknown) [Op:Mul]
loss1.txt


Fix CustomPayloadTest failing when run in suite.

CustomPayloadTest fails when running in the full suite.  It turns out
this is caused by PreparedStatementTest restarting the cassandra node
and not propagating the CustomPayloadMirroringQueryHandler system
property that gets set when the single node cluster is initialized.
Changed ccmBridge to private and added 'stop' and 'start' methods on
PerClassSingleNodeCluster for stopping/starting the node while
preserving jvm arguments.

@olim7t mind merging this in before merging 2.2 into the 3.0 branch?  Without this there are 14 test failures for each 2.2+ configuration in our test suite.

This isn't as important now because those PreparedStatementTests were removed in favor of QueryOptionsTest.  I'll rebase but this doesn't need to be done right away anymore.


[Documentation] Incorrect List.accessoryTitle description

:wave: friends!
Just wanted to report a tiny mistake/typo in the documentation of List.accessoryTitle, which is showing the accessoryIcon description instead of the accessoryTitle one.
I wanted to submit a PR but I noticed that the docs are auto-generated from the type-definitions, so I assume I can only report it. :+1:

Good catch. Gonna update it.


Explain new cgroup driver detection in 2.0

Putting this here as a tracking issue since we removed the breaking label for https://github.com/containerd/containerd/pull/8722
We should have a section in the release notes for this if there is user action required in some cases.

/cc

I'm not entirely sure there's something that would be considered a breaking change 🤔 After #8722 containerd does auto-detection of the cgroup driver (in the case that no runc-based runtime handlers have been configured), yes, BUT it only uses it to inform the kubelet which cgroup driver it (kubelet) should use. The change does not affect operation of containerd itself. Then OTOH this can change the behavior of kubelet in cases it was incorrectly configured because now it gets the cgroup driver from the CRI runtime

@marquiz thanks for the explanation. If there is no situation where a user had a (valid) configuration that worked in previous containerd versions and now needs to make a change, then we can probably just close this.

Sorry, will re-check after kubecon

@marquiz Could you check if this issue can be closed?


calculate votes with an algorithm

this is the algorithm we have used in the past:
definition:

rounds = number of rounds

locations = number of locations

slots available: make sure we have one slot free for the ICCM Prep BOF

in each workshop, calculate the number of votes of participants, and reset the field round_id, location_id and available
UPDATE workshop
           SET votes = (SELECT SUM(participant)
                          FROM workshop_participant
                         WHERE workshop.id=workshop_participant.workshop_id),
               round_id = NULL,
               location_id = NULL,
               available = NULL

for each round, calculate the top votes:
   SELECT id,name, votes
          FROM workshop
         WHERE published=1
         ORDER BY votes desc
         LIMIT 0, $rounds;

and book them:
  UPDATE workshop
  	          SET round_id = {$count},
  	              location_id=1,
  	              available=(SELECT COUNT(ID)
                                 FROM workshop_participant
                                WHERE workshop.id=workshop_participant.workshop_id
                                  AND participant=1)
  	        WHERE id={$db->escape_string($row['id'])}

loop through remaining possible slots
  for ($i=$rounds+1 ; $i <= $rounds * $locations ; $i++) {

inside the loop:

get highest # votes for unscheduled bof
  $sql="SELECT max(votes)
          FROM workshop
         WHERE round_id IS NULL
           AND published=1";

if no workshops are left, we are done

find next bof to book: which bof with the same max(votes) can happen with participants available
  $sql = "SELECT s.id id,s.name,
                 roundsTable.round_id round,
                 roundsTable.last_location last_location,
                 available,
                 (SELECT count(*)
  	              FROM workshop_participant
  	             WHERE workshop_id = s.id
  	               AND participant=1
  	               AND participant_id NOT IN
  	                           (SELECT participant_id
  	                              FROM workshop_participant
  	                              JOIN workshop ON workshop.id=workshop_participant.workshop_id
  	                             WHERE workshop.round_id=roundsTable.round_id
  	                               AND workshop_participant.participant=1)
  	           ) AS available,
  		       (SELECT count(*)
                    FROM workshop_participant
                   WHERE workshop_id = s.id
                     AND leader=1
                     AND participant_id NOT IN
                         (SELECT participant_id
                            FROM workshop_participant
                            JOIN workshop ON workshop.id=workshop_participant.workshop_id
                           WHERE workshop.round_id=roundsTable.round_id
                             AND workshop_participant.leader=1)
                  ) AS facilitators
  		FROM workshop AS s
  		LEFT JOIN (SELECT round_id, max(location_id) last_location
  		           FROM workshop
  		           WHERE round_id IS NOT NULL
  		           GROUP BY round_id) AS roundsTable
  		     ON roundsTable.last_location < ".$locations."
  		WHERE s.round_id is null
  		  AND published=1
  		  AND s.votes = ".$maxVote."
  		ORDER BY available DESC, facilitators DESC, round ASC
  		LIMIT 0,1";

For each of the results of the previous query:
  UPDATE workshop
                SET round_id = {$db->escape_string($row['round'])},
                    location_id = ".($db->escape_string($row['last_location']) + 1) .",
                    available = ".($db->escape_string($row['available'])) ."
              WHERE id={$db->escape_string($row['id'])}";

fixed for iccm eu 2019


Agent suggestion should be supported even if user's message is not last

I don't undertstand this / how it  could happen. Can you help @philipperolet  ?

The idea is for the agent suggestion to appear and be supported even if the user message is not the last message of the conversation

Closing as won't fix, no one is complaining for now


MySQL function round is not work in script `insert into my_price(price) select round('42.0asd',2) as price

In MySQL database, I want to transform data from string to decimal(18,2),as follower,

select round('42.0asd',2) as price; this script result is ok;
 create table my_price( price decimal(18,2) );,this script  to create a table;
insert into my_price(price) select round('42.0asd',2) as price; ,but this script is except,it's report “SQL 错误 [1292] [22001]: Data truncation: Truncated incorrect DOUBLE value: '42.0asd'”，the function round is not work,the same script in SQLyog is ok,and the script itself is not error,please debug soon,best wishes!

thanks for the report

looks like it is not dbeaver issue

It doesn't look like a valid query.


is there reason why don't use funtional React?

I love toast-grid and this image-editor project and I got a lot of help.
but I wonder.
This 2 project used class component React.
is there reason why don't use funtional React?

@athilog
There is no specific reason to use class component in react wrapper.
Thank you!

@athilog
There is no specific reason to use class component in react wrapper.
Thank you!


PReLU problem

I am wondering if https://github.com/dmlc/mxnet/blob/master/src/operator/leaky_relu-inl.h#L179-L180 is a bug for the PReLU. Because for the other activation types, the format is like Assign(gdata, req[leakyrelu::kData], ...), while for PReLU, it uses gdata=....
My problem is that when I am replacing ReLU with PReLU in a network, the performance gets much lower.

And the PReLU gamma parameters can grow very large:

This is different from what https://arxiv.org/abs/1502.01852 has described. As the PReLU version should work better than the ReLU version, and the PReLU gamma parameters should roughly stay around 0.25 even without bounding the parameters.

@sxjscience I am changing it to:
Assign(grad_weight, req[leakyrelu::kGamma], sumall_except_dim<1>(F<prelu_grad>(data) * grad));
Assign(gdata, req[leakyrelu::kData], F<mshadow_op::xelu_grad>(output, broadcast<1>(weight, data.shape_)) * grad);

The gamma of prelu is still growing to very large values.
The above place should not be the reason for the divergence of the gamma values, as the default is "write" gradreq, and it will not affect the results.

@taoari Yes, this should not be the cause.

@sxjscience I am wondering that this problem may be caused by the channel sharing of the PReLU parameters. And I am trying to add the channel_shared parameter to the PReLU. However, I am encountering a problem to sum of the all elements. It seems that mshadow does not contain a sumall function. Will you give me some advice to how to implement the sumall function?
More specificly, https://github.com/dmlc/mxnet/blob/master/src/operator/leaky_relu-inl.h#L179-L180 is changed to:
if (!param_.channel_shared) {
  Assign(grad_weight, req[leakyrelu::kGamma], sumall_except_dim<1>(F<prelu_grad>(data) * grad));
  Assign(gdata, req[leakyrelu::kData],
    F<mshadow_op::xelu_grad>(output, broadcast<1>(weight, data.shape_)) * grad);
} else {
  Assign(grad_weight, req[leakyrelu::kGamma], sumall(F<prelu_grad>(data) * grad)); // sumall?
  Assign(gdata, req[leakyrelu::kData],
    F<mshadow_op::xelu_grad>(output, weight[0]) * grad); // broadcast<1>(weight, data.shape_)) * grad);
}

But how can I write the sumall function?

Hi taoari, I have been unable to find out how to properly use prelu in MXNet:
x = F.LeakyReLU(self.conv4(x), act_type='prelu')
I get this error:
[[11:04:52] /Users/travis/build/dmlc/mxnet-distro/mxnet-build/dmlc-core/include/dmlc/logging.h:308: [11:04:52] src/c_api/c_api_ndarray.cc:76: Check failed: num_inputs == infered_num_inputs (1 vs. 2) Operator LeakyReLU expects 2 inputs, but got 1 instead.
any insights?


co host functionality is not working in new version

Describe the bug
I joined as an audience then the audience sends a request for a co-host on the host device. the host is accept requests but does not show the co-host video on both devices. please help me to solve this issue.

is our example working?

not work in the example also.

which case did you run?

host and audience are working well. but I have implemented co-host functionality. and co-host functionality is not available in example.

@yash1898-coder have you found any solution to this?


Feature/upgrade dependencies

upgrade copyright
upgrade dependencies, preparing for a scalaz-stream 0.8 compatible release.  (a 0.8a compatible one will follow)

Well, there is no scala 2.12-M4 compatible release for scalaz-stream 0.8.
But.. it appears that at this very moment, they are trying to release 0.8.1 that has M4 along with a few other fixes.
I'll wait for that and force push this to 0.8.1 compatible instead.

looks like scalacheck 1.13 and specs2 are not yet ready for M4 either, so I'll roll this back to M3 and move on for now.

There aren't combinations of dependencies that will work with M3.   M2 will work if I roll several of them back.
Instead, I'll disable scala 2.12 milestones for this release, and bring it back when our dependencies have M4, which is what people really want anyway because of the new trait encoding and SAM types.


Weird issue when using local Repo

For some reason, whenever I try to use my local repo, it doesn't work and I get the error: "sveltia-cms.js:442 Uncaught (in promise) DOMException: A requested file or directory could not be found at the time an operation was processed." in the console... It worked before, but now seemingly out of nowhere, it doesn't anymore.

@Arbee4ever Thanks for reporting! It might have regressed at some point. Will check what’s happening later today.

Can’t figure out the exact reason for the exception, but it could happen, for example, when the project root directory has been moved or renamed. I have added proper error handling to the local backend to avoid the issue. Will deploy the fix later today!

Nice, it works again. Thanks a lot :D


AzurePowerShellV4 Task has no Working Directory argument

Question, Bug, or Feature?
Type: Feature
Enter Task Name: AzurePowerShellV4
Environment

Server - Azure Pipelines

@mic-max It is under Advanced options. Please check.

No it isn't, at least not for me. I don't know if the advanced options can be hidden for some reason? I'd like to see this added though, most other (command line) tasks have it. Thanks

Please refer this

@mic-max Any update on this ?

Closing the issue. Feel free to reopen, if face any.


Test fails only in IntelliJ

What is the smallest, simplest way to reproduce the problem?

Open RefasterTemplateProcessorTest.java, hit the Run button of IntelliJ. On my Windows 10 machine this leads to a failing test.
What did you see instead?

> Difference in expected tree and actual tree.
      Expected node: Line 56 COMPILATION_UNIT->CLASS(UseStringIsEmptyRecipe)->METHOD(getDescription)->BLOCK(non-static)->RETURN->STRING_LITERAL(Second line that should show up in description only.
     May contain " and ' and \" and \\" and \n.
     Or even references to `String`.
     Or unicode ðŸ�›.)
      Actual node: Line 41 COMPILATION_UNIT->CLASS(UseStringIsEmptyRecipe)->METHOD(getDescription)->BLOCK(non-static)->RETURN->STRING_LITERAL(Second line that should show up in description only.
     May contain " and ' and \" and \\" and \n.
     Or even references to `String`.
     Or unicode ðŸ?›.)

The mismatch is in the unicode "bug" character: 🐛 from https://github.com/openrewrite/rewrite-templating/blob/0e4a1440df56537041bbc86294dc77f22758c288/src/test/resources/refaster/UseStringIsEmpty.java#L28. Please note that it is not correctly decoded in both the expected and actual values.
Running the same test (in the same git repository) via gradlew command line is fine.
Are you interested in contributing a fix to OpenRewrite?

I use IntelliJ too seldom to really know what I could investigate here, so probably not.

Thanks for the report! I suspect this is an issue with how we use com.google.testing.compile:compile-testing; I'd started on a branch that no longer reads files from disk, but instead has the source files as text blocks. That might improve things here too. I've not yet pushed that out given that it's likely to conflict with other running efforts, but figured mention it here as a possible solution.

Okay, I think I found the culprit. gradle tests also fail if a JDK < 21 is set as JAVA_HOME. My IntelliJ used JDK8 for launching, because the gradle config declares compatibility with Java 8. And we all know that in Java 18 the default character set changed. That's why on older JDKs the test fails to decode the UTF-8 encoded input, if running on a platform where UTF-8 was not yet the default before (like Windows). I suspect an upstream bug at https://github.com/google/compile-testing/blob/6493d6f341fd5628e8680b7c2f75e085692c0e9f/src/main/java/com/google/testing/compile/JavaFileObjects.java#L124 (or similar lines of code). You may want to modify that code in your branch, if possible.
Besides that, this could probably also be fixed by explicitly setting -Dfile.encoding somewhere in the gradle settings, but I'm not that fit in gradle settings to actually propose a file change. Anybody else with more Gradle knowledge?

Something like this might do it: https://discuss.gradle.org/t/no-possibility-to-set-file-encoding-for-junit-tests-in-gradle-2-13-and-odler/17223/2


[tools] Split resources.json and add configure for suites

Split resources.json into testharness.json, webrunner.json and xsl.json
Add configure for apptools, behavior, cordova, embeddingapi, misc and stability
Add option "-s" in copy.py to support update resources in specified test suite

Can we finish this today?

@zqzhang  I have updated it following your comments

Good. Have you formatted the JSON files using tools/format/json_formatter?

@zqzhang  I have formatted the JSON files using tools/format/json_formatter  and updated the usage descriptions of copy.py.


CONTRIBUTING.md getting too big

I find the doc a bit overwhelming to traverse to find the thing I'm looking for. I think it could stand to be made in to a category. Perhaps subpages would look like: contributing/development.md (e.g. "Here's how you set up your environment"), contributing/releasing.md (e.g. "Here's how we use semver"), contributing/maintenance.md (e.g. "Here's what maintainers do and how to be come one"), and contributing/explanations.md (e.g. "Here's why we use semver").

Resolved in #533


Changing value of Zoom length to see the clouds from the ground very close to me for Issue #54

Changing value of Zoom length to see the clouds from the ground very close to me for Issue #54

Don't forget to put Doxygen comments with your code using three /// slashes. I'd recommend at least putting the issue link for traceability.


Allow JSON payload for GET calls

First check

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

Read open issues with questions until I find 2 issues where I can help someone and add a comment to help there.
Or, I already hit the "watch" button in this repository to receive notifications and I commit to help at least 2 people that ask questions in the future.
Implement a Pull Request for a confirmed bug.

Example
Here's a self-contained minimal, reproducible, example with my use case:
from fastapi import FastAPI

app = FastAPI()

class Sample(BaseModel):
    countryId: int

@router.get("/foo/bar",
            response_model=Sample)
def get_sample(sample: Sample):
    return {"Hello": "World"}

### Description

* Open the browser and call the GET endpoint `/foo/bar`.
* Pass in JSON body with `{"countryId": 1}`.
* TypeError: Failed to execute 'fetch' on 'Window': Request with GET/HEAD method cannot have body.

### The solution you would like

It doesn't throw the TypeError and allows GET calls to pass in JSON payloads

### Environment

* OS: [e.g. Linux / Windows / macOS]: macOS
* FastAPI Version [e.g. 0.3.0]: 0.60.1

* Python version:

3.7.7

### Additional context

![Screen Shot 2020-09-02 at 2 00 10 PM](https://user-images.githubusercontent.com/5025518/92019556-ca7cbf00-ed24-11ea-84d6-52dbc18a8aec.png)

It's not something we'll be able to solve. We have already done everything that we could.
You can follow the discussions and solution already merged:

https://github.com/tiangolo/fastapi/issues/713 (November 2019)
https://github.com/tiangolo/fastapi/issues/1691 (July 2020)
https://github.com/tiangolo/fastapi/pull/1626 (July 2020)

To summarize:

The HTTP GET method requests a representation of the specified resource. Requests using GET should only retrieve data.

Request has body

 NO

Successful response has body
YES

The HTTP specification says in section 4.3

A message-body MUST NOT be included in a request if the specification of the request method (section 5.1.1) does not allow sending an entity-body in requests.

@ycd The HTTP specification your using is from 1991. The updated one is RFC 7231 where it is allowed to include a body.
   A payload within a GET request message has no defined semantics;
   sending a payload body on a GET request might cause some existing
   implementations to reject the request.

So generally it is allowed but discouraged.
OpenAPI take on it: https://github.com/OAI/OpenAPI-Specification/pull/1937

An update to this issue, i found this when looking for something else,

GET, DELETE and HEAD are no longer allowed to have request body because it does not have defined semantics as per RFC 7231.

since FastAPI is based on OpenAPI specification i do not think we are able to this.

GET, DELETE and HEAD are no longer allowed to have request body because it does not have defined semantics as per RFC 7231.

That's true for OpenAPI 3.0, but seems to be changed in 3.1 as this PR suggests. It was kept in 3.0 only because it did't fit the semantics of a patch release

In other cases where the HTTP spec is vague (such as GET, HEAD and DELETE), requestBody is permitted but does not have well-defined semantics and SHOULD be avoided if possible.

@stevesuh the code piece works when you send a request with cURL
curl -X GET "http://<IP_ADDRESS>:8000/foo/bar" -d "{\"countryID\":1}"

So basically FastAPI allows request body with GET operations, however, Swagger UI doesn't support it.
They are also very strict about not supporting it.
See: https://github.com/swagger-api/swagger-ui/issues/2136
If you want you can open another issue in Swagger UI's repository but FastAPI can not do anything about this topic since your issue is completely about the Swagger UI.

I consider the issue resolved then.

I consider the issue resolved then.

Thanks for the help here everyone! 👏  🙇
Thanks for reporting back and closing the issue @stevesuh  👍

Sorry for the long delay! 🙈  I wanted to personally address each issue/PR and they piled up through time, but now I'm checking each one in order.


MSP replicas are not cleared as expected

Describe the bug
When deleting a replica the data is not removed as expected.
To Reproduce

create a replica, format it with your favourite FS, delete the replica.
create a new replica, observe the old replica is returned

Expected behaviour
Replicas should be zeroed out

This issue also comes up when we create/destroy pools as we do not wipe out any of the metedata.

This could not be reproduced, deleting replicas or deleting pools with replicas present was observed to write zeros to the replica data followed by removing the replica metadata. The same thing was observed in Kubernetes when deleting a PVC that uses a storage class with 2 replicas and the nvmf protocol. The behaviour is consistent with Mayastor running on 2 cores (-m 0x3).


401 Please authenticate while attempting to add new movie or new cinema as an admin

Register a user
In MongoDB, update user's role to admin
Log in with this user again
Go to User > Dashboard > Movies
Add new movie

Expected:
New movie is added
Actual:
Nothing seems to happen but in Network tab you will see that the POST request to add new movie resulted in 401 please authenticate message.
Why this is happening?
Why this "Please authenticate error is not shown on the page"?

almost everything is working but when I tried to add movie image I get an error
POST http://localhost:3000/movies/photo/63e80175503e476ee0b1b7a0 404 (Not Found)

which node version is needed to be used

@nandhujayan for me am using 18


Change the default BuildStrategy in doc and test to cluster scope

Here are some improvements for both document and test:
1, Change the default buildstrategy from namespaced scope to cluster scope in all of the README document and refine the doc.
2, There are many duplicated code in e2e test validator.go because the buildstrategy work in the logc, different scope strategy should need a new func for similiar functions. I extract the build/create BuildStrategy logic to a new func, so thata other logic can be shared in ONLY one func. Such as the validateController func change.
3, Fix some document errors or typos.
4, Fix some wrong logic in e2e test code

Hi @sbose78 ,
I have verified the e2e tests in my env, the modified tests work fine:
✘-1 $ operator-sdk test local ./test/e2e --go-test-flags "-v" --no-setup --namespace build-operator
INFO[0000] Testing operator locally.
=== RUN   TestBuild
=== RUN   TestBuild/build-group
=== RUN   TestBuild/build-group/Buildah_and_Buildpack
=== PAUSE TestBuild/build-group/Buildah_and_Buildpack
=== CONT  TestBuild/build-group/Buildah_and_Buildpack
--- PASS: TestBuild (380.69s)
    --- PASS: TestBuild/build-group (0.00s)
        --- PASS: TestBuild/build-group/Buildah_and_Buildpack (281.83s)
            main_test.go:73: Initialized cluster resources
            wait_util.go:70: Deployment available (1/1)
            client.go:62: resource type ClusterBuildStrategy with namespace/name (/kaniko) created
            client.go:62: resource type Build with namespace/name (build-operator/example-build-kaniko) created
            client.go:62: resource type ClusterBuildStrategy with namespace/name (/source-to-image) created
            client.go:62: resource type Build with namespace/name (build-operator/example-build-s2i) created
            client.go:62: resource type ClusterBuildStrategy with namespace/name (/buildah) created
            client.go:62: resource type Build with namespace/name (build-operator/example-build-buildah) created
            client.go:62: resource type ClusterBuildStrategy with namespace/name (/buildpacks-v3) created
            client.go:62: resource type Build with namespace/name (build-operator/example-build-buildpacks-v3) created
            client.go:62: resource type BuildStrategy with namespace/name (build-operator/buildpacks-v3) created
            client.go:62: resource type Build with namespace/name (build-operator/example-build-buildpacks-v3-namespaced) created
PASS
ok      github.com/redhat-developer/build/test/e2e      384.421s
INFO[0388] Local operator test successfully completed.

Please review.
Thanks!

/ok-to-test

@otaviof Could you start an initial review of this if you are around? I'll be doing some errands today and it'll take me a few hours before I get to PRs this morning/afternoon.

Looks good. Happy to have ClusterBuildStrategy get more importance than the namespace scoped strategy.
Related topic: The amount of time.Sleep(..) in validators.go I had put in everywhere could get some more love :) For now, they work. However, we might have to get a more deterministic strategy avoid flakes in our tests.

/lgtm
/approve


Third Party Module is only showing the mod.ts file

I developed a 3rd party module called Redlock in June. Until recently, any time I wanted to search for it I could search for Redlock on the 3rd party module section of deno.land. However, now when I perform that same search it sends me to the mod.ts file of the project<EMAIL_ADDRESS>instead of the readme. In addition, instead of showing code it gives a very high level list of functions, classes, variables, types, and interfaces. It's linked to the GitHub repository (https://github.com/oslabs-beta/Deno-Redlock) through a webhook. There had been no changes to the GitHub repo when this started occurring. Someone suggested putting all files besides readme inside of a src directory and leave the readme at the root of the project. I did that but nothing changed. I'm not quite sure how to go about returning it to it's original state.

README has been fixed a few days ago, as now there is ab info view on the root of a module (https://deno.land/x/redlock@v1.0). by default, the view for a path is a documentation-based view


Trim the duplicated sort keys in Order By clause

Is your feature request related to a problem or challenge? Please describe what you are trying to do.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
(This section helps Arrow developers understand the context and why for this feature, in addition to  the what)
let sql = "select c1, c2 from aggregate_test_100 order by c1, c2, c1";
let expected = {
        vec![
            "SortExec: expr=[c1@0 ASC NULLS LAST,c2@1 ASC NULLS LAST], global=true",
            "  ProjectionExec: expr=[c1@0 as c1, c2@1 as c2]",
        ]
    };

The duplicate sort keys should be removed.
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

I will do it.


Feature: chat

Thanks for the great work so far! Any change of having a chat pane like the vs code version has? It's  a great feature imho.

dup of https://github.com/zerolfx/copilot.el/issues/141


Why are there special characters in the terminal of the PTYExample project and how to eliminate them?

And how to implement some operations on the terminal，<   >  ^

This are terminal escape sequences. This has nothing to do with this library. This is just how a shell works. You need to interpret theme. With this sequences transports the terminal informations like color or other stuff.