HBASE-25022 Remove 'hbase.testing.nocluster' config

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 32s
Docker mode activated.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
5m 56s
the patch passed

+1 :green_heart:
compile
2m 15s
the patch passed

+1 :green_heart:
javac
2m 15s
the patch passed

+1 :green_heart:
shadedjars
12m 32s
patch has no errors when building our shaded downstream artifacts.

-0 :warning:
javadoc
1m  1s
hbase-server in the patch failed.

_ Other Tests _

-1 :x:
unit
259m 31s
hbase-server in the patch failed.

304m 42s

Subsystem
Report/Notes

Docker
Client=19.03.12 Server=19.03.12 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2394/1/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/2394

Optional Tests
javac javadoc unit shadedjars compile

uname
Linux b9da59049beb 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / 0f00e1c7c7

Default Java
2020-01-14

javadoc
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2394/1/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-server.txt

javadoc
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2394/1/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-server.txt

unit
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2394/1/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-hbase-server.txt

Test Results
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2394/1/testReport/

Max. process+thread count
3224 (vs. ulimit of 12500)

modules
C: hbase-server U: hbase-server

Console output
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2394/1/console

versions
git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)

Powered by
Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

I think the failed UTs are because of limited resources, we spend too much time to finish the UT so some of them timed out.
Let me merge.


[PR follow up] optimize abstraction of Service classes

Description
[Describe what this change achieves]
Issues Resolved
[List any issues this PR will resolve]
Check List

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

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

Codecov Report

Merging #1158 (463a598) into main (79b5924) will decrease coverage by 24.23%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##               main    #1158       +/-   ##
=============================================
- Coverage     93.35%   69.11%   -24.24%
  Complexity       10       10
=============================================
  Files           100        8       -92
  Lines          2557       68     -2489
  Branches          9        9
=============================================
- Hits           2387       47     -2340
+ Misses          160       11      -149
  Partials         10       10

Impacted Files
Coverage Δ

src/test_workflow/integ_test/local_test_cluster.py

src/test_workflow/integ_test/service.py

src/test_workflow/integ_test/service_opensearch.py

...rkflow/integ_test/service_opensearch_dashboards.py

src/test_workflow/integ_test/integ_test_suite.py

src/test_workflow/test_cluster.py

src/run_integ_test.py

...c/manifests_workflow/input_manifests_opensearch.py

src/assemble_workflow/assemble_args.py

src/build_workflow/builder.py

... and 82 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 79b5924...463a598. Read the comment docs.


Error: TypeError: buf.copy is not a function

Fresh install of Homebridge on my Raspberry PI
Raspberry Pi 3 - raspbian v9.9 (Stretch)
node v4.2.1
npm v2.14.7
homebridge v2.14.7
homebridge installed in global mode (-g) & starting correctly
When trying to add homebridge to my iPhone by scanning the code & entering the passcode, Homebridge crashes with the following error
Scan this code with your HomeKit app on your iOS device to pair with Homebridge:
Or enter this code with your HomeKit app on your iOS device to pair with Homebridge:
┌────────────┐
│ 230-32-016 │
└────────────┘

[Sat Aug 10 2019 11:56:45 GMT+0200 (CEST)] Homebridge is running on port 23316.
[Sat Aug 10 2019 11:57:16 GMT+0200 (CEST)] TypeError: buf.copy is not a function
at Function.Buffer.concat (buffer.js:238:9)
at Object.encode (/usr/lib/node_modules/hap-nodejs/lib/util/tlv.js:26:35)
at Object.encode (/usr/lib/node_modules/hap-nodejs/lib/util/tlv.js:51:39)
at Object.encode (/usr/lib/node_modules/hap-nodejs/lib/util/tlv.js:51:39)
at HAPServer._handlePairStepFive (/usr/lib/node_modules/hap-nodejs/lib/HAPServer.js:459:21)
at HAPServer._handlePairStepFour (/usr/lib/node_modules/hap-nodejs/lib/HAPServer.js:439:8)
at HAPServer._handlePairStepThree (/usr/lib/node_modules/hap-nodejs/lib/HAPServer.js:413:8)
at HAPServer._handlePair (/usr/lib/node_modules/hap-nodejs/lib/HAPServer.js:315:10)
at HAPServer. (/usr/lib/node_modules/hap-nodejs/lib/HAPServer.js:209:39)
at emitNone (events.js:67:13)
[Sat Aug 10 2019 11:57:16 GMT+0200 (CEST)] Got SIGTERM, shutting down Homebridge...

any ideas ?

Nodejs 4 is eol since 2018. nodejs 6 is eol since April 2019.
You should update your nodejs. And do not forget to reinstall homebridge or do a npm rebuild and ideally use most current version.


Update content in state page

Overview
Brief description of what this PR does, and why it is needed.
Closes #XXX
Demo
Optional. Screenshots, curl examples, etc.
Notes
Optional. Ancillary topics, caveats, alternative strategies that didn't work out, anything else.
Testing Instructions

How to test this PR
Prefer bulleted description
Start after checking out this branch
Include any setup required, such as bundling scripts, restarting services, etc.
Include test case, and expected output

@jpvelez - can you fill out the PR template? Otherwise we can't review this

Also after talking this over in the group we don't think this image style works with the site, we'll wait for the images to come in that are being commissioned for the video. With that in mind I'll close this PR.


Typo

[Enter feedback here]
In the "This approach is commonly used when the follow data points are observed in the migration plan:" follow should be following

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

ID: ac8c397b-0179-d7a1-5eef-38308496fad1
Version Independent ID: 890b28e5-4b20-8892-2435-4508083de26d
Content: Migrate an SAP platform to Azure - Cloud Adoption Framework
Content Source: docs/scenarios/sap/migrate.md
Service: cloud-adoption-framework
Sub-service: migrate
GitHub Login: @deepakonics
Microsoft Alias: brblanch

Thanks for reporting - this issue is under review. This is a Microsoft Internal DevOps Bug ID # 454685

Typo fixed.


Camera calibration

I'm now getting reasonable results from the camera calibration app. Please test. Not that there's anything making use of the distortions yet.
Note that I hardcoded the length of my squares on the checkerboard to 24 mm. This should probably be configurable in the GUI somehow.

Contributes toward
#30
#50
#115

I just added a dialog that shows up before the main calibration screen that lets you set the size of the checkerboard square. Calibration appears to work well now. Thanks for fixing this up.
One annoying bug I discovered (not caused by this new work) is that  the distortion calibration tool doesn't properly reset the exposure and gain settings for the camera when the tool exits, which throws off the color calibration for the controllers. I send a flag with the setGain and setExposure request that says not to save the settings. It does suppress the immediate saving of the tracker settings, but the original gain and exposure settings don't get restored and then get re-saved out later anyway on service shutdown. Not something that needs to be fixed in this PR, but worth addressing in master.


Add Chocolatey Install Instructions

Added Chocolatey install instructions

Link to Chocolatey's Why-Chocolatey Page for users who don't recognize it
I can add links to each package as well
Example command to install both tools

Based on krew instructions, this may need to be split into separate examples

Removed duplicate Homebrew instructions

A duplicate set of Homebrew instructions were under the Linux section

It will likely need to wait on package approval before instructions are added.
https://chocolatey.org/packages/kubectx
https://chocolatey.org/packages/kubens

@googlebot I signed it!

I have received notification that the packages have been approved on Chocolatey

Confirming, that I'm using Chocolatey for installing the tools.

Sorry I completely missed this. If you can address the large conflict and ping me I can emerge this.


Google Play says app requires 17 permissions

I set  as this example suggests, but when I upload the APK to Google Play, it says that it will require 17 permissions and 5 features in order to be installed.
I'm not using any special libraries that may require these permissions, just Bootstrap and jQuery. The strange thing is, even when I remove all content from my index.html (the only HTML file in the app) the same thing happens.
Any ideas how I can remedy this? The app will onlye require network access for now.
I am not using Cordova and I don't have a Manifest.xml, just config.xml.

In my config.xml, i have only the following preferences. Nothing else. The app asks only for network permission. BTW i use phonegapbuild service. hope this helps.

<icon src="icon.png" />
<gap:splash src="splash.png" />

<access origin="*"/>

Not an issue. Close.


Add Anssr Data Platform as Docusaurus user

@brenopolanski Hi! Thanks for the PR. Please sign the CLA so we can review and merge it. Thanks!

Hey @JoelMarcey I did :)


[BUG] Broken Image link in pr template

Description

The Image link is broken & it doesn't show up a image on the pull request close message!!
Expected Behavior

The link should be fixed
Screenshots/Logs

Environment:

Meshery Version:
Kubernetes Version:
Host OS:
Browser:

Hi @vishalvivekm
Can I start working on it?

Here u go @Viveksati5143

Here u go @Viveksati5143

Can you provide me the new link?

This issue has been open for some time with no recent activity, unassigning to open it up for new contributors to give it a go.


Not requiring specific versions results in lots of broken modules

I keep trying to use modules only to find they have imported some other module without specifying a version (or any tag) in their import url and that module has published a breaking change in their latest version.
Its very frustrating and leads to a perception of Deno being broken in general. I know this isn't really a deno bug, as its just pulling down whats coming from the server and there are lockfile options to help prevent that kind of issue but to whatever extent dotland can prevent this issue from propagating in simple 3rd party libraries I think it should.
I would recommend removing any features in dotland which would attempt to serve up a default tag (latest) or infer a default module (mod.ts) and require a user to specifically give a full path to their module including the tag.
For backwards compatibility maybe scan all the modules you currently have cached and do the inference one last time and bake it into a file? Every current module without a version identifier would get that one specific version in perpetuity plus a x-deno-warning to update your imports. I can't think of anything better without just hard breaking everyone doing this right now.
But, it really sucks not to have versions on your deps.

We will not remove the ability to use a default tag (and we dont have a default module fallback). However, to aid this issue, we have recently added a list of dependencies used by a module, so you can tell if it is using a version implicitly or not.

Is there a way to do version locking? I don't really care per-se if it doesn't have a specific version so long as I can lock the version at a point in time. Its when they referencing things like std library which ends up taking on breaking changes as deno evolves and it breaks running code, that is painful. But if I could lock it that would help quite a bit.


Skyline: Fix audit logs for TestGroupedStudies1Tutorial

Match Annotations1.xlsx fix made on skyline.ms tutorial files

/rebase

/rebase


Add Trainer.validate(…) method to run one validation epoch

What does this PR do?
Adds a Trainer.validate(...) method to perform one evaluation epoch over the validation set, with the same semantics as Trainer.test(...).
Resolves #4634
I'd say that the PR is now in a good enough shape to remove the draft tag and request a proper review.
Before submitting

[x] Was this discussed/approved via a Github issue? (no need for typos and docs improvements)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together? Otherwise, we ask you to create a separate PR for every change.
[x] Did you make sure to update the documentation with your changes?
[x] Did you write any new necessary tests?
[x] Did you verify new and existing tests pass locally with your changes?
[x] If you made a notable change (that affects users), did you update the CHANGELOG?

PR review
Anyone in the community is free to review the PR once the tests have passed.
Before you start reviewing make sure you have read Review guidelines. In in short, see following bullet-list:

[ ] Is this pull request ready for review? (if not, please submit in draft mode)
[ ] Check that all items from Before submitting are resolved
[ ] Make sure the title is self explanatory and the description concisely explains the PR
[ ] Add labels and milestones (and optionally projects) to the PR so it can be classified; Bugfixes should be including in bug-fix release milestones (m.f.X) and features should be included in (m.X.b) releases.

Did you have fun?
Make sure you had fun coding 🙃

Hello @EliaCereda! Thanks for opening this PR.

In the file pytorch_lightning/trainer/trainer.py:

Line 747:36: E261 at least two spaces before inline comment

Do see the Hitchhiker's guide to code style

Yes, I'll also prepare some tests, I was thinking of using the test cases for Trainer.test as a reference.

It's not clear to me why these tests are failing. I think CircleCI just had a transient error and might go away if we re-run.
This is the other failing test, the 'specific' variant. It fails at line 212 because the checkpoint file doesn't exist anymore, but it did exist at line 201 when validate is called the first time.

@carmocca, regarding your other three comments, I based my tests directly on those for the Trainer.test(...) method. At the moment, I didn't make changes that weren't strictly necessary to adapt them.

This is the other failing test, the 'specific' variant. It fails at line 212 because the checkpoint file doesn't exist anymore, but it did exist at line 201 when validate is called the first time.

I have an idea as to why this might be: the default ModelCheckpoint callback saves a new checkpoint at the end of every validation epoch by default. This should be disabled in Trainer.validate(...), I think, or it risks deleting the very checkpoint you're evaluating.

It's a sensible idea, but it seems hard to take out multiple PRs, each standing on its own, from this one. How would you propose to approach the splitting? Can I ask you which independent changes do you see?

I'll have some more time to dedicate to this over the coming week and I'd ask you if there is something I can do to bring this closer to a mergeable state.
The biggest concern is that it's quite a big PR right now. To address this, I went through to the changes that are included and I'd say they can be divided in 7 groups:

A refactor of Trainer to replace the testing attribute with a more generic evaluating, which initially can only be None or 'test'.
Update of various components to check the new evaluating attribute instead of testing.
Addition of the Trainer.validate(...) method, which basically differs from test(...) only in setting evaluating = 'validation'
Update of various components to handle the new value of evaluating.
Tests for Trainer.validate(...)
Changes to the docs of various components to mention the existence of a new stage.
Renames of some internal methods to better reflect their new purpose (eg. one train_or_test() which becomes train_or_evaluate())

Do you think I missed anything? Of these, I think 1. and 2. could definitely make sense on their own and might be pushed forward in their own PR. On the other hand, I'm having a hard time finding a way to further separate the rest.
Do you have any suggestion in this sense? Thanks!
@Borda, @rohitgr7, @carmocca

I personally would keep it to this PR. It's definitely not the largest we've merged recently and the changes have cohesion. What do others prefer?

I'd suggest separate PRs, just to minimize any future bugs and better review, the way suggested here: https://github.com/PyTorchLightning/pytorch-lightning/pull/4707#issuecomment-735271341
PR-1: [1, 2]
PR-2: [3, 4, 7]
PR-3: [5, 6]  # test and docs are almost independent so you can do it either way (separate or together)

Just published the two new PRs #4945 and #4948, split as proposed. Closing.


Debloat-docker

Debloated and updated Dockerfile:

less options more but more userfriendly
better Entrypoint to simulate CLI usage
without command the container still starts the web-host

also debloated build.sh and updated run.sh

Feel free to merge after Reviewing!!!


[FEA] NDS benchmark regression caused by OOM retry enhancement for project and filter

NDS benchmarks show a regression in a few queries and for the entire benchmark when run with and without this PR: https://github.com/NVIDIA/spark-rapids/pull/7864.
Regression check results:
Name = query4
Means = 13489.0, 14134.2
Time diff = -645.2000000000007
Speedup = 0.9543518557824284
T-Test (test statistic, p value, df) = -7.2454876939697455, 8.844095416263367e-05, 8.0
T-Test Confidence Interval = -850.5462693976871, -439.8537306023144
ALERT: significant change has been detected (p-value < 0.05)
ALERT: regression in performance has been observed
--------------------------------------------------------------------
Name = query67
Means = 25050.4, 25697.6
Time diff = -647.1999999999971
Speedup = 0.9748147686943529
T-Test (test statistic, p value, df) = -3.628010164067507, 0.0067043265929349, 8.0
T-Test Confidence Interval = -1058.5676116387556, -235.8323883612386
ALERT: significant change has been detected (p-value < 0.05)
ALERT: regression in performance has been observed
--------------------------------------------------------------------
Name = query72
Means = 120587.6, 132140.6
Time diff = -11553.0
Speedup = 0.9125703984997798
T-Test (test statistic, p value, df) = -9.90231167615509, 9.133228290031783e-06, 8.0
T-Test Confidence Interval = -14243.408729124643, -8862.591270875357
ALERT: significant change has been detected (p-value < 0.05)
ALERT: regression in performance has been observed
--------------------------------------------------------------------
Name = query95
Means = 10391.6, 11096.0
Time diff = -704.3999999999996
Speedup = 0.9365176640230715
T-Test (test statistic, p value, df) = -2.383640196381307, 0.044293307082253354, 8.0
T-Test Confidence Interval = -1385.857425992182, -22.94257400781737
ALERT: significant change has been detected (p-value < 0.05)
ALERT: regression in performance has been observed
--------------------------------------------------------------------
Name = benchmark
Means = 533694.0, 554751.4
Time diff = -21057.400000000023
Speedup = 0.9620417361722746
T-Test (test statistic, p value, df) = -9.583490720827694, 1.1650894016720579e-05, 8.0
T-Test Confidence Interval = -26124.285635681834, -15990.514364318213
ALERT: significant change has been detected (p-value < 0.05)
ALERT: regression in performance has been observed

Thanks for the info.  In previous discussions with Bobby, I had expected performance regression but closer to 1-2%.  We can leave this open to finalize which issues plan to close the regression gap.

Majority of regression was in query 72 and that is now fixed with join reordering so closing this issue.


420003 create volume failed ，卷map失败

command: curveadm client map
version: CurveAdm v0.3.0
docker version: Docker version 24.0.7, build afdd53b

@yunwoniu can you provide the error log and help to locate the clue.


Left over, unused table (NG_ENERGYDEM_TO_CITYOBJEC)?

Same issue as before.
Currently, this association table is not needed anymore, as table NG_ENERGYDEMAND has a field containing the foreign key to table NG_CITYOBJECT - and the Importer/Exporter correctly uses it.
I think this table can be excluded from the install script.

Thanks @gioagu. The 3DCityDB mapping is automatically derived from the XML Schema of the KIT EnergyADE 1.0 profile. The change would have to be made in this schema but the schema is not under our control.
I am not an expert of the EnergyADE but I guess this table is meant for having a bi-directional mapping between city objects and energy demands. The importer only seems to populate one direction though, that's true.

Hello,
after some reasoning, I think the explanation is as follows and I add it here only for documentation:

The "demands" property from ADE cityobject to EnergyDemand is mapped to the NG_ENERGY_DEMAND table, column "cityobject_demands_id". This is the most common case, when a cityobject has one or many children EnergyDemand object(s).

The ïsDemandedBy"is mapped then to the association table NG_ENERGYDEM_TO_CITYOBJEC. And it is used to map for example a EnergyDemand is shared by multiple cityobjects. I have never seen it used, personally, and it is when I can imagine this "extra table "to be used.

So, ideally, these two cases could be manually mapped to one single association table, but as a result of the automatic mapping (an its underlying rules) it is now clear to me how it works. In conclusion, it is not a bug.
On a side note: in the Energy ADE 2.0 (currently WIP) we have decided to drop this "isDemandedBy" property. 🙂


The INT sample NHS002 full_acceptance_withouth_nhsack.1.fhir.json have invalid timestamp format in the bundle meta last update

Bugs
The INT sample NHS002 full_acceptance_withouth_nhsack.1.fhir.json output invalid timestamp format '2010-02-26T15:41', it should be "2010-02-26T15:00"
Step to reproduce

check the above sample data
Check Bundle, meta lastupdated, it is missing the second part.

Expected behavior
It contains second part.

@Kusnaditjung I don't see Bundle.meta.lastUpdated anywhere without seconds part. Can you add a direct link to the place where it's missing?

here is the link,   https://github.com/nhsconnect/integration-adaptor-lab-results/blob/main/src/intTest/resources/success_uat_data/NHS002/full_acceptance_without_nhsack.1.fhir.json
Check Bundle => meta => lastUpdated

@Kusnaditjung I see in the latest version of this file it's correct:

but previous had it without seconds as you noticed

I think the issue was that the file has been manually altered and automatic test ignored timestamp precision.
The value is correct now but I'll update our test cases

RETEST 1
TEST STEPS TO REPRODUCE ISSUE
Pathology2.txt
I re-ran request pathology_2 and reviewed the FHIR output.
ACTUAL RESULT
Pathology2FHIR.txt

I can see that the lastUpdated element now has a valid timestamp in the meta element.
Retest 1 PASSED
Defect 129 Closed


upgrade nacos module fescar version and add logback

Signed-off-by: jimin.jm<EMAIL_ADDRESS>

will fix at next pr


add option to print verbose CLI output to stdout during tests.

this will greatly increase verbosity of CLI tests if needed. currently applied to CLIRuleTests only for debugging. can be turned on for other tests as well. we could also pass it in as a gradle property on demand.

I think modifying the assert is probably better (I normalized the ones in CLIActionTests as follows:
                assertTrue("Expected '" + exp + "' which is missing in log for activation " + activationId, present);

so that you always have the activation ID. I think this is likely sufficient to do for CLIRulesTests instead of the verbose flag.

rebase to make Travis happy again related to #1030

@rabbah The tests did get an activation id but they actually check the log for a string with logsForActivationContain which made the assertion fail. The first assertion which got the activation id passed. So in this case only getting the activation id would not have helped.

From the jenkins job output, you can't tell what the activation id - usually just knowing this is enough to RCA.

made this way simpler by tweaking log levels as @rabbah recommended. also added a log statement to log the CLI result, which is enough to get all you need for debugging.

Apparently, logger can be null..?
system.rest.JsonSchemaTests > JSON schema validator should accept a correct object FAILED
    java.lang.NullPointerException
        at common.TestUtils.runCmd(TestUtils.java:331)
        at common.TestUtils.runCmd(TestUtils.java:307)
        at common.TestUtils.runQuietly(TestUtils.java:299)

Adding a null check.

@rabbah pls let me know when LGTM so I can squash and rebase.

I'll do both - no worries. We're accepting that this will make our test outputs more verbose, yes?

Is there a PG?

https://openwhisk-jenkins.swg-devops.com:8443/job/Playground1/135/
I'd rather accept more log output and disk usage than not knowing what went wrong when I get paged :-)

Will merge when PG approves.

PG failed while pulling swift image. weird.
Relaunched https://openwhisk-jenkins.swg-devops.com:8443/job/Playground1/137/

Merged in 05fd5f4


Address Compute apiview comments

API change check
APIView has identified API level changes in this PR and created following API reviews.
Azure.ResourceManager.Compute


BUG: Workspaces malfunction when a monitor is turned off/on

This might sound like a pretty niche scenario, but in my house lights go off quite often, and this bug manifests every time the screens turn off. (I have the computer connected to a SAI, but only one of my six monitors).
Config
# Monitors
monitor = $screen1,3840x2160@60,0x0,1,bitdepth,10
monitor = $screen2,3840x2160@60,3840x0,1,bitdepth,10

# Workspaces
wsbind = 1,$screen1
wsbind = 2,$screen2

HOW TO REPRODUCE

On a monitor, open any program.
Turn off the monitor.
Turn on the monitor again.

WHAT HAPENS

The window doesn't go back to its original monitor.
If you try to move it back manually with the movetoworkspace dispatcher, it just won't. You can move to any other monitor, but not to the one you turned off/on.

WHAT SHOULD HAPEN

When you turn off the monitor, the windows in that monitor pass to the other (this hapen alwady, good)
When you turn on the monitor again, the window should go back to its original monitor (this doesn't hapen)
Also, you should be able to manually move back the window to the monitor it was (this doesn't hapen, the dispatcher glitches)

Now the dispatcher movetoworkspace won't work correctly. You won't be able to move your window back to the monitor it was.

Also, you should be able to manually move back the window to the monitor it was (this doesn't hapen, the dispatcher glitches)

Wdym glitches? there should just be a new workspace open on the re-connected monitor. For the workspaces not coming back, this is a dupe of some issue I forgot which one now, searchable

Give me a bit of time. I'm gonna try to record it on camera tomorrow to document better this issue.

I'm quite certain this has been fixed because I haven't experience it for quite a few versions. Closing.


Parallel run on multi android devices

Hello,
can you please help , how can we do configure a file to run tests on multi android devices ? same foe iOS?
am trying from last couple of months but not getting any clue anywhere …and its eating my deadlines….I tried different combination but nolcuk….here am sharing one of the way I have tried
const host = '<IP_ADDRESS>';   // default appium host
//const port = 4730;
const path='/wd/hub';
config.capabilities =[
    {
        services: [
            ['appium', {
                args: {
                    debugLogSpacing: true,
                },
                command: 'appium',
            },
            ],
        ],
        specs: [
            "./test/specs/test.spec.js"
        ],
        maxInstances: 2,
    // For iOS/android bases mobile device
        "android":[{
            port: 4723,
            // The defaults you need to have in your config
            "appium:automationName": 'UiAutomator2',
            "appium:deviceName": 'Nexus_30',
            "appium:avd":'Nexus_30',
            platformName: 'Android',
            fullReset: true,
            appPackage: '*',
            appActivity: '*',
            newCommandTimeout: 600,
        },
        {
            port: 4725,
            // The defaults you need to have in your config
            "appium:automationName": 'UiAutomator2',
            "appium:deviceName": 'Nexus_12',
            "appium:avd":'Nexus_12',
            platformName: 'Android',
            fullReset: true,
            appPackage: '*',
            appActivity: '*',
            newCommandTimeout: 600,
        }],
    }];

exports.config = config;

Hi RollerIn,
It's been long time. I can only suggest something like the following:
require("ts-node").register({files: true});
exports.config = {
    runner: 'local',
    framework: 'mocha',
    sync: true,
    logLevel: 'debug',
    deprecationWarnings: true,
    bail: 0,
    baseUrl: 'http://the-internet.herokuapp.com',
    waitforTimeout: 10000,
    connectionRetryTimeout: 90000,
    connectionRetryCount: 3,
    reporters: ['spec'],

    // ====================
    // Appium Configuration
    // ====================
maxInstances: 4,
services: [
        [
            'appium',
            {
                args: {
                // For arguments see
                // https://github.com/webdriverio/webdriverio/tree/master/packages/wdio-appium-service
                },
                command: 'appium',
            },
        ],
    ],
    capabilities: {
           port: ???, // here you need to programmatically generate different ports. Two or more threads can not use the same port.
            "appium:automationName": 'UiAutomator2',
            "appium:deviceName": 'Nexus_30',
            "appium:avd":'Nexus_30',
            platformName: 'Android',
            fullReset: true,
            appPackage: '*',
            appActivity: '*',
            newCommandTimeout: 600
    }
    mochaOpts: {
        ui: 'bdd',
        timeout: 60000 * 10
    }
};

You can run 4 instances of the same emulator (Nexus_30 as example) and test it out.
I only ran 2 devices simultaneously within 1 test case (where 1 device send some message and 2 device receive this message in the application)

Thank you @qaschevychelov for your valuable response.
is there any way to identify free & workable ports? since I have tried with few ports and observed few of them not able to connect.
and do I need to use unique ports for each instance? and same as for device?
or can I use same ports for 4 instances?

appium uses ports from 4723 etc (4724, 4725...)
So if you have 4 devices (or 4 emulators) you need to start 4 appium servers each with uniq port (first with 4723, second with 4724 etc). As i know WDIO handle running of appium instances by itself. But i dont know how it works under the hood.
About running 1 test on android and iOS devices simultaneously: unfortunately, i didn't have to do such approach. Maybe you can gather all tests into 2 suites? 1 for android and 1 for iOS ?

config.capabilities = [
    {

        port: 4723,
        automationName: 'UiAutomator2',
        platformName: 'Android',
        deviceName: AndroidName,
        platformVersion: AndroidVersio,
        orientation: 'PORTRAIT',
        avd: AndroidName,
        browserName: 'chrome',
        acceptInsecureCerts: true,
        'chromeOptions': {
            args: [
                '--no-first-run',
                '--ignore-certificate-errors',
                '--window-size=2600,1800',
                '--allow-http-background-page',
                '--allow-running-insecure-content',
                '--allow-insecure-localhost',
                '--no-sandbox',
                '--disable-dev-shm-usage',
                '--disable-infobars',
                '--disable-web-security',
                '--disable-popup-blocking'
            ],
        },
        newCommandTimeout: 240,
        maxInstances: 1,
    },
    {

        port: 4730,
        automationName: 'XCUITest',
        deviceName: 'iPhone 6',
        platformName: 'iOS',
        platformVersion: '10',
        avd: 'iPhone 6',
        orientation: 'PORTRAIT',
        browserName: 'safari',
        acceptInsecureCerts: true,
        nativeWebTap:true,

        maxInstances: 1,
    },

];

exports.config = config;

Te above config ,am running..what is happening..
it launched android and it runs test cases  once execution completed then only appium lanced iOS devices and run all test cases
but wha ti want launch android and iOS devices at a time and run same set of test cases on both devices..but its not happening here…am I missing at aocnfig level?

hmm maybe you need to add maxInstances: 2 at config level
Now you have maxInstances inside capabilities array. But what if add  maxInstances: 2 at level above?
config.capabilities =...
config.maxInstances = 2

Yes, you are correct…inside cap …won't work..but outside ..they are working…thank you very much

happy to help!
can i close this tocket?

I need your experience on WebdriverIO framework maintenance, how did you felt when test cases grows in huge…will it be easy to maintain?

happy to help!
can i close this ticket?

its really …you saved my lot of time….thanks a lot

didn't manage to work with mobile browsers. I only know for android that you need to ask android developers to enable WebView.setWebContentsDebuggingEnabled(true); in webview in the app source in order you to have ability to change context from native to webview.
maintenance depends on project (how often front changes etc), how you create pageObjects. I didnt feel it worse than any other language (java for instance). There were some troubles with debugging.  WDIO supports tags for flexible test run - great feature.

didn't manage to work with mobile browsers. I only know for android that you need to ask android developers to enable WebView.setWebContentsDebuggingEnabled(true); in webview in the app source in order you to have ability to change context from native to webview.
maintenance depends on project (how often front changes etc), how you create pageObjects. I didnt feel it worse than any other language (java for instance). There were some troubles with debugging.  WDIO supports tags for flexible test run - great feature.

Yes, Debugging is too bad and sucking time…still not understanding why debugging is not improved in WebdriverIO


Enable AF_XDP for cmd-forwarder-vpp management interface

Currently cmd-forwarder-vpp uses AF_PACKET to bind to an existing Node interface using LinkToAfPacket
AF_XDP is faster than than AF_PACKET, but AF_XDP is only useable for our purposes from kernel version 5.4 onward.  The good news is that lots of places have kernel versions that new (including the more recent version of Docker Desktop).
AF_XDP is supported in govpp
Because AF_XDP is only supported for newer kernels, a check will need to be made and then the correct method (AF_XDP if available, otherwise AF_PACKET) before choosing the method to use.

blocked by https://github.com/networkservicemesh/cmd-forwarder-vpp/issues/284

Found a problem on clusters - forwarder just hangs during the start without any logs.
I tested it on kind and packet cluster - situation is the same.
Created a JIRA issue - https://jira.fd.io/browse/VPP-1994

It seems that it became clear why we see the forwarder (and node) hanging.
If I understand correctly, AF_XDP moves frames directly to VPP, without Linux network stack. But we know that the forwarder uses hostNetwork: true -  https://github.com/networkservicemesh/deployments-k8s/blob/main/apps/forwarder-vpp/forwarder.yaml#L19. This is required for the interdomain.
So, when VPP takes the uplink interface, it grabs the primary node interface. And traffic goes directly to the VPP, bypassing Linux. Therefore, we lose connection with the node and it seems to us that it hangs.
@edwarnicke
As I see it, Calico-vpp has a similar scenario - https://projectcalico.docs.tigera.io/reference/vpp/host-network
Should we take a similar approach?

@glazychev-art

As I see it, Calico-vpp has a similar scenario - https://projectcalico.docs.tigera.io/reference/vpp/host-network
Should we take a similar approach?

Could you please say more?
Also, as I know AF_XDP is not working is calico. Am I wrong?

@glazychev-art Look into AD_XDP and eBPF.  You should be able to craft an eBPF program that is passed in for AD_XDP that only passes on VXLAN/Wireguard/IPSEC packets (sort of like pinhole) and then that traffic will go to VPP, and all other traffic will go to the kernel interface.

Most likely the action plan will be:

run vpp af_xdp with a custom eBPF program (fix possible bugs)
figure out how to communicate with eBPF from golang
check kernel/libbpf/vpp-af-xdp compatibility
create a chain element to update eBPF map (it will contain UDP ports)
update cmd-forwarder-vpp:
a. apply the new chain element
b. update VppInit function (add AF_XDP)
c. update forwarder Dockerfile to build it correctly

Current state:

Prepared a eBPF program
Built govpp with this patch - https://gerrit.fd.io/r/c/vpp/+/37274
Run cmd-forwarder-vpp docker tests - they are working very well. They don't work without the patch from step 2
Still have a problem with kubernetes - forwarders not responding after creation

There was an idea to update VPP to the latest version.
Docker tests also don't work without https://gerrit.fd.io/r/c/vpp/+/37274, and the problem with kubernetes was not resolved.
Perhaps the patch https://gerrit.fd.io/r/c/vpp/+/37274 is not entirely correct if we run the cluster locally (kind). I continue to work in this direction.

@glazychev-art Is calico-vpp being on an older vpp version still blocking us updating to a more recent vpp version?

@edwarnicke
Not really - they have updated it recently (on main branch) - https://github.com/projectcalico/vpp-dataplane/commit/d8288e154cfb7d757e039d3a707d67ac4a0c5e49.
I've tested this vpp revision and seen a few problems:

Minor - we need to use newer api version for AF_PACKET. For unknown reasons, our current one no longer works.
More serious - with many improvements to the Wireguard, the event mechanism (when we get that wireguard interface is ready) was broken. Will need to figure it out
We need to deal with ACLs because our current usage returns an error

Do we need to update?

@glazychev-art Its probably a good idea to update yes

@glazychev-art It might also be a good idea to put in tests in VPP to prevent some of the breakage we are seeing happening in the future.

@edwarnicke
I have a question related to eBPF program. Currently I've implemented it so that it only filters IP UDP packets based on a port.
But what do we do with ARP packets?
We definitely need ARP packets to be handled by the kernel for the proper pod function.
On the other hand, we also need ARP in the VPP so that we can find out the MAC addresses of other forwarders.
Do you have any thoughts?

@glazychev-art Could you point me to your existing eBPF program?

@glazychev-art Have you looked at bpf_clone_redirect() ?

@edwarnicke
Currenlty eBPF program looks like
/*
 * SPDX-License-Identifier: GPL-2.0 OR Apache-2.0
 * Dual-licensed under GPL version 2.0 or Apache License version 2.0
 * Copyright (c) 2020 Cisco and/or its affiliates.
 */
#include <linux/bpf.h>
#include <linux/in.h>
#include <linux/if_ether.h>
#include <linux/ip.h>
#include <linux/udp.h>
#include <bpf/bpf_helpers.h>

/*
 * when compiled, debug print can be viewed with eg.
 * sudo cat /sys/kernel/debug/tracing/trace_pipe
 */
#ifdef DEBUG
#define s__(n)   # n
#define s_(n)    s__(n)
#define x_(fmt)  __FILE__ ":" s_(__LINE__) ": " fmt "\n"
#define DEBUG_PRINT_(fmt, ...) do { \
    const char fmt__[] = fmt; \
    bpf_trace_printk(fmt__, sizeof(fmt), ## __VA_ARGS__); } while(0)
#define DEBUG_PRINT(fmt, ...)   DEBUG_PRINT_ (x_(fmt), ## __VA_ARGS__)
#else   /* DEBUG */
#define DEBUG_PRINT(fmt, ...)
#endif  /* DEBUG */

#define ntohs(x)        __constant_ntohs(x)
#define MAX_NR_PORTS 65536

struct {
    __uint(type, BPF_MAP_TYPE_HASH);
    __uint(max_entries, MAX_NR_PORTS);
    __type(key, int);
    __type(value, unsigned short int);
    __uint(pinning, LIBBPF_PIN_BY_NAME);
} ports_map SEC(".maps");

struct {
    __uint(type, BPF_MAP_TYPE_XSKMAP);
    __uint(max_entries, 64);
    __type(key, int);
    __type(value, int);
} xsks_map SEC(".maps");

SEC("xdp_sock")
int xdp_sock_prog(struct xdp_md *ctx) {
    const void *data = (void *)(long)ctx->data;
    const void *data_end = (void *)(long)ctx->data_end;
    int qid = ctx->rx_queue_index;

    DEBUG_PRINT("rx %ld bytes packet", (long)data_end - (long)data);

    if (data + sizeof(struct ethhdr) + sizeof(struct iphdr) + sizeof(struct udphdr) > data_end) {
        DEBUG_PRINT("packet too small");
        return XDP_PASS;
    }

    const struct ethhdr *eth = data;
    if (eth->h_proto != ntohs(ETH_P_IP) && eth->h_proto != ntohs(ETH_P_ARP)) {
          return XDP_PASS;
    }

    if (eth->h_proto == ntohs(ETH_P_ARP)) {
      if (!bpf_map_lookup_elem(&xsks_map, &qid))
      {
        DEBUG_PRINT("no socket found");
        return XDP_PASS;
      }

      DEBUG_PRINT("going to socket %d", qid);
      return bpf_redirect_map(&xsks_map, qid, 0);
    }

    const struct iphdr *ip = (void *)(eth + 1);
    switch (ip->protocol) {
      case IPPROTO_UDP: {
            const struct udphdr *udp = (void *)(ip + 1);
            const int port = ntohs(udp->dest);
            if (!bpf_map_lookup_elem(&ports_map, &port))
      	    {
      	        DEBUG_PRINT("unsupported udp dst port %x", (int)udp->dest);
        	return XDP_PASS;
      	    }
      	    break;
          }
      default:
        DEBUG_PRINT("unsupported ip proto %x", (int)ip->protocol);
        return XDP_PASS;
    }

    if (!bpf_map_lookup_elem(&xsks_map, &qid))
      {
        DEBUG_PRINT("no socket found");
        return XDP_PASS;
      }

    DEBUG_PRINT("going to socket %d", qid);
    return bpf_redirect_map(&xsks_map, qid, 0);
}

/* actually Dual GPLv2/Apache2, but GPLv2 as far as kernel is concerned */
SEC("license")
char _license[] = "GPL";

In short, we pass all ARP packets to VPP and filter IP packets - if UDP port belongs to VxLAN, Wireguard and so on - we pass it VPP, otherwise - to kernel

@edwarnicke
Yes, I looked at long bpf_clone_redirect(struct sk_buff *skb, u32 ifindex, u64 flags).
But as you can see, it receives sk_buff. So it seems, that we can call this function after XDP layer, when we already chose kernel (in TC ingress layer for example).
Probably we need to create sk_buff manually in xdp function and call bpf_clone_redirect.

@glazychev-art Trying to create an sk_buff sounds like it might be prone to error.
We may also want to think through what the problem really is.  Is the problem that we are not receiving arp packets, or is the problem how we construct our neighbor table in VPP?

I think the problem is that we are not receiving arp packets.
We construct the VPP neighbor table correctly - we take all ARP entries from the kernel known at the start time.
Next, we need to know about other pods in the VPP - for example, about another forwarder in order to set up a tunnel.
On the other hand, we also need to process arp in the kernel too - for example, when passing the request forwarder --> manager.

@edwarnicke
One more question:
Should we consider updating the vpp as a separate issue? Or does it make sense to do this only with af_xdp?

@glazychev-art Lets update vpp as a separate issue.  We should do that even if we don't get AF_XDP going.

@glazychev-art Would it make sense to use NeighSubscribeAt and IPNeighborAddDel too remove the need for VPP to receive arp packets?

@edwarnicke
Not really. We need to fully service ARP requests from both the Linux side and the VPP side.
NeighSubscribeAt and IPNeighborAddDel - in this case, we redirect all ARPs to kernel, right?
For example, consider that Kernel and VPP MAC addresses are the same.

Our server receives a broadcast ARP request - in this case it doesn't matter who answers - we have the same MAC and IP addresses.
Our server sends ARP request:
a. Kernel side sends ARP request (for communication between pods)
b. VPP side sends ARP request (for communication between forwarders when creating a tunnel)

So, kernel will only accept and remember the response if it sent the request itself. If the request was sent from the VPP side, the kernel will simply skip this response and forwarder won't get anything from NeighSubscribeAt.

So, kernel will only accept and remember the response if it sent the request itself.

Have we checked this?  It might be true, but I wouldn't simply presume it.

I think I tested something similar. Without NeighSubscribeAt, but I looked at ip neigh.
But definitely, we need to double-check that.

@edwarnicke
It looks like that NeighSubscribeAt and IPNeighborAddDel are working fine for IPv4 interfaces.
But this is not the case for IPv6. Since it has neighbor mechanism, Linux side doesn't save NA (Neighbor Advertisement) if we send NS (Neighbor Solicitation) from the VPP side. I tried changing the Solicited and Override flags in the response but it didn't help.
Should we continue to work in this direction or does it make sense to implement only IPv4?

Current state:

Rechecked work with flags (including Router flag)
Used wireshark to check if the packet is valid (e.g. checksum)
It looks like Linux really rejects unexpected NA:

   When a valid Neighbor Advertisement is received (either solicited or
   unsolicited), the Neighbor Cache is searched for the target's entry.
   If no entry exists, the advertisement SHOULD be silently discarded.
   There is no need to create an entry if none exists, since the
   recipient has apparently not initiated any communication with the
   target.

https://www.rfc-editor.org/rfc/rfc4861.html#section-7.2.5

Current state:

double-checked the possibility of copying the incoming packet both to the userspace and to the kernel space - did not find a way.
considered using TC egress level. We could store there whether an NS (neighbour solicitation) was issued from the kernel space. And use this information in XDP ingress layer. But it looks like this will bring more problems, because we don't know whether we will receive an answer at all.
perhaps it makes sense to send an NS during the NSM Request from the chain element. For example, we can try - https://pkg.go.dev/github.com/mdlayher/ndp

Have we tried adding IPv6 Neighbors via the CLI?  Just in case there's something off in the go lib?

Are we typically looking for anything other than the mac address of the gateway IP for the IPv6 case?
If so, could we simply scrape the linux Neighbor table for v6?

Current state:

checked this - https://insights.sei.cmu.edu/blog/ping-sweeping-in-ipv6/. Looks interesting. But pinging ff02::1 doesn't always invokes Neighbor Discovering. Let's look at wireshark:
ICMP IPv6 request:

ICMP IPv6 response:

So we see that the linux doesn't send Neighbour Solicitation at all (fd00:10:244:1::1 is a gateway).

Instead, we can resolve gateways for a given interface in a slightly different way. Before creating AF_XDP, we can use netlink.RouteList and then ping every gateway found. This will allow us to add neighbor entries to the linux. And they will later be read and added to the VPP.
@edwarnicke
What do you think?

@edwarnicke
It seems that it is not possible to run more than one AF_XDP forwarder on one node, unlike AF_PACKET (forwarders use hostNetwork). Logs from the second:
af_xdp               [error ]: af_xdp_create_queue: xsk_socket__create() failed (is linux netdev vpp1host up?): Device or resource busy
create interface af_xdp: xsk_socket__create() failed (is linux netdev vpp1host up?): Device or resource busy

Current state:
Tested a new forwarder on public clusters:
GKE - doesn't start. Logs from forwarder:
Apr  3 05:38:16.954 [INFO] [cmd:vpp] libbpf: Kernel error message: virtio_net: XDP expects header/data in single page, any_header_sg required
Apr  3 05:38:16.954 [INFO] [cmd:vpp] vpp[10244]: af_xdp: af_xdp_load_program: bpf_set_link_xdp_fd(eth0) failed: Invalid argument
Apr  3 05:38:18.228 [ERRO] [cmd:/bin/forwarder] [duration:12.809608ms] [hostIfName:eth0] [vppapi:AfXdpCreate] VPPApiError: System call error #6 (-16)
panic: error: VPPApiError: System call error #6 (-16)

AWS - doesn't start. Logs from forwarder:
Apr  3 13:24:25.406 [INFO] [cmd:vpp] libbpf: Kernel error message: veth: Peer MTU is too large to set XDP
Apr  3 13:24:25.406 [INFO] [cmd:vpp] vpp[10508]: af_xdp: af_xdp_load_program: bpf_set_link_xdp_fd(eth0) failed: Numerical result out of range
Apr  3 13:24:26.563 [ERRO] [cmd:/bin/forwarder] [duration:18.015838ms] [hostIfName:eth0] [vppapi:AfXdpCreate] VPPApiError: System call error #6 (-16)
panic: error: VPPApiError: System call error #6 (-16)

Packet - started, but ping doesn't work.
AKS - ping works only without hostNetwork: true flag. But poor performance (compared to AF_PACKET about 2 times slower)
Kind - works, but performance has not increased (even decreased slightly).

What do you think of it?

@glazychev-art Its strange that AF_PACKET is faster for TCP but slower for UDP.  Do we have any notion of why?

@edwarnicke
Yes, there are a couple of guesses:

If we look at iperf3 logs from TCP mode, we will look a huge number of retransmissions:

[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  46.9 MBytes   393 Mbits/sec  1326    113 KBytes
[  5]   1.00-2.00   sec  41.3 MBytes   346 Mbits/sec  1114   42.2 KBytes
...

(we don't see them with AF_PACKET)
2. I was able to reproduce something similar on the bare vpp instances:
https://lists.fd.io/g/vpp-dev/topic/af_xdp_performance/98105671
3. If we look at the vpp gerrit, we can see several unmerged af_xdp patches, that the owners claim will greatly increase performance (I tried them, it didn't help for TCP).
https://gerrit.fd.io/r/c/vpp/+/37653
https://gerrit.fd.io/r/c/vpp/+/38135

As part of this task, we have done the integration of AF_XDP interface on the kind cluster. This is working successfully.
https://github.com/networkservicemesh/integration-k8s-kind/actions/runs/4798046461/jobs/8535800517
On public clusters, we ran into problems. Separate issues were created
https://github.com/networkservicemesh/cmd-forwarder-vpp/issues/859
Performance:
https://github.com/networkservicemesh/cmd-forwarder-vpp/issues/860
I think this issue can be closed


[GOBBLIN-766]  Emit Workunits Created event

Dear Gobblin maintainers,
Please accept this PR. I understand that it will not be reviewed until I have checked off all the steps below!
JIRA

[x] My PR addresses the following Gobblin JIRA issues and references them in the PR title. For example, "[GOBBLIN-XXX] My Gobblin PR"

https://issues.apache.org/jira/browse/GOBBLIN-XXX

Description

[x] Here are some details about my PR, including screenshots (if applicable):

Tests

[x] My PR adds the following unit tests OR does not need testing for this extremely good reason:
Unit test cases added.
tested new created event log messages in Yugioh cluster.

Commits

[x] My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

@htran1 @yukuai518 Can you please review this PL. Thanks

+1 LGTM


Send window/progress messages to editor

Rust Language Server sends useful progress messages to communicate what it is doing, and the VS Code rust extension displays them in the statusbar.
This allows users to override the lsp-handle-progress command. For example:
declare-option -hidden str modeline_progress ""
define-command -hidden -params 4 -override lsp-handle-progress %{
  set global modeline_progress %sh{
    echo $1${2:+": $2"}${3:+" $3%"}${4:+" ✓"}
  }
}

And then put %opt{modeline_progress} in your modelinefmt to see what RLS is doing.

Thank you for your contribution!
Yes, handling progress is a nice feature to have.

Added your recipe to the wiki: https://github.com/ul/kak-lsp/wiki/Handling-progress-notifications


circleci-cli: 0.1.11508 -> 0.1.11540

Motivation for this change
Things done

[X] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[X] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

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

1 package built:

circleci-cli


Removed unnamed transitions. Now all transitions must have a name.

Pull Request Test Coverage Report for Build 41

42 of 42 (100.0%)  changed or added relevant lines in 6 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.2%) to 98.387%

Totals

Change from base Build 39:
-0.2%

Covered Lines:
1525

Relevant Lines:
1550

💛  - Coveralls


fix: invalidate eip 3541 check for shanghai

Invalidate 0xEF first byte check after Shanghai

It should be invalid even in Shanghai
Where did you get this error?

@rakita in ethereum tests

k, closing this since that EOF test is crooked

Those tests still need to be moved to cancun: https://github.com/ethereum/tests/tree/aa6d8cfc5d5b4a1658d7fcb1a8fad44bf00336c1/BlockchainTests/GeneralStateTests/EIPTests/stEOF


Should variables also be camelCase?

This is a pedantic question, I know.
There's this guidance for Parameters: "Use camel case for parameter names."
Is this also the case for variable names?

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

ID: cc11726f-f488-2f7c-c9ea-7c5d260e0d1d
Version Independent ID: 62b563e6-4040-03f7-ab1c-80af86eff4d0
Content: Best practices for Azure Resource Manager templates
Content Source: articles/azure-resource-manager/template-best-practices.md
Service: azure-resource-manager
GitHub Login: @tfitzmac
Microsoft Alias: tomfitz

Thanks for your comment. We are actively investigating and will get back to you shortly. Thanks for your patience.
@tfitzmac - fyi

@norachuga - yes, camel casing is recommended for variables too. I'll add that to the doc.

What about outputs? Seems they should be camel case, too, since they're used alongside variables when linking templates. Currently, there's no guidance, only an example showing an all-lowercase output ipaddress, which differs from the camel case resourceID on the Outputs page (which itself differs from the .Net camel-case guidelines which have it as resourceId (since ID is a closed-form compound word, even though it's written with the D capital in English)).


Add Coursier

Tool information

Tool name: Coursier (cs)
Tool license: Apache v2
Add or update? add
Desired version: latest stable
Approximate size: native installer/launcher size is ~55MB (not sure about the full installation size)
If this is an add request:

Brief description of tool:
Quoting the official page:

coursier is a dependency resolver / fetcher à la Maven / Ivy, entirely rewritten from scratch in
Scala. It aims at being fast and easy to embed in other contexts.
It handles many features of the Maven model, and is able to fetch metadata and artifacts from both Maven and Ivy repositories. It handles parallel downloads out-of-the-box without resorting to global locks.

As a CLI tool it allows

easily list the transitive dependencies of applications or libraries,
download and list their artifacts,
run applications published via Maven / Ivy repositories,
and many other things.

I think its functionality can be compared to that of pip/pipx for Python, npm/npx for Node.js, or Homebrew (in the context of the Scala ecosystem).
It's especially useful on CI for setting up the project environment: install a particular version of the JVM, install other tools (e.g. mill, scalafmt, scalafix, ammonite), fetch artifacts, run JVM applications, bootstrap executables, etc.

URL for tool's homepage: https://get-coursier.io

Provide a basic test case to validate the tool's functionality:
cs --version prints out the version

Area for Triage:
Scala
Question, Bug, or Feature?:
Feature
Virtual environments affected

[x] Ubuntu 16.04
[x] Ubuntu 18.04
[x] Ubuntu 20.04
[x] macOS 10.15
[x] macOS 11.0
[x] Windows Server 2016 R2
[x] Windows Server 2019

Can this tool be installed during the build?
Yes. Official installation instructions.
Tool installation time in runtime
<10s?
Are you willing to submit a PR?
Yes 🙌

Related GitHub actions:

https://github.com/coursier/cache-action
https://github.com/laughedelic/coursier-setup

/cc @alexarchambault (author of Coursier)

Hi @laughedelic,
official GitHub recommendation is using actions to setup tools whenever possible https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners#using-preinstalled-software, as it is the most safe and flexible way of using them, so we'd rather not to preinstall this tool to the image.
I am closing this issue, please, let us know if you have any concerns. Thanks.

Hi @AlenaSviridenko, I would argue that having a preinstalled latest version of Coursier is more important for Scala projects than having sbt (which is already included) because Coursier can be used to install (any version of) sbt or any other Scala build tool (e.g. bloop, mill, seed).
Could you explain the criteria for preinstalling sbt if there are actions (e.g. setup-scala) that can do it in runtime?
Also, as I pointed out in the description, Coursier CLI provides functionality comparable to that of pip/pipx, npm/npx and Homebrew which are all preinstalled. Why can't we have such tooling preinstalled for the Scala ecosystem?

Please reconsider this

As CS is quite lightweight there should not be good reason not to include it - it in fact allows extra possibilities over Maven and SBT for any JVM application, thus enhancing the ecosystem.

Please include the coursier in same manner pip/npm are included

Hey,
I see your point here. Indeed, previously we installed tools by making decisions based on tool installation time and size only (like for sbt), but after several months with such approach we started facing with a lot of issues when the tool got upgraded and customers got broken with this update, or when tools are conflicting with each other.
So we came to the point that whenever a tool has an action and its installation time is pretty small, we insist on the installation with action in runtime, so its prebaking won't affect anyone who is not interested in this tool. Also, actions usually provides wider setup functionality and their maintainers have more expertise in this tool than we have.


About ScaleNet

Nice Work!
The ICCV paper says that there are 2 parts, CPNet and ScaleNet. It seems that there is only the code about CPNet currently. Is that right?
If so, would you share the code about ScaleNet in the future? Thanks!

Yes, you are right. Since i am working at a company, limited time is available to sort the code. Anyway, i will update it ASAP.


I have a problem with my Flutter application that I use flutter_screenutil when I use widget about animation

I have some questions about animation.
I am developing a project,you know,an App must fit to all type of mobile phone.
So I used flutter_screenutil but when I use it in some widget about animation.
I build an apk with release then I saw that where I use flutter_screenutil is unuseful.
But when I build an apk with debug flutter_screenutil is useful.
Is there any friend tell me how to solve?
Thank you!

Oh,I have try another idea.That get mobile phone size then do something like this:
width/750 * wantWidth
but it unuse too.

@progressorTCH Is the issue still relevant? Do you mean that flutter_screenutil had some error while building a release version?

Not always，just when I used animation widget
发自我的iPhone
------------------ Original ------------------
From: Stanislav Bondarenko<EMAIL_ADDRESS>Date: Fri,Sep 20,2019 6:57 AM
To: flutter/flutter<EMAIL_ADDRESS>Cc: progressorTCH<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [flutter/flutter] I have a problem with my Flutter application that I use flutter_screenutil when I use widget about animation (#37381)
@progressorTCH Is the issue still relevant? Do you mean that flutter_screenutil had some error while building a release version?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@progressorTCH Please provide your flutter doctor -v output. Also some small self-contained app that demonstrates the issue would be very helpful. You can include small examples inline if they're enclosed by backticks, or just provide a public link to a github "gist" - https://gist.github.com/.

Without additional information, we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Could everyone who still has this problem please file a new issue with the exact descriptions what happens, logs and the output of ' flutter doctor -v'  please.
All system setups can be slightly different so its always better to open new issues and reference related issues.


Z:CUBE_X shows up as a comment

Create a new page
Add Z:CUBE_X (shows up as a comment)

Fixed - the problem was the _ was not in our quick & dirty "is this an ACNET parameter?" regex.


Update http links

@NextTurn : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@NextTurn Thanks for helping to improve our docs, we appreciate it!
@rothja @cynthn @jpconnock I've validated that all the links work in https format, manually, so:
#sign-off

@roygara: I'm sorry - only the author of this article, @cynthn, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.


DOM update 2023-04-23

Addresses #52956, at least for the DOM part.
I'm scrolling through all 10,000 lines of additions, but so far there are only or two minor changes besides the addition of MDN links to everything.
After seeing how slow jsdoc parsing is, I'm not 100% happy about this, but I think we should (1) run perf tests (2) take this for the beta (3) if the perf tests are horrendous or we think of some other reason, consider reverting the typescript-dom-lib-generator PR.
The most interesting non-comment change is the removal of type BitrateMode = "constant" | "variable"; in favour of VideoEncoderBitrateMode. A couple of new types/interfaces got added as well.

@typescript-bot run dt
@typescript-bot user test this

@typescript-bot perf test this faster

You'll want to drop the "fixed" from the description as GitHub will close the issue on merge.

Swapped in a highfalutin' substitute.

xstate/material-ui getting only 1% slower is a pretty good outcome actually. I guess my optimisation of parsing of comment text paid off.


Vscode stuck at downloading update forever

Does this issue occur when all extensions are disabled?: Yes

I can't update my vscode because it show's this message of an update that's already happening, but this message is on my vscode for weeks now, and I really wish I could update it.

VS Code Version: 1.56.2
Commit: 054a9295330880ed74ceaedda236253b4f39a335
Date: 2021-05-12T17:44:30.902Z (2 mos ago)
Electron: 12.0.4
Chrome: 89.0.4389.114
Node.js: 14.16.0
V8: <IP_ADDRESS>-electron.0
OS: Darwin x64 20.3.0
OS Version: macOS BigSur 11.2.3

Can you attach the ShipIt_stderr.log, ShipIt_stdout.log under Library/Caches/com.microsoft.VSCode.ShipIt/.


Replacing private key detector with detect-secrets

Detect private key is relatively effective, in that it relies on simple heuristic[0] to detect files possibly containing authentication credentials. However it is rather limited and only serves as a baseline.
detect-secrets provides much wider selection of heuristics[1] to detect leaking secrets, and is still under active development. It is also easy to extend, in case we find something that isn't covered.
But the thing I like the most about it, is the detector for high entropy strings.[2] Which highlights any string exhibiting odd random properties. This should serve as a guard against most secrets that would slip by other heuristics.
[0] https://github.com/pre-commit/pre-commit-hooks/blob/main/pre_commit_hooks/detect_private_key.py#L7-L16
[1] https://github.com/Yelp/detect-secrets/tree/master/detect_secrets/plugins
[2] https://github.com/Yelp/detect-secrets/blob/master/detect_secrets/plugins/high_entropy_strings.py

Not needed per https://github.com/instructlab/taxonomy/pull/1292, closing this.


Add Non-Linear Damping

Use PCBiasCurrCommand service to set winding current bias for additional torque damping towards piston extents
Requires https://github.com/osrf/buoy_msgs/pull/13

checks will fail until https://github.com/osrf/buoy_msgs/pull/13 is merged

checks will fail until https://github.com/osrf/buoy_msgs/pull/13 is merged
edit: I guess not, since it's just python (no compilation)

Yeah we could add some tests that actually run the python scripts to make sure they're working

@andermi , how do you recommend I test this PR?

Good question. I think we could set the config file for the bias node to something reasonable, move the piston back and forth at some velocity and check that the bias and resulting counteractive damping force is applied.

I have some updates to apply from testing it on the physical buoy.

fails until https://github.com/osrf/buoy_msgs/pull/13

I'm trying to test this against the sim, but I'm not sure that should work yet? I'm trying:
ros2 launch buoy_gazebo mbari_wec.launch.py

Then
ros2 launch buoy_examples torque_controller_cpp.launch.py

But it fails to find all the services. I'm not sure if those should already be available.

I'm not sure that should work yet?

Ok, I figured it out, we need the no-op controller from https://github.com/osrf/buoy_sim/pull/68 to provide the missing services!

we need the no-op controller

Sorry, I should have listed that :man_facepalming:


Laravel 8.83.2 Shift

This pull request includes updates for the recent minor version release of Laravel as well as updates to your package dependencies. Feel free to commit any additional changes to the shift-ci-v8.83.2 branch.
Before merging, you need to:

Checkout the shift-ci-v8.83.2 branch
Review all pull request comments for additional changes
Run composer update
Thoroughly test your application (no tests?, no CI?)

:information_source: You are running an older version of Laravel. The latest version is 9.2.0. Run the Laravel 9.x Shift to upgrade to the latest version of Laravel.

:warning: The Shift build servers run PHP 8. If you are still running PHP 7.4 or lower you should run composer update locally to ensure you have the proper versions of your dependencies to reflect your PHP 7 environment.


Automadon

App Store Share URL
Market Tools
App ID:<PHONE_NUMBER>
Todoist Task

Siri Shortcuts

Upload Media & Wait For Processing
Retrieving Multiple Post Pages
Get Multiple Account Pages
Working with Accounts
Working with Posts


 Which version do you intend to register?

v0.1.0


Extracted sql subproject.

Currently not building repl and web projects.

Current coverage is 68.50% (diff: 22.58%)

Merging #1438 into master will decrease coverage by <.01%

@@             master      #1438   diff @@
==========================================
  Files           279        283     +4
  Lines         13365      13366     +1
  Methods       13092      13093     +1
  Messages          0          0
  Branches        137        136     -1
==========================================
  Hits           9157       9157
- Misses         4208       4209     +1
  Partials          0          0

Powered by Codecov. Last update 4981853...9f993f6

Yeah, so #1439 is the third part of this trilogy, and perhaps things are a bit clearer there (it shows the target dependency structure, although that still hasn’t been achieved). What has been achieved with #1439 is that connectors no longer depend on core.
The problem is that all of these pieces have terrible circular dependencies and it’s going to be an incremental process to detangle it. E.g., part of QScript will move from connector back to core, but that can’t happen until the old Mongo planner is retired. And that will also allow connector to no longer depend on frontend (or sql). And then we have to remove Sql from ViewConfig, so coreno longer depends onsql`.
Anyway … incremental progress. This should at least help us avoid more tangling, and makes incremental compilation faster.

Here is perhaps the most explanatory part of #1439: https://github.com/quasar-analytics/quasar/pull/1439/files#diff-fdc3abdfd754eeb24090dbd90aeec2ceR188

Thanks, that makes a lot more sense. sql being distinct from core makes it a lot clearer how these things fit together—or it will, when we can actually structure it that way. The real win will come when we have a quasar-sql repo.
I'd like to see frontend have it's own package(s) but I guess that's bigger than this PR.


refactor: add helper to read uups implementation

Current dependencies on/for this PR:

main

PR #193

PR #184

PR #161

PR #206   👈
PR #203
PR #202
PR #200
PR #199
PR #198
PR #189

PR #190

PR #191
PR #187

PR #188
PR #179

PR #171

PR #183
PR #178
PR #175
PR #173
PR #172

PR #170
PR #168

PR #169

PR #166
PR #164
PR #163
PR #162

This comment was auto-generated by Graphite.


Clarify Phase 3 and 6 Serialization and Deserialization

Students generally have problems when serializing and deserializing Gson and Json objects, not understanding that the field names they implement must be exact (including capitalization). I just added a clarification about this in phases 3 and 6 where students have to serialize and deserialize the Json.

I can see that a few students each semester might run into this problem, but I worry that this might be a bit intrusive to the flow of the instruction. I worry that if we add a paragraph for every little thing a student could mess up, the instruction would quickly become unreadable.
This seems like this might be a good learning experience for those who get it wrong and it shouldn't be too hard to debug.
How many students have you interacted with that had this problem, or is this just based on a single student interaction?

I had this issue when I was taking the class myself, and it was quite of a headache trying to resolve. I have talked with two students taking about 20-30 minutes each who have had this problem before we managed to nail down the problem, I am unsure about the other TAs though. I do know that last semester this was a big issue especially during phase 6 as the results were very vague when trying to run the WebSocketTests. Really, I just pulled the info from 🖥 Slides: Server Implementation Tips JSON Tips from the web-api.md, and added just a little bit of clarification on why not doing this could lead to a bug.

I could also ask the other TAs and Dr. Wilkerson to get their opinion on this during the next meeting as well, if you want.

Never mind, it already does talk about having the fields needing to match exactly in the specs, just under the serialization portion. There is no need to specify it twice.


libcnb-cargo Simplify the error mappings

In libcnb-cargo all the packaging-related errors are defined on the package::error::Error enum which uses thiserror annotations to provide user-facing messages.  There are also several impl From<T> for Error mappings for internal errors that come from libcnb-package to flatten those specific errors into application errors.  This accomplishes the goal of having a specific user message for each possible error but comes with the side-effect that the package::error::Error enum is quickly becoming a large, unwieldy list.
A suggestion from @Malax was to provide a new trait that could be implemented for the libcnb-package errors that need to be mapped to application errors in libcnb-cargo.  E.g.;
#[derive(Debug, thiserror::Error)]
pub(crate) enum Error {
  //...
  #[error("Error finding workspace:\n{}", .0.to_error_message())]
  FindCargoWorkspace(FindCargoWorkspaceError),
}

trait ApplicationError {
    fn to_error_message(&self) -> String;
}

impl ApplicationError for FindCargoWorkspaceError {
    fn to_error_message(&self) -> String {
        match self {
            FindCargoWorkspaceError::GetCargoEnv(_) => {
                "No environment variable named `CARGO` is set".to_string()
            }
            FindCargoWorkspaceError::SpawnCommand(error) => {
                format!("Failed to spawn Cargo command\nError: {error}")
            }
            FindCargoWorkspaceError::CommandFailure(exit_status) => {
                format!(
                    "Unexpected Cargo exit status while attempting to read workspace root\nExit Status: {}\nExamine Cargo output for details and potential compilation errors.",
                    exit_code_or_unknown(exit_status)
                )
            }
            FindCargoWorkspaceError::GetParentDirectory(path) => {
                format!(
                    "Could not locate a Cargo workspace within `{}` or it's parent directories",
                    path.display()
                )
            }
        }
    }
}

The benefit of this approach is:

package::error::Error would not grow by N variants for each libcnb-package error
libcnb-cargo still has control over the error message provided each libcnb-package error

Of note here: the reason for a new trait are Rust's orphan rules which prevent us from implementing Display for errors that come from a different crate. Specifically errors from usage of libcnb-package in libcnb-cargo.


Zenbot hangs if trade volume is high

System information

Have I written custom code (as opposed to using zenbot vanilla): no
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Linux Ubuntu 16.04
Zenbot version (commit ref, or version): 4.1.1
Zenbot branch: unstable
NodeJS version: 8.10.0
Python version (when using a python script):
Exact command to reproduce (include everything): ./zenbot.sh trade binance.BTC-USDT --paper
Did I make any changes to conf-sample.js?: no

Describe the problem
When volume is high (trades are coming at high rate) trading is impossibile. Zenbot hangs because all the setTimeout, setImmediate, .. instructions are not executed becuase NodeJS is always giving priority to EventEmitter and executes 'trade' events immediately at 1000/sec, so any other timeout waits indefinetly.

Upon further inspection i cannot paper-trade with any pair, it is not related to the high volume.
I printed some debug information and it seems that setImmediate function and setTimeout function are overridden by fake timeouts. "lolex" package seems to be responsible for this.
first call:
*** getNext ==> engine.update: before setImmediate
*** setImmediate is: function setImmediate(callback, arg1, arg2, arg3) {
  if (typeof callback !== 'function') {
    throw new TypeError('"callback" argument must be a function');
  }

  var i, args;

  switch (arguments.length) {
    // fast cases
    case 1:
      break;
    case 2:
      args = [arg1];
      break;
    case 3:
      args = [arg1, arg2];
      break;
    default:
      args = [arg1, arg2, arg3];
      for (i = 4; i < arguments.length; i++)
        // extend array dynamically, makes .apply run much faster in v6.0.0
        args[i - 1] = arguments[i];
      break;
  }
  return createImmediate(args, callback);
}
*** setImmediate return value Immediate {
  _idleNext: null,
  _idlePrev:
   Immediate {
     _idleNext: [Circular],
     _idlePrev: null,
     _callback: [Function],
     _argv: undefined,
     _onImmediate: [Function],
     _destroyed: false,
     domain: null,
     [Symbol(asyncId)]: 99,
     [Symbol(triggerAsyncId)]: 94 },
  _callback: [Function: getNext],
  _argv: undefined,
  _onImmediate: [Function: getNext],
  _destroyed: false,
  domain: null,
  [Symbol(asyncId)]: 102,
  [Symbol(triggerAsyncId)]: 94 }

second call (after this eveything hangs):
*** getNext ==> engine.update: before setImmediate
*** setImmediate is: function () {
            return clock[method].apply(clock, arguments);
        }
*** setImmediate return value { id: 1, ref: [Function: NOOP], unref: [Function: NOOP] }

the offending line seems to be
engine.js:776
if you comment that line everything works as expected.

Should be fixed in latest unstable already.


TypeError: Cannot read properties of undefined (reading 'length')

Hey! I'm running into a pesky error where I cannot use solita create instruction helper function due to serialization errors.
Here is the error output
  1) editions
       Is initialized!:
     TypeError: Cannot read properties of undefined (reading 'length')
      at Object.write (node_modules/@metaplex-foundation/beet/src/beets/collections.ts:39:15)
      at BeetWriter.write (node_modules/@metaplex-foundation/beet/src/read-write.ts:39:10)
      at BeetWriter.writeStruct (node_modules/@metaplex-foundation/beet/src/read-write.ts:46:12)
      at BeetStruct.serialize (node_modules/@metaplex-foundation/beet/src/struct.ts:103:12)
      at BeetStruct.write (node_modules/@metaplex-foundation/beet/src/struct.ts:63:42)
      at BeetWriter.write (node_modules/@metaplex-foundation/beet/src/read-write.ts:39:10)
      at BeetWriter.writeStruct (node_modules/@metaplex-foundation/beet/src/read-write.ts:46:12)
      at BeetArgsStruct.serialize (node_modules/@metaplex-foundation/beet/src/struct.ts:103:12)
      at Object.createCreatePlatformSettingsInstruction (editions/typescript/src/generated/instructions/createPlatformSettings.ts:73:47)
      at /Users/samsends/code/glass/editions/tests/editions.ts:53:37
      at Generator.next (<anonymous>)
      at fulfilled (tests/editions.ts:28:58)

And the repo to reproduce it can be found here:
https://github.com/GlassProtocol/editions
steps to reproduce:

yarn
anchor build
yarn solita
anchor test

there error throws here:

    const ix = program.instructions.createCreatePlatformSettingsInstruction(
      { payer: platform_signer.publicKey, platformSettings } as CreatePlatformSettingsInstructionAccounts,
      instruction
    );

@thlorenz

Hi, could you please push the IDL that causes the issue onto a branch so I can just repro the error with it instead of checking out our project?
I'm assuming the current IDL https://github.com/GlassProtocol/editions/blob/main/editions/typescript/idl/editions.json on main is not showing this issue?
Thanks, and sorry to hear you ran into issues.

Thanks I'll have a look when I get some time.

Were you able to solve your problem or is this still an issue?

Closing due to inactivity. Please LMK if this is still an issue and I'll reopen.


Handle XML-escapes in MD sections of nuspec

Hi there, this is a question/feature request.
We encountered a problem when trying to do a release of our tool qlik-cli. The problem was that our release-notes contained something that looked like an XML-tag, in this case <webhookId>. No worries thought I and XML-escaped the trouble-making characters to < and > respectively.
But, now when I look at the release-notes I see that the XML-escaped characters aren't converted back to their proper values. Instead there I see:
qlik webhook edit <webhookId>

How are we supposed to handle these characters so they look nice in descriptions and release-notes? Could they be "unescaped" by the Chocolatey machinery perhaps or is there another way to do this that I've missed?
┆Issue is synchronized with this Gitlab issue by Unito

Apologies for not responding to this issue sooner.
Unfortunately at the moment, it is not possible to make the characters < and > look nicely in the description.
In the meantime, until we can handle this scenario, I would suggest using double arrows instead as an alternative: « and ».

@st3phhays Can you shed any light on what the options are of fixing this?

Without digging into the code, I can think of two solutions:

The conversion of markdown to HTML here is handled by Markdig. There may be something in Markdig that we can adjust to accommodate this and other special cases.
I could use JavaScript after the fact and replace these characters with the correct ones.

I'd rather option 1 than 2.


RuntimeError: trying to create rpc server for traffic manager; but the system failed to create because of bind error.

Hello, I'm facing this error now every time I run scenario_runner.py, I installed SR again and tried scenario_runner.py and then it worked fine only once and now I again get this error.
Traceback (most recent call last):
  File "scenario_runner.py", line 600, in <module>
    sys.exit(main())
  File "scenario_runner.py", line 589, in main
    scenario_runner = ScenarioRunner(arguments)
  File "scenario_runner.py", line 91, in __init__
    self.traffic_manager = self.client.get_trafficmanager(int(self._args.trafficManagerPort))
RuntimeError: trying to create rpc server for traffic manager; but the system failed to create because of bind error.

Thank you!

OS: [Ubuntu 18.04]
CARLA Version CARLA 0.9.10]
Python version [3.6]
Version [0.9.10]

@athulg which scenario_runner version are you using?
if You are using carla 0.9.10 use the scenario runner version 0.9.10
Version 0.9.10 and the 0.9.10 Branch: Compatible with CARLA 0.9.10

@sagar-g-v I'm using 0.9.10 CARLA with 0.9.10 SR

Hey @athulg, sorry for the delay. that isn't related to SR, but CARLA instead. Basically, you are trying to create the TrafficManager in a port that is busy. This tends to be caused by a  previous run of SR that hasn't been properly terminated, which means that the TM is still active. How are you running scenario runner exactly? Could you try using the --trafficManagerPort argument to another number?

This issue happens to me sometimes. I just run pkill -9 python and then run everything again.


Update weaver-cats, weaver-scalacheck to 0.8.2

About this PR
📦 Updates

com.disneystreaming:weaver-cats
com.disneystreaming:weaver-scalacheck

from 0.8.1 to 0.8.2
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.disneystreaming" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "com.disneystreaming" }
}]

labels: library-update, early-semver-minor, semver-spec-patch, commit-count:1

Superseded by #180.


HSQLDBParser now instead struggles with block depth count

Which version and edition of Flyway are you using?
6.0.0-beta2
If this is not the latest version, can you reproduce the issue with the latest one as well?
(Many bugs are fixed in newer releases and upgrading will often resolve the issue)
Which client are you using? (Command-line, Java API, Maven plugin, Gradle plugin)
Java API and Maven Plugin
Which database are you using (type & version)?
HSQLDB 4.2.1
Which operating system are you using?
Linux and OS X
What did you do?
(Please include the content causing the issue, any relevant configuration settings, the SQL statement that failed (if relevant) and the command you ran.)
Parsing a simple sql-migration script containing a couple of:
DROP TABLE IF EXISTS mytable CASCADE;
What did you expect to see?
A successful migration, worked in version 4 and 5.
What did you see instead?
A failed migration, the parser believes that there is only ONE single statement, it failes to separate the rows at the ; and newline.
This is due to that the blockdepth is increased at the 'IF'-keyword and the DELIMITER is still used instead of NEW_DELIMETER. This makes the login not see the delimiter at all, none of the two delimiter-paths are taken.

String previousText = previousKeyword != null ? previousKeyword.getText() : "";         if ("BEGIN".equals(keyword.getText())                 || ((("IF".equals(keyword.getText()) && !"EXISTS".equals(previousText))                 || "FOR".equals(keyword.getText()) || "CASE".equals(keyword.getText()))                 && !"END".equals(previousText))) {             context.increaseBlockDepth();         } else if (("EACH".equals(keyword.getText()) || "SQLEXCEPTION".equals(keyword.getText())) && "FOR".equals(previousText)) {             context.decreaseBlockDepth();         } else if ("END".equals(keyword.getText())) {             context.decreaseBlockDepth();         }

Could you share the smallest possible SQL migration that fails, as well as the exact error message you see please? A stack trace would be particularly helpful for pinpointing the problem.

As stated above, DROP TABLE IF EXISTS mytable CASCADE; is enough to trigger the error.
You however need to put ANY statement or text after this row and see that the parser continues without breaking on the statement.
The comment also contains details of where in the code the error resides. The pull-request also gives indications of where to start looking.

That's great, thankyou.

This has now been fixed - many thanks for the report.

Great, thanx!


Add ability to upload photo of score card

from the score card, if permitted

allow photo to be uploaded or taken via UI (html component)

recorded with id & name of user - to prevent duplicates
recorded with id & name of team (where available) - to help with usage
compress and store images in blob storage - to save space and ensure valid images are uploaded only
provide view of photos (only where permitted) from score card

show name of user who uploaded
show name of team (if available)
show in new window, or floating pane, to allow comparison during data entry

https://devblogs.microsoft.com/dotnet/net-core-image-processing/


Error when installing on Debian: Some dependencies are missing

System:
Linux 5.10.0-1-amd64 #1 SMP Debian 5.10.5-1 (2021-01-09) x86_64 GNU/Linux
GNU bash, version 5.1.4(1)-release (x86_64-pc-linux-gnu)

Reproduce:

wget https://github.com/nemgrouplimited/symbol-desktop-wallet/releases/download/v0.13.8/symbol-desktop-wallet-linux-amd64-0.13.8.deb

sudo dpkg -i symbol-desktop-wallet-linux-amd64-0.13.8.deb

Selecting previously unselected package symbol-desktop-wallet.
(Reading database ... 201820 files and directories currently installed.)
Preparing to unpack symbol-desktop-wallet-linux-amd64-0.13.8.deb ...
Unpacking symbol-desktop-wallet (0.13.8) ...
dpkg: dependency problems prevent configuration of symbol-desktop-wallet:
 symbol-desktop-wallet depends on libappindicator3-1; however:
  Package libappindicator3-1 is not installed.

dpkg: error processing package symbol-desktop-wallet (--install):
 dependency problems - leaving unconfigured
Processing triggers for hicolor-icon-theme (0.17-2) ...
Processing triggers for gnome-menus (3.36.0-1) ...
Processing triggers for desktop-file-utils (0.26-1) ...
Processing triggers for mailcap (3.68) ...
Errors were encountered while processing:
 symbol-desktop-wallet

Workaround:

apt --fix-broken install
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following additional packages will be installed:
  libappindicator3-1 libindicator3-7
The following NEW packages will be installed:
  libappindicator3-1 libindicator3-7
0 upgraded, 2 newly installed, 0 to remove and 31 not upgraded.
1 not fully installed or removed.
Need to get 106 kB of archives.
After this operation, 217 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://deb.debian.org/debian buster/main amd64 libindicator3-7 amd64 0.5.0-4 [52.9 kB]
Get:2 http://deb.debian.org/debian buster/main amd64 libappindicator3-1 amd64 0.4.92-7 [53.5 kB]
Fetched 106 kB in 0s (1,113 kB/s)
Selecting previously unselected package libindicator3-7:amd64.
(Reading database ... 201906 files and directories currently installed.)
Preparing to unpack .../libindicator3-7_0.5.0-4_amd64.deb ...
Unpacking libindicator3-7:amd64 (0.5.0-4) ...
Selecting previously unselected package libappindicator3-1:amd64.
Preparing to unpack .../libappindicator3-1_0.4.92-7_amd64.deb ...
Unpacking libappindicator3-1:amd64 (0.4.92-7) ...
Setting up libindicator3-7:amd64 (0.5.0-4) ...
Setting up libappindicator3-1:amd64 (0.4.92-7) ...
Setting up symbol-desktop-wallet (0.13.8) ...

Guessed Resolution:
Include missing dependency in deb package

Looks like on Ubuntu I got this dependency already installed. Still for verification.

@mm-s in fact if you have time perhaps you can have a look at this one?

User Story: “As a user that wants to install the wallet for Debian, I want all needed dependencies to be installed, so I don’t need to download them through other methods.”
Acceptance Criteria:

AC1: When installing on Debian, there are no issues with the installation and I can start using the wallet immediately.

@cryptoBeliever Did we ever receive confirmation about if Electron requires this package? Can we confirm that installations on Debian are not working or it’s an isolated case? Thank you.

@coiki I think most of the distributions has it installed by default because we did not receive such reports. If it's possible to include it I think it should be. As far as I can see Oleg added this dependency.

Let's close this task as 'Can't reproduce' if by the end of the sprint we don't see this issue again.

@coiki @OlegMakarenko already created draft pull request for that https://github.com/nemgrouplimited/symbol-desktop-wallet/pull/1031

Added Alfonso's comment from JIRA
Couldn’t reproduce again. No reports either from community or social.

Ok. So I'm closing.

Reopening task due to a pull request that would fix this, which means this was reproduced by @OlegMakarenko
@cryptoBeliever @AnthonyLaw will make sure that this is passed on forward.

After some reading, for example https://linuxhint.com/install-dpkg-dependencies-automatically/
dpkg does not install dependencies by default (this is how it works).
In X Server interface when you double click it's handled by the software center and it installed correctly dependencies.
As I understand change made by @OlegMakarenko  (https://github.com/symbol/desktop-wallet/pull/1031/files) will not fix that because it marks only dependencies that are already discovered by dpkg anyway. Please correct me if I'm wrong.

Considering the above I'm closing. If someone is more knowledgeable about deb packages please comment.

Considering above I'm closing.


fix: adapt regressions after dup change and version bump

What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind design

/kind documentation

/kind failing-test

/kind feature

If contributing rules or changes to rules, please make sure to also uncomment one of the following line:

/kind rule-update

/kind rule-create

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area build

/area engine

/area rules
/area tests

/area proposals

Fixes #
Special notes for your reviewer:
/milestone 0.32.1
Does this PR introduce a user-facing change?:

rule(Redirect STDOUT/STDIN to Network Connection in Container): changed priority to NOTICE

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: leogr
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [leogr]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP, leogr
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP,leogr]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP, jasondellaluce, leogr
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP,jasondellaluce,leogr]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Hue [core] After using gunicorn base WSGI server for Hue, we noticed …

… the following issue.

Gunicorn server starts multiple worker processes to handle requests.
python logging module does not support logging to a single file from multiple processes is not supported.
In Python, there is no standard way to serialize access to a single file across multiple processes in Python. If you need to log to a single file from multiple processes, one way of doing this is to have all the processes log to a SocketHandler, and have a separate process that implements a socket server that reads from the socket and logs to the file.
This change fixes the above issues. It uses a new Unix domain socket file instead of a port.

Issues Fixed:

logfile gets rotated properly
logs messages are not overwritten
Unix domain socket is local to the machine(not exposing TCPIP port)

Testing:
Run the following command:
"sudo -u hue ./desktop/core/src/desktop/loglistener.py"
To produce log output: Run
"hue testloglistener"
Log output is available: /var/log/hue/rungunicornserver.log

@ranade1 , there seems to be python lint failures.  please check them out.
The rest looks fine to me.

@athithyaaselvam Please update the title of the commit to summarize the changes in the commit so that it is informative for anyone looking at the commit list in future. Also, keep it within 64 characters to avoid getting truncated.


Can I read all layers of PDF?

I need to split all layers，thank

Duplicate of #14369
Please don't open yet another issue without providing any actionable details, and also note that as mentioned in the README the PDF.js library is a PDF viewer and not a general editor.

@dehyang did you find a solution?


Remove invalid character \n in .asf.yaml

Hey @CalvinKirs , it turns out the invalid character is \n in .asf.yaml, and #6075 didn't fix it

Codecov Report

Merging #6077 (dcec372) into dev (0975bef) will increase coverage by 0.02%.
The diff coverage is n/a.

:exclamation: Current head dcec372 differs from pull request most recent head d6c0efe. Consider uploading reports for the commit d6c0efe to get more accurate results

@@             Coverage Diff              @@
##                dev    #6077      +/-   ##
============================================
+ Coverage     46.32%   46.35%   +0.02%
- Complexity     3734     3737       +3
============================================
  Files           609      609
  Lines         25075    25075
  Branches       2867     2867
============================================
+ Hits          11617    11623       +6
+ Misses        12312    12308       -4
+ Partials       1146     1144       -2

Impacted Files
Coverage Δ

...dolphinscheduler/remote/future/ResponseFuture.java
83.05% <0.00%> (+1.69%)
:arrow_up:

...er/master/processor/queue/TaskResponseService.java
68.05% <0.00%> (+4.16%)
:arrow_up:

...er/master/dispatch/host/assign/RandomSelector.java
83.33% <0.00%> (+5.55%)
:arrow_up:

...lphinscheduler/rpc/common/AbstractRpcCallBack.java
100.00% <0.00%> (+100.00%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 0975bef...d6c0efe. Read the comment docs.


Document other types of data required for template models for Materials and Process List

Create a spreadsheet or google doc for processes outside of the material list:

transport
grids
construction
EOL
etc.

Closed with the creation of the first Materials and Process List found in README