ROS example code does not work under ROS-melodic/ubuntu18.04 case:458192

I have an DMM 37UX273-ML under Ubuntu 18.04.1 LTS using ROS melodic. The included gstreamer  version is 1.14.1.
I am using tag: v-tiscamera-0.10.0.
I was unable to make the ROS example run out of the box just by changing the tiscamera line in tis_rosstarter.
Sometimes the output would be:
./tis_rosstarter
tcambin serial="38810198" name=source ! video/x-raw,format=GRAY8,width=1440,height=1080,framerate=30/1 ! videoconvert ! video/x-raw,format=RGB ,width=1440,height=1080,framerate=30/1! shmsink socket-path=/tmp/ros_mem
Press Enter to end program[ INFO] [1538129648.537871642]: Using gstreamer config from env: "shmsrc socket-path=/tmp/ros_mem ! video/x-raw-rgb, width=1440,height=1080,framerate=30/1,bpp=24,depth=24,blue_mask=16711680, green_mask=65280, red_mask=255 ! ffmpegcolorspace"
[ INFO] [1538129648.540020936]: using default calibration URL
[ INFO] [1538129648.540054078]: camera calibration URL: file:///home/sevangelatos/.ros/camera_info/camera.yaml
[ INFO] [1538129648.540618289]: Loaded camera calibration from

(gscam:31388): GStreamer-WARNING **: 13:14:08.548: 0.10-style raw video caps are being created. Should be video/x-raw,format=(string).. now.
[ INFO] [1538129648.548485783]: Time offset:<PHONE_NUMBER>.104
[ INFO] [1538129648.653965030]: Publishing stream...
[ INFO] [1538129648.654091288]: Started stream.

(gscam:31388): GStreamer-CRITICAL **: 13:14:08.654: gst_caps_get_structure: assertion 'GST_IS_CAPS (caps)' failed

(gscam:31388): GStreamer-CRITICAL **: 13:14:08.654: gst_structure_get_int: assertion 'structure != NULL' failed

(gscam:31388): GStreamer-CRITICAL **: 13:14:08.654: gst_structure_get_int: assertion 'structure != NULL' failed

Program ended

In some cases, (randomly, in some invocations) I would get the following message repeated:
[ WARN] [1538129659.023345965]: GStreamer image buffer underflow: Expected frame to be<PHONE_NUMBER> bytes but got only 4665600 bytes. (make sure frames are correctly encoded)

In any case, no images were published from the camera.
The problem seems to be related to changes in the gstreamer pipeline syntax. In my case, I was able to make it work by simplifying the gstreamer pipeline as seen in the attached patch file.
Could you please update the example code to work correctly under 18.04?

Hello
2095596416 bytes seems to be somewhat too big for an image.
The ROS sample code is based on an older ROS GSTreaner Plugin version, which uses GStreamer 0.10. Is that still available in Ubuntu 18.04?
Maybe it makes sense to update the ROS plugin, if I am right, there was a GStreamer 1.0  using version, right?
Does the standard pipeline
gst-launch-1.0 tcambin ! video/x-raw,format=RGB ,width=1440,height=1080,framerate=30/1! videoconvert ! ximagesink
give an image?
Which computer model do you use?

Indeed, 2Gbytes is insane for an image. In 18.04 only gstreamer1.0 is available. The pipeline
gst-launch-1.0 tcambin ! video/x-raw,format=RGB ,width=1440,height=1080,framerate=30/1 ! videoconvert ! ximagesink

works fine. Similarly, I was able to get the example to work using the patch I attached.
PS: I am using a Lenovo Y50-70 (i7-4720HQ).

Thank you. I will read the changes you made.


Automatic PR from RestAPI-PR1859

Generated from RestAPI PR: https://github.com/Azure/azure-rest-api-specs/pull/1859

Codecov Report

Merging #1564 into master will increase coverage by <.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1564      +/-   ##
==========================================
+ Coverage   54.18%   54.18%   +<.01%
==========================================
  Files        3595     3595
  Lines       88698    88696       -2
==========================================
- Hits        48065    48064       -1
+ Misses      40633    40632       -1

Impacted Files
Coverage Δ

...mt-redis/azure/mgmt/redis/models/schedule_entry.py
62.5% <ø> (ø)
:arrow_up:

...gmt/redis/operations/patch_schedules_operations.py
21.53% <ø> (ø)
:arrow_up:

...mgmt/redis/operations/firewall_rules_operations.py
37.5% <ø> (ø)
:arrow_up:

...azure/mgmt/redis/models/redis_create_parameters.py
100% <ø> (ø)
:arrow_up:

...azure/mgmt/redis/models/redis_update_parameters.py
38.46% <ø> (ø)
:arrow_up:

...-redis/azure/mgmt/redis/redis_management_client.py
100% <ø> (+2.63%)
:arrow_up:

...mt-redis/azure/mgmt/redis/operations/operations.py
40% <ø> (ø)
:arrow_up:

...re-mgmt-redis/azure/mgmt/redis/models/operation.py
66.66% <ø> (ø)
:arrow_up:

...azure/mgmt/redis/models/redis_reboot_parameters.py
71.42% <ø> (ø)
:arrow_up:

...is/azure/mgmt/redis/models/redis_patch_schedule.py
50% <ø> (ø)
:arrow_up:

... and 7 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 38b3ce0...6a710c9. Read the comment docs.

This PR is update the Python SDK with the fix for https://github.com/Azure/azure-rest-api-specs/issues/1152 (now that the rest api spec is updated.)


SQLAlchemy 2.0 not supported when task history enabled

As far as I can tell, the issue is in the _upgrade_schema function. In 2.0, string queries must be enclosed in a text object and for some reason the rows returned in conn.execute(sqlalchemy.text('PRAGMA table_info(task_parameters);')).fetchall() have no keys. I do not know if there are other changes in 2.0 that will break functionality.

can be avoided by pinning sqlalchemy to
sqlalchemy==1.4.46
but you probably found it out by your own. however it's crazy that this is not addressed by the maintaining team. it's takes like 1 minute to fix it.

If I want to use "oracledb" which is available in sqlalchemy==2.0.7, _upgrade_schema wont allow the sql execution in plain text format. Instead, it requires to be as conn.execute(sqlalchemy.text('ALTER TABLE task_parameters MODIFY value TEXT'))

https://github.com/spotify/luigi/pull/3267 - there's an open PR for this which looks held up on a decision as to whether to drop python 3.6 support in luigi, which support for sqlalchemy 2.X would involve...


rename to calyptia/plugin

Signed-off-by: Jorge Niedbalski<EMAIL_ADDRESS>

The package plugin will have to be moved to the root.

The package plugin will have to be moved to the root. Otherwise the import would look off.
import "github.com/calyptia/plugin/plugin"

Sure, just did it. @nicolasparada


MSVCP140.dll missing

Hey, you can try to install visual c runtimes.
Here's a link for you: https://www.techpowerup.com/download/visual-c-redistributable-runtime-package-all-in-one/

not working ，my OS is windows server 2012 R2 ，is outdated？

You can install visual studio and install C++ SDK.
I have tested!


Fix prefer lowest compatibility

Trying to fix
1) IdeHelper\Test\TestCase\Annotator\ClassAnnotatorTask\TestClassAnnotatorTaskTest::testAnnotate
TypeError: Return value of Zend\Diactoros\marshalUriFromSapi() must be an instance of Zend\Diactoros\Uri, instance of Laminas\Diactoros\Uri returned
/home/travis/build/dereuromark/cakephp-ide-helper/vendor/laminas/laminas-diactoros/src/functions/marshal_uri_from_sapi.legacy.php:20

https://travis-ci.org/dereuromark/cakephp-ide-helper/jobs/635958965?utm_medium=notification&utm_source=github_status
But I am not sure if this actually fixes things.
Tests are still failing https://github.com/dereuromark/cakephp-ide-helper/pull/168
I would expect prefer-lowest to not have aliasing issues as this compromises those important travis checks.

To fix your issues, you might want to look at your cakephp requirement. In your composer file you require 3.7: https://github.com/dereuromark/cakephp-ide-helper/blob/master/composer.json#L26
cakephp switched to laminas in 4.0.2
I'm guessing the exceptions are caused because of typehinting in cakephp <4.0.2

You are on the wrong branch: cake4 ( https://github.com/dereuromark/cakephp-ide-helper/pull/168/files )
But yeah, only allowing latest patch works for now. I guess this is the only way to solve it for the time being on our end.

Ah ok, I was checking your master branch.

@dereuromark problem is with a bug that was fixed in patched tags eg 2.2.0p1
https://github.com/laminas/laminas-diactoros/blob/74142df5008e53900f87b68f2c64cf7e6090e606/src/functions/create_uploaded_file.legacy.php#L18-L21
Prefer lowest installs  2.2.0 that does not have that fix.

Raising the min then works for now. THX.

@dereuromark raising min does not fix it really. Bug affects all migrated tags. Normally composer would select patched tag but prefer lowest makes it prefer base tag instead.

I found no way to fix the --prefer-lowest use case here. However impact is minimal as this is an edge case encountered in the CI environment. It will be left as won't fix.
@dereuromark There is a way to fix it on your side by declaring conflicts with laminas-diactoros by listing each tag within the supported range that have corresponding patch tag, eg 2.2.0p1:
    "conflict": {
        " laminas/laminas-diactoros": "2.1.0 || 2.1.1 || 2.1.5 || 2.2.0 || 2.2.1"
    }

This will allow only patched tags to be installed, which will also satisfy --prefer-lowest.


[MJX] Sensor support

Will the currently available MuJoCo sensors be ported to MJX as well?

Relatedly, regardless of what the answer is (I'll let @erikfrey reply), it should be in the feature parity section 🙂

Yes indeed!  We plan to port sensors to MJX.  Will add this to the documentation.


Make Case # textbox a combo box

Add a checkbox which will filter out all cases that already have a case_entry with two different authors.

Fixed


syscall/js: Compiler doesn't check implemented type

What version of Go are you using (go version)?

$ go version devel +b44cd15464 Tue Nov 20 16:17:17 2018 +0000 freebsd/amd64

Does this issue reproduce with the latest release?
No only master
What operating system and processor architecture are you using (go env)?
go env Output
GOARCH="wasm"
GOBIN=""
GOCACHE="/home/sternix/.cache/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="freebsd"
GOOS="js"
GOPATH="/home/sternix/go"
GOPROXY=""
GORACE=""
GOROOT="/home/sternix/src/go"
GOTMPDIR=""
GOTOOLDIR="/home/sternix/src/go/pkg/tool/freebsd_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="0"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build888035731=/tmp/go-build -gno-record-gcc-switches"

What did you do?
write simple test program

package main

import "syscall/js"

type Wrapper interface {
        JSValue() js.Value
}

type x struct {
        js.Value
}

// first check
func newX() Wrapper {
        return &x {}
}

func main() {
        // second check
        var _ Wrapper = newX()
}

and compiled with
export GOARCH=wasm GOOS=js
go build -o abc.wasm abc.go
What did you expect to see?
with go 1.11.2 i have
./abc.go:13:9: cannot use x literal (type *x) as type Wrapper in return argument:
*x does not implement Wrapper (missing JSValue method)
What did you see instead?
go version devel +b44cd15464
i dont have any error
Compiled successfully

*x does not implement Wrapper (missing JSValue method)

Why? Type x embeds js.Value, which does have JSValue method.

Thanks @cherrymui this is my fault i read 1.11.2 docs
https://golang.org/pkg/syscall/js/
which hasn't Value.JSValue
but tip has  Value.JSValue
https://tip.golang.org/pkg/syscall/js/#Value.JSValue
Thanks for correction.


Status/Navigation bar being invisible

The status bar (the thing at the very top of the screen) is blank on the main screen and the post screen. Possibly also in others.
It's only showing the text as expected on the sliding profile page.

Thank you for the report! Do you have "autohide status bar" enabled in Settings > General?

No, that setting was turned off. Also doesn't work when turning it on.


Not including URI parameters for sub-URIs?

Hi,
I've got a RAML doc which is structured as follows:
/{mysite}
  uriParameters:
    mysite:
      #description etc
  /stuff/{mystuff}/doSomething/{mySomething}
    uriParameters:
      mystuff:
        #description etc
      mySomething:
        #description etc

I'm finding the output is only including uriParameters for the first URI. Is this intentional? It's entirely possible that I'm bastardising the RAML format a little, but it'd be good if I could also include output for each resource.
Any suggestions? I'm happy enough to fork the repo and implement this myself if it doesn't currently support it as it'd make my life a load easier!
Cheers,
Mike

Feel free to implement! I'm real short on time, but can manage a PR! I'm not sure if its valid, its been a long time since I did RAML


Validation occurring several times on an entity with two collections

Hello,
Im using Waterline with mongo, and sails of course.
The issue that Im having is that I have an entity (post) that contains 2 collections of another entity (user).
I override the beforeValidate method to include additional validations, and Im experiencing 2 issues.
The first is that the validation is executing several times on a record update.
The second issue is that on a record with no users in any of the collections, its trying to save in the relationship tables with null users, and of course I get an error as
"err: [Error: Associated Record For user with id = null No Longer Exists] } ]"
But the entity has no records associated at all, so Im wondering why it is deducting I have records where none is found.
I have tried specifying the attributes as null, but so far the same behavior.

This reminds me of some old behavior– particularly the error you mentioned.  What version of waterline are you using?

Hello,
Im using "version": "0.10.16",

The beforeValidate issue reminds me: #751.
@kvindasAB, that's an old version, can you try the latest (v0.10.21 if I'm not mistaken)?

Just wondering, would that be compatible with sails 0.10.5?

Should be as backwards compatibility has been kept throughout the patches.

Great, thanks a lot, will try that.

@kvindasAB, is it working now? Can we close this? Thanks

Hello, truth is that I do not know if im missing something, because it did not worked.
I upgraded to version sails 0.11.0 which uses waterline 0.10.21 but the result was pretty much the same.
I ignore if Im messing with something on my model configuration that may be causing the issue.

Can you share your model definitions and code snippet of where the issue happens?

Hello Dario, here I attach a brief summary of my models.

USER Model
var User = {
// Enforce model schema in the case of schemaless databases
schema: true,
attributes: {
username  : { type: 'string', unique: true },
email     : { type: 'email',  unique: true },
passports : { collection: 'Passport', via: 'user' }
}
};
module.exports = User;

POST Model
module.exports = {
attributes: {
author        : { model: "User", required: true },
title         : { type: "string" },
likeCount     : { type: "number", defaultsTo: 0 },
shareDirectUsers: { collection: "User", dominant: true },
shareTaggedUsers: { collection: "User", dominant: true },
},
// Lifecycle Callbacks
beforeValidate: function (values, next) {
console.log("************************");
console.log("beforeValidate. STARTING");
async.series({
user: function(cb){
if(!values.author){
return cb(null);
}
User.findOne()
.where(
{
or: [
{id: values.author},
{username: values.author}
]
})
.then(function(user){
if(!user){
return cb("User not found:" + values.author);
}
cb(null, user);
})
.catch(function(err){
cb(err);
});
}
},
function(err, result){
if(err){
return next("Error saving post: " + err);
}
// other stuff here
next();
});
}
}

@kvindasAB, in your Post model you have:
    shareDirectUsers: { collection: "User", dominant: true },
    shareTaggedUsers: { collection: "User", dominant: true },

But you don't have any corresponding model/collection attributes on the User model pointing at Post. You are also missing the via keywords. Please check the associations docs, if you want a one-to-many associations:

A one-to-many association states that a model can be associated with many other models. To build this association a virtual attribute is added to a model using the collection property. In a one-to-many association one side must have a collection attribute and the other side must contain a model attribute. This allows the many side to know which records it needs to get when a populate is used.
Because you may want a model to have multiple one-to-many associations on another model a via key is needed on the collection attribute. This states which model attribute on the one side of the association is used to populate the records.

In case you are trying to set many-to-many associations:

Waterline will look at your models and if it finds that two models both have collection attributes that point to each other,
(...)
Because you may want a model to have multiple many-to-many associations on another model a via key is needed on the collection attribute. This states which model attribute on the one side of the association is used to populate the records.

Hello Dario, understood.
Probably I misunderstood the one-way associations.
It will be good to clarify then in the one-way associations documentation that it only works for simple models (not collections) or I ignore if it works for scenarios where the there is a single collection pointing to the other model.
In any case, I will modify the models to have the via and being two-way and let you know how it goes.
Thanks a lot for the help and support.

@kvindasAB, by "one-way" do you mean one-to-one? In that case the only possible keyword is model. If you look at the one-to-one associations docs the keyword collection is never used or mentioned. The reason for that is that collection means multiple models and in a one-to-one there is only one model pointing at another one. Hope that makes it clearer.

Hello Dario, I do not, I refer to one-way associations, where only one end of the association contains the configuration.
http://sailsjs.org/#!/documentation/concepts/ORM/Associations/OneWayAssociation.html

Those are the same as one-to-one associations :grinning: We should make the terminology consistent between sails and waterline :blush:
It seems to me you'll want to use one-to-many associations.

ohh I see, my mistake then. :disappointed:
I have used other ORM and understood the concept of one-way association as if you just configure it on one end.
In any case, thanks for the clarification.

Those are the same as one-to-one associations

Not necessarily.
A one-way association is the same as a one-to-one association in the same way that a one-way association is also the same as a one-many. In both cases your dropping one end of the association. A one-way association is valid and is missing from Waterline Docs.

@randallmeeker, the first example of  one-to-one associations in waterline docs is actually a "one-way". The second example is a one-to-one association that has to be manually kept. So I don't think a "one-way" is missing but the terminology is not clear in waterline docs.

@dmarcelino you are correct.

Hello @dmarcelino
I have some additional insights on this issue.
I changed the associations to be two-sided, on both post and user entities as recommended.
After this correction the row now saves successfully.
But the execution of 3 times of the validation continues to occur.
I thought it was related to an async call I had in beforeValidate, but still no luck, I remove the async code and I still see the validation being called 3 times.
At the moment it is not affecting me as the row is saving properly, but probably is something that should be looked at.
Again thanks a lot for the help.

The beforeValidate issue reminds me: #751.

That's a known issue @kvindasAB, it's best to continue that discussion in #751 to keep things in one place.
You're welcome! :wink:

Hello @dmarcelino understood.
Will close this issue then.
Again all the help is deeply appreciated.


Renamed env-example for IDE-compatibity; added PHP version 8.0 in the example values

Description
Renamed env-example to .env.example for conformity and IDE-compatibity; added PHP version 8.0 in the example values
Motivation and Context

Highlights and handles the example .env file better;
Hints that the user can use PHP 8.0

Types of Changes

[x] Bug fix (non-breaking change which fixes an issue).
[] New feature (non-breaking change which adds functionality).
[] Breaking change (fix or feature that would cause existing functionality to not work as expected).

Definition of Done Checklist:

[x] I've read the Contribution Guide.
[] I've updated the documentation. (refer to this for how to do so).
[x] I enjoyed my time contributing and making developer's life easier :)

@aydin41k you've not update the docs.

@PavelSavushkinMix I updated the docs and a few more files.

duplicate #2782

duplicate #2782

@bestlong That one doesn't fix the reference to PHP 8.0. My PR fixes what that PR covers, plus the reference/instructions.


Added overlay test plan.

Overlay test plan page.
ENI detaild test plan.

Signed-off-by: Anton Putria<EMAIL_ADDRESS>

@prabhataravind to review

Can we categorize these according to the conversation in Sept 22 meeting (add a column perhaps?):
Test cases can be run but fail?
Test cases cannot be run, Implementation is missing?
Test cases cannot be done as API is missing?
Engine (bmv2 & P4C) does not support the test

I'd like to keep test plan separately from the test results.
We can keep this document as is with test steps only, and add test run report against BMv2 as a part of CI. This could be a GitHub action, so every change in pipeline or in tests will issue test run and publish a report. And we will see what does works and what fails. Next, we can think how to link issues.

Looks like you need to add "reconvergence" to .wordlist.txt, probably picked up the "typo" from a merge from main.

Looks like you need to add "reconvergence" to .wordlist.txt, probably picked up the "typo" from a merge from main.

@chrispsommers This word was already in main. I rebased my branch on the latest main and now it looks good.

@theasianpianist to review/signoff


Global Registry Type for Services

Closes: https://cccs.atlassian.net/browse/AL-1498

Codecov Report

Merging #377 (c6b62fa) into master (849fa35) will increase coverage by 0.03%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master     #377      +/-   ##
==========================================
+ Coverage   41.75%   41.78%   +0.03%
==========================================
  Files          32       32
  Lines        4771     4772       +1
==========================================
+ Hits         1992     1994       +2
+ Misses       2779     2778       -1

Impacted Files
Coverage Δ

assemblyline_core/updater/helper.py
0.00% <0.00%> (ø)

assemblyline_core/dispatching/dispatcher.py
76.73% <0.00%> (+0.26%)
: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 849fa35...c6b62fa. Read the comment docs.

There are no changes. Closing...


Missing Object.entries should trigger compatibility error

https://twitter.com/paulobrumatti/status/961761350765735936

Check should go here: https://github.com/captbaritone/winamp2-js/blob/master/js/winamp.js#L29-L36

Here’s an updated link to where the check should go: https://github.com/captbaritone/webamp/blob/master/js/webampLazy.js#L53
You could test this out by temporality adding Object.entries = undefined At the top of js/index.js And see that the demo page loads with a “browser not supported” message.


Dir out must be empty if no equals in

closes #358

Still not sure about output = input being a good idea, but looks good to me.

lets see. We are on testing

It may cause edge cases/issues, but we should fix said issues later. To an end-user, output=input is a basic use case (default assumption for any pipeline).


Add round robin strategy, add dimension datasource to metrics

The only useful remaining changes in this PR are:

CoordinatorDutiesTest
changes to CoordinatorStats


refactor: abstract useful stylings for a text page

#522  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @davidlj95 and the rest of your teammates on  Graphite


Use EnumArray for Key or Scancode-indexed arrays

Follow-up of #2839, using sf::priv::EnumArray in internal SFML code to implement arrays indexed by sf::Keyboard::Key or sf::Keyboard::Scancode enumerations.

Regarding public API, it was the opportunity to move sf::Keyboard::Key::KeyCount and sf::Keyboard::Scan::ScancodeCount out of their enumerations.
So they become respectively:

sf::Keyboard::KeyCount
sf::Keyboard::ScancodeCount

This is consistent with other enumerations:

sf::Joystick::Axis -> sf::Joystick::AxisCount
sf::Mouse::Button -> sf::Mouse::ButtonCount

See commit message for more arguments in favor of this change.

SFMLBuildMaster: Build this please.


Approval Test Integration Bug

Hi,
I really like the [Boost].UT framework. It's clean and easy to use and does away with macros. Thanks for developing it!
Anyways, I want to use approval tests (https://github.com/approvals/ApprovalTests.cpp) in a project I'm working on, and I'm implementing the integration between UT <> ApprovalTests.cpp. I followed the guidelines (https://github.com/approvals/ApprovalTests.cpp/blob/master/doc/SupportingNewTestFramework.md#top) and the UT reporter example (https://godbolt.org/z/gsAPKg). I made this simple example:
#include <string>

#include "ut.hpp"
#include "ApprovalTests.hpp"

namespace ut = boost::ut;

namespace ApprovalTests
{
    namespace cfg {
        class reporter : public ut::reporter<ut::printer> {
            private:
                TestName currentTest;

            public:
                auto on(ut::events::test_begin test_begin) -> void {
                    std::string name = test_begin.name;
                    currentTest.sections.emplace_back(name);
                    ut::reporter<ut::printer>::on(test_begin);
                }
                auto on(ut::events::test_run test_run) -> void {
                    ut::reporter<ut::printer>::on(test_run);
                }
                auto on(ut::events::test_skip test_skip) -> void { ut::reporter<ut::printer>::on(test_skip); }
                auto on(ut::events::test_end test_end) -> void {
                    while (!currentTest.sections.empty()) {
                        currentTest.sections.pop_back();
                    }
                    ut::reporter<ut::printer>::on(test_end);
                }
                template <class TMsg>
                auto on(ut::events::log<TMsg>) -> void {}
                template <class TLocation, class TExpr>
                auto on(ut::events::assertion_pass<TLocation, TExpr> location) -> void {
                    currentTest.setFileName(location.location.file_name());
                    ApprovalTestNamer::currentTest(&currentTest);
                    ut::reporter<ut::printer>::on(location);
                }
                template <class TLocation, class TExpr>
                auto on(ut::events::assertion_fail<TLocation, TExpr> fail) -> void { ut::reporter<ut::printer>::on(fail); }
                auto on(ut::events::fatal_assertion fatal) -> void { ut::reporter<ut::printer>::on(fatal); }
                auto on(ut::events::exception exception) -> void { ut::reporter<ut::printer>::on(exception); }
                auto on(ut::events::summary summary) -> void { ut::reporter<ut::printer>::on(summary); }
        };
    }  // namespace cfg
}

template <>
auto ut::cfg<ut::override> = ut::runner<ApprovalTests::cfg::reporter>{};

int main()
{
    using namespace ut;
    using namespace ApprovalTests;

	"Approval"_test = []() {
        //expect(true);
        expect(nothrow([] { Approvals::verify("Approval Tests can verify text via the golder master method"); }));
	};

}

The issue is unless the line containing expect(true); is uncommented it doesn't work. It complains that currentTest was not configured. This seems more like a UT issue than an ApprovalTests issue.
Can anyone help? I'm not familiar enough with the UT code logic to track this issue. Or am I wrong and this is an ApprovalTests.cpp issue?
I appreciate any help.

Hi, I happen to be one of the maintainers of ApprovalTests.cpp... Am happy to try and help with this, or answer questions, if I can...

Oh, and thank you for trying to make this integration!

Hi @claremacrae,
It would be great if you could check things on the ApprovalTests.cpp side. As I said I don't think it's an issue there, but I haven't had time to do a in depth debug.
And thanks for ApprovalTests.cpp! It's a very cool idea and it really fills a need I have in my current project. I have a small patch for TortoiseGitMerge tool support that I'll submit soon.

Hi @lp55
You're welcome...
I can reproduce the behaviour you describe, but I can't get a debugger to break in the ApprovalTests code to work out what's going on. It's almost as though it's all being executed at compile time???

Are you available to screens-share and pair on this?

Hi @claremacrae
I'm available for screen-share depending on the tool. What do you use?

Great - How about you email me to<EMAIL_ADDRESS>and we take it from there?

We were able to get this working - the key turned out to be that we needed the code that handled ut::events::test_begin to have access to the filename the test was in... which we were able to get by changing the test_begin method to this:
                auto on(ut::events::test_begin test_begin) -> void {
                    const std::string fileName =
                            ut::reflection::source_location::current().file_name();
                    currentTest.setFileName(fileName);

                    std::string name = test_begin.name;
                    currentTest.sections.emplace_back(name);

                    ApprovalTestNamer::currentTest(&currentTest);

                    ut::reporter<ut::printer>::on(test_begin);
                }

In case anyone else wants to look at this in the short term, I've attached a slightly-modified version of what we ended up with - renamed to .txt so I could upload it here.
approvals.txt
@lp55 had kindly offered to work it up to something to add to ApprovalTests.cpp, so that it supports ut directly - thank you!

Thank you, @lp55 and @claremacrae for your work, very exciting stuff :+1: ApprovalTests looks very interesting and I would love to put a link to the integration between it and it on the website, please keep me in the know when you have something ready so that I can update the website, thanks again :pray: nice one :+1:

Closing it for now as there is nothing to do from ut perspective ATM, feel free to reopen the issue and/or ping me with any updates/problems, thanks.


ContainerAppConsolelogs_CL casing

The table name is mentioned as ContainerAppConsolelogs_CL multiple times, but Log Analytics is case sensitive and requires an uppercase L to display any logs.
This is rectified later in the documentation, but can be initially needlessly confusing (confused me).
Suggested fix: Ensure correct casing (should be ContainerAppConsoleLogs_CL) every time the table name is referenced.

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

ID: b09abd30-d6e2-3a5c-247c-c351b785e047
Version Independent ID: c7b2cd27-b963-77d3-f8cc-a2df11a65f44
Content: Monitor logs in Azure Container Apps with Log Analytics
Content Source: articles/container-apps/log-monitoring.md
Service: container-apps
GitHub Login: @cebundy
Microsoft Alias: v-bcatherine

@jgarplind
Thanks for your feedback! We will investigate and update as appropriate.


Showcase Submission for challenges/67-pong

Thank you Nagashree RH for your contribution! A member of the Coding Train team will review it shortly.

Ping Pong Game
Nagashree RH

Wow, fantastic!


create "gitattributes organization"

Hi all.
I wonder if you've all thought about creating a GitHub organization for gitattributes. Have you all thought about creating a GitHub organization for gitattributes?
One advantage is that you can create many packages with the same organization name.
example

"https://github.com/gitattributes/markdown.gitattributes"
"https://github.com/gitattributes/c.gitattributes"
"https://github.com/gitattributes/cpp.gitattributes"

or

"https://github.com/common-gitattributes/markdown.gitattributes"
"https://github.com/common-gitattributes/c.gitattributes"
"https://github.com/common-gitattributes/cpp.gitattributes"

these links are conceptual.

It's gitattributes
Let's not get carried away

No need to speak this formally, you can talk in shorter proses
To answer your question: No, there's no need to create a gitattributes organisation. That would be a bit too bourocratic for me.

good bot

Ok, sorry


Unexpected Behavior: API Output Printing with Each Command

This may be an issue with my settings or something locally, but this is behavior that I just started encountering today. Below is some simple code to build a dataframe of games throughout the regular season of my league. I would not expect any of these lines to generate output, but it seems like each iteration of the for loops cause the JSON response from the API to be printed. This occurs even when running from the command line.
If this isn't an issue with the package I'll close and look elsewhere. I appreciate any help!

It looks like you are running the package in debug mode. How are you initializing the league object? You want to make sure you assign each value in the constructor like
league = League(league_id=1234, year=2020, swid='{123-456-789}', espn_s2='4657983486')

Yikes, yes I was passing debug = True for some reason when initializing the league object. Working just fine now that I removed that. Thanks for the assist.

Awesome, no problem!


Auto unlock on failure

Q
A

Issue Type
Feature Request

Deployer Version
4

Description
Consider this laravel deploy script as an example:
task('deploy', [
    'deploy:prepare',
    'deploy:lock',
    'deploy:release',
    'deploy:update_code',
    'deploy:shared',
    'deploy:vendors',
    'deploy:writable',
    'artisan:view:clear',
    'artisan:cache:clear',
    'artisan:config:cache',
    'artisan:optimize',
    'deploy:symlink',
    'deploy:unlock',
    'cleanup',
])

If any of these step fails we need to manually unlock deployment. I believe logically when script exits ether with failure or success the unblock recipe should be executed.

This is possible to do in Deployer v5:
after('deploy:failed', 'deploy:unlock');

@antonmedv Thanks for your reply. How can I access v5 docs? and when will the stable version release?

BTW, I think after('deploy:failed', 'deploy:unlock'); should be done in deploy:failed by default.

It done in temple by default :)
I hope release will be soon. If you can join test it will help.

@antonmedv doc need a new page upgrade guid == https://github.com/deployphp/deployer/blob/master/UPGRADE.md

Feel free to add)


[master] Bump Mesos to nightly master 22471b8

High-level description
This is a routine bump to the latest Mesos and mesos-modules.
Related JIRA Issues
Checklist for all PRs

[ ] Included a test which will fail if code is reverted but test is not. If there is no test please explain here:
[x] Read the DC/OS contributing guidelines
[x] Followed relevant code rules Rules for Packages and Systemd

Checklist for component/package updates:
If you are changing components or packages in DC/OS (e.g. you are bumping the sha or ref of anything underneath packages), then in addition to the above please also include:

[x] Changelog:
https://github.com/apache/mesos/compare/d22a3d7015567de11b3e96a5a686e65dea04aca1...22471b83a418e614b19a7ae50b73ee028dc7c363
https://github.com/dcos/dcos-mesos-modules/compare/351315d5c4ce03e3c8a759093de5957929fa9f88...15a95b259f86a927ee5c21627b38c51463433d86

[ ] Test Results: [link to CI job test results for component]

[ ] Code Coverage (if available): [link to code coverage report]

@mesosphere-mergebot bump-ee

This repo has @mesosphere-mergebot integration. You can interact with the following commands.
@mesosphere-mergebot label [Request For Comment |Holding |Work In Progress |Ready For Review |Ship It]
@mesosphere-mergebot merge-it
@mesosphere-mergebot bump-ee
@mesosphere-mergebot override-status

PR creators can apply one of  [Ready For Review |Work In Progress]. Owners can apply any label.

@mesosphere-mergebot label Ready For Review

@mesosphere-mergebot override-status teamcity/dcos/test/aws/onprem/static https://jira.mesosphere.com/browse/DCOS_OSS-2115

@mesosphere-mergebot label Ship It

@mesosphere-mergebot merge-it


issue with threads

I'm running this on an old laptop and am getting the following error
Traceback (most recent call last):
File "./altdns.py", line 158, in
t.start()
File "/usr/lib/python2.7/threading.py", line 736, in start
_start_new_thread(self.__bootstrap, ())
thread.error: can't start new thread
Exception in thread Thread-378:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
self.run()
File "/usr/lib/python2.7/threading.py", line 754, in run
self.__target(*self.__args, **self.__kwargs)
File "./altdns.py", line 115, in get_cname
progress += 1
TypeError: unsupported operand type(s) for +=: 'NoneType' and 'int'

Also have an issue with it being unable to start new threads. Attempted with lightweight (four subdomains) list as well, same issue.

Hi @merlin303 - this issue has been fixed due to a pull request from @avlidienbrunn. I'm closing this bug report as resolved now.


Failed to rename buffer

Error executing vim.schedule lua callback: ...louis/.config/nvim/after/glance.nvim/lua/glance/list.lua:219: Failed to rename buffer
stack traceback:
        [C]: in function 'nvim_buf_set_name'
        ...louis/.config/nvim/after/glance.nvim/lua/glance/list.lua:219: in function 'setup'
        ...louis/.config/nvim/after/glance.nvim/lua/glance/list.lua:41: in function 'create'
        ...louis/.config/nvim/after/glance.nvim/lua/glance/init.lua:240: in function 'create'
        ...louis/.config/nvim/after/glance.nvim/lua/glance/init.lua:83: in function 'create'
        ...louis/.config/nvim/after/glance.nvim/lua/glance/init.lua:142: in function '_open'
        ...louis/.config/nvim/after/glance.nvim/lua/glance/init.lua:156: in function 'handler'
        /usr/share/nvim/runtime/lua/vim/lsp.lua:1388: in function ''
        vim/_editor.lua: in function <vim/_editor.lua:0>

this occurred when opening references (first a failed attempt, where no references existed) and then a successful reference. On the third attempt, there seems to be a buffer with the same name existing.

Thanks!


Pull real information about which packages can be updated into the package list

We currently don't pull the real upgrade availability information. We need to combine the conda env update --dry-run with the package listing to show up-to-date information.

This was implemented in #24


[Feature Request]:  The model may generate a json string in markdown format

Is your feature request related to a problem? Please describe.
The model may generate a json string in markdown format
Describe the solution you'd like
Solution: Replace markdown syntax with re
import re
if re.match(r'```json\n.*\n```', output, re.DOTALL):
    output = re.search(r'```json\n(.*)\n```', output, re.DOTALL).group(1)
return LLMOutput(output=output)

After use, the entire workflow can be completed, as shown in the figure

Additional context
No response

修改一下
try:
    if re.match(r'```json\n.*\n```', output, re.DOTALL):
        output = re.search(r'```json\n(.*)\n```', output, re.DOTALL).group(1)
except:
    pass

Suggest submission, the prompt has been modified many times but still cannot be formatted correctly.

Suggest submission, the prompt has been modified many times but still cannot be formatted correctly.建议提交，提示已修改多次但仍无法正确格式化。

I also tried to modify the prompt words to make the output more json instead of markdown, but I found that I couldn't do it, so I modified the source code.

We have resolved several issues related to text encoding and JSON parsing that are rolled up into version 0.2.2. Please try again with that version and re-open if this is still an issue.


Question: when to expect QueryDocumentSnapshot vs DocumentSnapshot on Transaction .get(docRef)

Environment details

OS: Linux
Node.js version: 8.11.3
npm version: 6.1.0
@google-cloud/firestore version: 0.14.1

Steps to reproduce
https://cloud.google.com/nodejs/docs/reference/firestore/0.14.x/Transaction#get
The docs read "A Promise that resolves with a DocumentSnapshot or QuerySnapshot for the returned documents." and this should say QueryDocumentSnapshot in place of QuerySnapshot.
However, please can you clarify under which circumstances I should expect a QueryDocumentSnapshot vs a DocumentSnapshot? I'm aware that one extends the other and almost identical in nature, but in my code I'm always passing a DocumentReference. Sometimes I get back one and sometimes the other. It seems like under the hood a query is being built sometimes (maybe when there the document does not exist)?
/**
 * DeleteLead: Delete a lead for a given account and project
 * @param {string} aid
 * @param {string} pid
 * @param {string} lid
 * @returns {Promises.<undefined>}
 */
Service.prototype.deleteLead = function deleteLead(aid, pid, lid) {
  var ts = process.hrtime();
  let db = admin.firestore();

  return db.runTransaction(t => {
    let projectRef = db.doc(`accounts/${aid}/projects/${pid}`);
    let leadRef = db.collection(`accounts/${aid}/projects/${pid}/leads`).doc(lid);

    return t.get(projectRef)
    .then(queryDocSnap => {
      console.log('queryDocSnap... (1)');
      console.log(queryDocSnap);
      let data = queryDocSnap.data();
      if (!data) {
        throw Error('projects/project-not-found');
      }
      return t.get(leadRef);
    })
    .then(queryDocSnap => {
      console.log('queryDocSnap... (2)');
      console.log(queryDocSnap);

      // SHOULD RETURN A DocumentSnapshot
      let data = queryDocSnap.data();
      if (!data) {
        throw Error('leads/lead-not-found');
      }
      return t.get(projectRef);
    })
    .then(queryDocSnap => {
      t.update(projectRef, {
        leadsCount: queryDocSnap.data().leadsCount - 1
      });
      t.delete(leadRef);
    });
  })
  .then(() => {
    let [s, ns] = process.hrtime(ts);
    return Promise.resolve({
      system: {
        firestoreMs: Number((s * 1000.0) + (ns / 1000000.0)).toFixed(0)
      }
    });
  })
  .catch(err => {
    return Promise.reject(err);
  });;
};

✓ CreateProject: should create a new project 'test-767005' (1588ms)
    ✓ CreateProject: should fail to create the same project 'test-767005'
    ✓ GetProject: should get project 'test-767005' by its id
    ✓ GetProject: should fail to get project 'test-767005' as missing x-access-token
    ✓ GetProject: should fail to retrieve a project that does not exist
    ✓ ListProjects: should retrieve a list of all projects
    ✓ CreateLead: should create a set of leads (11458ms)
    ✓ CreateLead: should create a single lead (2280ms)

--- start ---
queryDocSnap... (1)
QueryDocumentSnapshot {
  _ref:
   DocumentReference {
     _firestore:
      Firestore {
        _firestoreClient: [Object],
        _initalizationOptions: [Object],
        _clientInitialized: [Object],
        _preferTransactions: false,
        _lastSuccessfulRequest:<PHONE_NUMBER>152,
        _referencePath: [Object] },
     _referencePath:
      ResourcePath {
        segments: [Array],
        _formattedName: undefined,
        _projectId: 'capturoo-api-staging',
        _databaseId: '(default)' } },
  _fieldsProto:
   { lastModified: { timestampValue: [Object], valueType: 'timestampValue' },
     publicApiKey: { stringValue: '76pZ35', valueType: 'stringValue' },
     leadsCount: { integerValue: '6', valueType: 'integerValue' },
     projectName: { stringValue: 'Supertest Project', valueType: 'stringValue' },
     created: { timestampValue: [Object], valueType: 'timestampValue' } },
  _readTime: '2018-06-25T15:39:54.516816000Z',
  _createTime: '2018-06-25T15:39:36.063201000Z',
  _updateTime: '2018-06-25T15:39:53.502149000Z' }
queryDocSnap... (2)
QueryDocumentSnapshot {
  _ref:
   DocumentReference {
     _firestore:
      Firestore {
        _firestoreClient: [Object],
        _initalizationOptions: [Object],
        _clientInitialized: [Object],
        _preferTransactions: false,
        _lastSuccessfulRequest:<PHONE_NUMBER>518,
        _referencePath: [Object] },
     _referencePath:
      ResourcePath {
        segments: [Array],
        _formattedName: undefined,
        _projectId: 'capturoo-api-staging',
        _databaseId: '(default)' } },
  _fieldsProto:
   { lead: { mapValue: [Object], valueType: 'mapValue' },
     tracking: { mapValue: [Object], valueType: 'mapValue' },
     system: { mapValue: [Object], valueType: 'mapValue' } },
  _readTime: '2018-06-25T15:39:54.516816000Z',
  _createTime: '2018-06-25T15:39:53.502149000Z',
  _updateTime: '2018-06-25T15:39:53.502149000Z' }
    ✓ DeleteLead: should delete an individual lead (2267ms)
queryDocSnap... (1)
DocumentSnapshot {
  _ref:
   DocumentReference {
     _firestore:
      Firestore {
        _firestoreClient: [Object],
        _initalizationOptions: [Object],
        _clientInitialized: [Object],
        _preferTransactions: false,
        _lastSuccessfulRequest:<PHONE_NUMBER>424,
        _referencePath: [Object] },
     _referencePath:
      ResourcePath {
        segments: [Array],
        _formattedName: undefined,
        _projectId: 'capturoo-api-staging',
        _databaseId: '(default)' } },
  _fieldsProto: undefined,
  _readTime: '2018-06-25T15:39:56.520206000Z',
  _createTime: undefined,
  _updateTime: undefined }
    ✓ DeleteLead: should fail to delete an individual lead from project

--- end ---

queryDocSnap... (1)
QueryDocumentSnapshot {
  _ref:
   DocumentReference {
     _firestore:
      Firestore {
        _firestoreClient: [Object],
        _initalizationOptions: [Object],
        _clientInitialized: [Object],
        _preferTransactions: false,
        _lastSuccessfulRequest:<PHONE_NUMBER>877,
        _referencePath: [Object] },
     _referencePath:
      ResourcePath {
        segments: [Array],
        _formattedName: undefined,
        _projectId: 'capturoo-api-staging',
        _databaseId: '(default)' } },
  _fieldsProto:
   { lastModified: { timestampValue: [Object], valueType: 'timestampValue' },
     publicApiKey: { stringValue: '76pZ35', valueType: 'stringValue' },
     leadsCount: { integerValue: '5', valueType: 'integerValue' },
     projectName: { stringValue: 'Supertest Project', valueType: 'stringValue' },
     created: { timestampValue: [Object], valueType: 'timestampValue' } },
  _readTime: '2018-06-25T15:39:58.517468000Z',
  _createTime: '2018-06-25T15:39:36.063201000Z',
  _updateTime: '2018-06-25T15:39:56.131147000Z' }
queryDocSnap... (2)
DocumentSnapshot {
  _ref:
   DocumentReference {
     _firestore:
      Firestore {
        _firestoreClient: [Object],
        _initalizationOptions: [Object],
        _clientInitialized: [Object],
        _preferTransactions: false,
        _lastSuccessfulRequest:<PHONE_NUMBER>243,
        _referencePath: [Object] },
     _referencePath:
      ResourcePath {
        segments: [Array],
        _formattedName: undefined,
        _projectId: 'capturoo-api-staging',
        _databaseId: '(default)' } },
  _fieldsProto: undefined,
  _readTime: '2018-06-25T15:39:58.517468000Z',
  _createTime: undefined,
  _updateTime: undefined }
    ✓ DeleteLead: should fail to delete an individual lead from project (1812ms)

    ✓ QueryLeads: should query leads order by default (created desc)
    ✓ QueryLeads: should query all leads order by created asc
    ✓ QueryLeads: should get leads orderBy system.created ascending limit 2
    ✓ QueryLeads: should get leads orderBy system.created ascending startAfter last limit 2
    ✓ QueryLeads: should get leads orderBy system.created ascending startAfter last limit 2
    ✓ QueryLeads: should get leads orderBy system.created descending limit 2
    ✓ QueryLeads: should get leads orderBy system.created descending startAfter last limit 2
    ✓ QueryLeads: should get leads orderBy system.created descending startAfter last limit 2
    ✓ GetLead: should get a single lead by ID
    ✓ GetLead: should fail to get a lead by incorrect lead ID
    ✓ DeleteProject: should delete project 'test-767005' (2338ms)
    ✓ QueryLeads: should query leads order by default (created desc)
    ✓ DeleteProject: should fail to delete project 'test-767005' as it just got deleted
    ✓ GetProject: should fail to get the previously deleted project 'test-767005'

  26 passing (41s)

Many thanks.

Thanks for contacting us!

First off, and not applicable in this case -Transaction.get() returns a QuerySnapshot when it is called with an instance of Query.
Secondly, Transaction.get() is documented to return a DocumentSnapshot when it is called with a DocumentReference.
Internally, the SDK returns a QueryDocumentSnapshot when the returned document exists, and a DocumentSnapshot when it could not be found. You should, however, treat the result of Transaction.get(_:DocumentReference) as a DocumentSnapshot, which allows you to properly handle both existing and non-existing snapshots.


NotEnoughKeys support.

The not enough keys mod allows the use of modifier keys for keybinds, however that requires a mod to  support it.
https://github.com/mod-warriors/NotEnoughKeys/tree/dev/src/main/java/modwarriors/notenoughkeys/api

To be honest I'd rather not integrate with yet another low-level API if I don't have to - Mekanism's integration is already extremely cluttered.


Rename config.NewID to config.NewComponentID and config.NewIDFromString to config.NewComponentIDFromString

Description:
This PR is to rename config.NewID to config.NewComponentID and config.NewIDFromString to config.NewComponentIDFromString for naming consistency.
Link to tracking Issue:
Issue # 4105 in Collector repo

Other PR merged upstream, closed this PR.


[#3798] Extract dump method to ByteBufUtil

Motivation:
Dumping the content of a ByteBuf in a hex format is very useful.
Modifications:
Move code into ByteBufUtil so its easy to reuse.
Result:
Easy to reuse dumping code.

@trustin please check... Basically this is just a backport of code in 4.1 and master now with some small adjustments to keep backward compatibility in terms of api in LoggingHandler :)

@trustin can we merge this ?

Sure! LTGM :-)

Cherry-picked into 4.0 as 9a30b6860f21c9c66ba65ae7edd0635785d15242


Knee Injury Care Plan Reason

PriorStates [Knee_Injury_CarePlan, ED_Visit_For_Knee_Injury, Knee_Injury, Adult_Incidence_Rates, Wait_For_Injury, Initial, ]
Here the care plan references a "knee_injury" condition onset that has not yet occurred. I can't figure out an easy fix for this one, since the onset logic cannot just be moved before the care plan.
Maybe just remove the reason for now?

Same problem with Spinal Injury
PriorStates [Spinal_Injury_CarePlan, ED_Visit_For_Spinal_Injury, Spinal_Injury, Adult_Incidence_Rates, Wait_For_Injury, Initial, ]

@jeffeastman thanks for this set of issues... we'll start taking a look at them.


Update to Go 1.16

See https://github.com/docker/compose-on-kubernetes/pull/181#issuecomment-1024272246

Probably needs a more current version of Docker Engine to run the newer alpine / debian images (otherwise seccomp may be blocking some syscalls);
Step 22/51 : RUN make bin/compose-controller bin/compose-controller.test e2e-binary bin/installer bin/api-server bin/api-server.test bin/e2e_benchmark
 ---> Running in bb8946581e31
make: /bin/sh: Operation not permitted
make: /bin/sh: Operation not permitted
make: /bin/sh: Operation not permitted
make: /bin/sh: Operation not permitted
common.mk:21: unable to set BUILDTIME. Set the value manually
make: /bin/sh: Operation not permitted
make: /bin/sh: Operation not permitted
make: *** [Makefile:41: FORCE] Error 127
The command '/bin/sh -c make bin/compose-controller bin/compose-controller.test e2e-binary bin/installer bin/api-server bin/api-server.test bin/e2e_benchmark' returned a non-zero code: 2
make: *** [docker.Makefile:73: dockereng/kube-compose-controller] Error 2

Codecov Report

Merging #183 (6c50f0c) into master (bb840f8) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #183   +/-   ##
=======================================
  Coverage   65.02%   65.02%
=======================================
  Files          90       90
  Lines       10958    10958
=======================================
  Hits         7125     7125
  Misses       3537     3537
  Partials      296      296

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 68fc5dc...6c50f0c. Read the comment docs.


Separate subnets for VPC endpoints

Story
Towards epic.

Should we ensure that AWS Secrets Manager Private Endpoint exists and is accessible via TGW so you don't need to provision this?

Should we ensure that AWS Secrets Manager Private Endpoint exists and is accessible via TGW so you don't need to provision this?
@freudl I quickly looked into this today and there are 2 AWS resources with the same domain name (secretsmanager.eu-central-1.amazonaws.com): the VPC endpoint we created and the resolver rule shared by NOC. I don't know which takes precedence.

Looking at the facts, we'll probably have to disable the VPC Endpoint creation.

Implemented and tested on thor.


consider adding exception path when using meta

when adding Public folder and the project uses the Meta-Middleware please add a gotcha to add the paths to the exceptPaths array in meta.json

Belongs to meta-package issue 15


Exam Sharing

Right now all student accounts can see all exams in the database, it is not filtered for their user id. The only account right now that should be able to see any student exams is the studentshane account but studentmalcolm is also able to see these. I'm not going to work on fixing this issue right now because Ege is still working on the database and this will most likely be fixed by him.
This needs to be working before development can start on the student take exam page.

Fixed in https://github.com/shanearcaro/ceralis/commit/512efb8ab301a23613a7006c125b2fbef5f181ca


don't filter text, make special chars searchable

By disabling cleanUserText in AutoComplete it would be possible to search for anything containing special characters, e.g. D'Angelo.

Fixes #468
I think this should be rather safe. The data is already in the database. We do not perform any sanitation while creating the users or items. So insertion via AutoComplete cannot do any more harm than this anyway.

@daniel17903 I don't understand why the tests fail :-/

Any updates on this? :thinking:


docs: Add simple installation instructions to readme

This will help newcomers, and not confuse them by redirecting them to
another site instantly. @cornfeedhobo I think you will like this :)

I also added support for trailing whitespaces in md/rst files here as it was blocked by our configuration

I am going forward with this as I want the readme to contain all relevant information


Added synonyms and regulation terms Fixes #14747

@ukemi could you please review?

Hi @BarbaraCzub ,
You should be able to create logical definitions for the positive and negative regulation terms as well as the core regulation term. See 'positive regulation of glucose import' and 'negative regulation of glucose import' as examples of the construction.
-D

Hi @ukemi
Thanks for pointing this out.
The checks passed.
In order to add the logical definitions now, should I merge this branch and close it, and then open a new branch to add these logical definitions? Or should I not merge this, and continue working on this branch?
Thanks,
Barbara
Note re: GO Editors Guide
Perhaps the point about logical definitions should be clarified in the guidelines. Atm the 'Creating Regulation Terms' guide includes (among others) the following instructions:

"To create a ‘positive regulation of x’ or ‘negative regulation of x’ term, the parent ‘regulation of x’ term must first be created. To create a parent regulation term: (...) ";
"6. Create a logical definition for the term: biological_process and regulates some target process.";
"7. Remove the asserted ‘biological regulation’ parent."
I followed these instructions to create the parent regulation term.

But then to create the positive and negative regulation child terms I followed the instructions in the 'Creating a New Ontology Term' guide, because 'positive/negative regulation of a [process]' is an is_a child of 'regulation of a [process]'.
Or was I supposed to follow the instructions from 'Creating Regulation Terms' to create the positive/negative regulation terms, and the parentage would have been inferred by the reasoner?
(I do not remember how we did this back in October).
cc @vanaukenk

I would just finish the editing in this branch.

@vanaukenk , do you want to modify the documentation together to get me up to speed on editing docs for the January meeting?

Thanks @ukemi
I am going this close this pull request then, because I will not be merging it.

You can just commit back here to this branch and the pull request will update.


Make collapsed dictionary constructor look like JSON

Change-Id: Ie61a8c3d0f11df726885df6ab2015c3bd5b5c7ff

Could you write a bit about the motivation for this change?

@ewpatton @BeksOmega I haven't merged this PR because I wanted to have a conversation on what features increase the intuitiveness of our interface. It's not obvious to me that, in such a small space, the JSON improves the usability of the Dictionary constructor.
It looks like this is now part of a larger conversation in #1964 . How does this change fit into the bigger picture, including renaming collapsed blocks?

Hello @SusanRatiLane
I don't have any particular opinions about this feature. I just linked to this PR because I stole some of the optimizations ewpatton added to toString for #2074 hehe
I think it's a cool feature to add! But I'm not sure if it increases usability or decreases it. I imagine it won't have a /huge/ impact either way, because the max collapsed chars is so low you often won't see it:

Still it might be a nice way to introduce students to JSON syntax
I tested this ontop of #2074 and editing the collapsed dictionary updates the text as expected! =)

@SusanRatiLane

It's not obvious to me that, in such a small space, the JSON improves the usability of the Dictionary constructor.

I think this is actually why this change is useful. The string limit for collapsed blocks is pretty small to begin with, so using make a dictionary key ... value ... is much longer than {key: value.... Odds are, most people will never collapse these blocks to begin with (it tends to be an operation more on event handlers/statements), but I do think it is useful for people to learn the association with JSON as a more collapsed presentation if they do.

I guess since it's only when the block is collapsed, so they can compare to the expanded block that says explicitly "Make a Dictionary"


Add Beaker Notebook (Electron build v1.4.2-0-ge55c059)

Adding a separate cask for the Electron build of Beaker Notebook.

Thank you for the contribution. It needed some fixes, so they were made in debbe48c2890c473f965da163b76fd4174cec17b. Your contribution is still included (and still credited to you), with the appropriate modifications. Please feel free to ask about any of the changes.

This is marked as the "Experimental Electron Native Version" on http://beakernotebook.com/downloads. Seems like a better fit for the versions repo.

@jawshooah Done.


Updated from 2.3.3 to 2.4.0, everything has been reset

As title says just updated from 2.3.3 to 2.4.0 (by downloading the new exe) and just reset database and profile (must introduce it again).

When you run the HeroesMatchTrackerSetup.exe it will delete everything in the folder before being installing.  So if your going to update you have to let it automatically update or make a backup of the Database folder.
As a side note, I have been working on moving the default location of the database out of its current location to prevent this from happening.

Haven't thought about this ... you're correct! I'll not do it again, thanks!


Wasm global imports

This ticket captures making Wasm module global imports accessible to GDScript via Godot Wasm. The following specs give some info regarding Wasm module global.
Wasm mutable global spec
MDN JS reference
At the time of writing (v0.2.2), the following global functionality exists.

[x] Global export read
[ ] Global export write
[ ] Global import read
[ ] Global import write

A property of a GDScript script should be able to be imported as a global and read by a Wasm module. Because GDScript properties can not be read or written using the Wasm C API's expected pointer interface, global setters and getters are required. This precludes using the C API and requires the C++ API instead. Using the C++ API is blocked by https://github.com/wasmerio/wasmer/issues/3754.

May take a while to trickle down to Wasmer, but this would also suffice.

What is this?

@fire Added some more context to the ticket. Essentially, there is a bit of a technical limitation re: implementing mutable global imports. Below is my understanding of Wasm import globals and may not be wholly accurate.
Modules can accept mutable global imports. These are basically treated as a pseudo-import-memory. When the module mutates the global import, it writes the value to this address (actually handled by the runtime which writes the value to a pointer). My intent for global imports was to accept the from GDScript the same as import functions i.e. target and method in the case of functions and target and property in the case of globals. I anticipated passing these in along side functions which is why there is an import dictionary passed to instantiate() that, as of v0.2.2, can only take a single key of functions. The plan was to slot globals in nicely here. For example:
var module = Wasm.new()
var imports = {
  "functions": {
    "env.myfunc": [self, "myfunc"],
  },
  "globals": {
    "env.myglobal": [self, "myglobal"]
  },
}
module.load(buffer, imports)

Here, the GDScript instantiating the module (self) has a property myglobal. The Wasm module should be able to set the value of this property. The issue is that we'd need to pass the module the pointer to the value underlying the Godot Variant. Even if that can be done, it wouldn't be perfect e.g. 32 bit ints would be corrupted as Godot only deals with 64 bit ints.
Note that more functionality around globals is totally possible today without any rethinking but I've deferred until coming up with a plan to support globals completely (including the case mentioned above).
Happy to hear any ideas.


HEAD got 403 (using boto python library)

When I do this very simple code with version 3.5.0 I got a 403
import boto
import boto.s3.connection

bucket = boto.connect_s3(
    host="<IP_ADDRESS>",
    port=5001,
    is_secure=False,
    calling_format=boto.s3.connection.OrdinaryCallingFormat(),
).get_bucket("yolaw-develop")

and I launch the server with
s3rver -a <IP_ADDRESS> --port 5001 --directory /tmp --configure-bucket "yolaw-develop" /CORS.xml

I got the following log fom the server
info: HEAD /yolaw-develop/ 403 1ms -

I correctly set the env variable to S3RVER
$ env | grep AWS | grep ACCE

AWS_ACCESS_KEY_ID=S3RVER
AWS_SECRET_ACCESS_KEY=S3RVER

and tcpdump of the network communication
HEAD /yolaw-develop/ HTTP/1.1
Host: s3:5001
Accept-Encoding: identity
Date: Thu, 28 Nov 2019 22:11:29 GMT
Content-Length: 0
Authorization: AWS S3RVER:g7Y97yEsmOLVMCenkRmaU8L4cLM=
User-Agent: Boto/2.42.0 Python/2.7.15+ Linux/5.0.0-17.1-liquorix-amd64

HTTP/1.1 403 Forbidden
Content-Type: application/xml
Content-Length: 546
Date: Thu, 28 Nov 2019 22:11:29 GMT
Connection: keep-alive

If I do it without the Authorization header I got 404

if I replay with netcat the same request but with GET instead , I got
GET /yolaw-develop/ HTTP/1.1
Host: s3:5001
Accept-Encoding: identity
Date: Thu, 28 Nov 2019 22:11:29 GMT
Content-Length: 0
Authorization: AWS S3RVER:g7Y97yEsmOLVMCenkRmaU8L4cLM=
User-Agent: Boto/2.42.0 Python/2.7.15+ Linux/5.0.0-17.1-liquorix-amd64

HTTP/1.1 403 Forbidden
Content-Type: application/xml
Content-Length: 542
Date: Fri, 29 Nov 2019 07:24:43 GMT
Connection: keep-alive

<?xml version="1.0" encoding="UTF-8"?>
<Error>SignatureDoesNotMatch<Message>The request signature we calculated does not match the signature you provided. Check your key and signing method.</Message><AWSAccessKeyId>S3RVER</AWSAccessKeyId><StringToSign>GET

Fri, 29 Nov 2019 07:23:50 GMT
/s3/yolaw-develop/</StringToSign><StringToSignBytes>47 45 54 0a 0a 0a 46 72 69 2c 20 32 39 20 4e 6f 76 20 32 30 31 39 20 30 37 3a 32 33 3a 35 30 20 47 4d 54 0a 2f 73 33 2f 79 6f 6c 61 77 2d 64 65 76 65 6c 6f 70 2f</StringToSignBytes></Error>

(which i think is normal has the signature contain the http method used?)

ok after adding console.log everywhere in the code (as HEAD does not give you the body, it's a PITA to debug ^^) I finally found it;s failing in the authentication middleware  with a SignatureDoesNotMatch
I'm trying to find why , but i'm getting closer

Hi @allan-simon, thanks for the extensive report, I should be able to have this fixed for the next release. Sorry for the delay. My guess is s3rver is supposed to be signing these requests as GET, but if it's not I should still be able to get to the bottom of it.

thanks, it was actually quite fun to debug ^^


Implementation of  np.moveaxis()

Depends on and closes #5169.
Depends on and closes #5173.
Implements numpy.moveaxis().

bump 🥺

I have re-implemented this part of code since i need this in my subsequent patch but this PR hasn`t been updated for a long time, see #7270


[5.3] ProcessTimedOutException when calling queue:listen

When I run php artisan queue:listen sqs I get the following error:
[Symfony\Component\Process\Exception\ProcessTimedOutException]
The process "'/usr/bin/php7.0' 'artisan' queue:work 'sqs' --queue='grin-market-1' --delay=0 --memory=128 --sleep=3 --tries=0 --env='local'" exceeded the timeout of 60 seconds.
The timeout occurs when the process reaches the --timeout value, whether any jobs are being fired or not.  Jobs that fire before the timeout are working properly, but the process dies when the --timeout is reached.
I did not see any other issues related to this specifically. Also, its entirely possible I am doing something wrong, but I have used queues many times with Laravel 5.2 and below without incident.

Does this only happen on sqs please?

This is happening with beanstalkd, redis and sync drivers as well.

Odd, I can't replicate this. What version of PHP are you using please?

Wait, isn't this correct. You're meant to call work, not listen.

Homestead with PHP PHP 7.0.8-2+deb.sury.org~xenial+1.
The listen command calls work underneath. Running work results in the same issue

Oh, I see why this is happing. We were meant to pass through --once to the work command to make it process exactly one job.

Ok so if I call work with --once on my end this will be resolved for now?

No. It's an internal command we're calling.

Never mind I see the problem. I can fix it for now and then update later

Fixed in https://github.com/laravel/framework/commit/d0bc401b7384ae4b63adcfdaddbd415c4394e3d3. :)

Word thanks

Thanks for reporting! :heart:


Tests don't pass after cloning and running make test

Cloned the repo
Set my docker engine to use insecure registry @ localhost:5000
Run make test

Getting this:
marcos@marcos-xps:~/Projects/gopath/src/github.com/genuinetools/reg (master) (⎈ |bru1-gke:default)$ make test
+ test
body: {"stream":"Step 1/4 : FROM quay.io/coreos/clair"}
{"stream":"\n"}
{"status":"Pulling from coreos/clair","id":"latest"}
{"status":"Already exists","progressDetail":{},"id":"6c40cc604d8e"}
{"status":"Already exists","progressDetail":{},"id":"51d6d4c96fd3"}
{"status":"Already exists","progressDetail":{},"id":"945d978b4f19"}
{"status":"Already exists","progressDetail":{},"id":"74ebde557090"}
{"status":"Already exists","progressDetail":{},"id":"e6618267e614"}
{"status":"Already exists","progressDetail":{},"id":"45f1431207d0"}
{"status":"Already exists","progressDetail":{},"id":"5cc89d656c53"}
{"status":"Already exists","progressDetail":{},"id":"e2bd76ee288e"}
{"status":"Digest: sha256:ad866ba06505c3a0710c44e7e85ed863096a4fb1ba18cbe8efbe6e9ae0c5507f"}
{"status":"Status: Image is up to date for quay.io/coreos/clair:latest"}
{"stream":" ---\u003e 79f851f41934\n"}
{"stream":"Step 2/4 : RUN apk add --no-cache \tca-certificates"}
{"stream":"\n"}
{"stream":" ---\u003e Using cache\n"}
{"stream":" ---\u003e 96852205d94c\n"}
{"stream":"Step 3/4 : COPY testutils/snakeoil/cert.pem /usr/local/share/ca-certificates/clair.pem"}
{"stream":"\n"}
{"stream":" ---\u003e Using cache\n"}
{"stream":" ---\u003e 2ec626d1f95d\n"}
{"stream":"Step 4/4 : RUN cat /usr/local/share/ca-certificates/* \u003e\u003e /etc/ssl/certs/ca-certificates.crt"}
{"stream":"\n"}
{"stream":" ---\u003e Using cache\n"}
{"stream":" ---\u003e 430c8d95b3c5\n"}
{"aux":{"ID":"sha256:430c8d95b3c56c2285977e4ef182c58164e35ca829219d4bf08ba5814bd725a5"}}
{"stream":"Successfully built 430c8d95b3c5\n"}
{"stream":"Successfully tagged clair:dev\n"}

try number 0 to https://localhost:5000: Get https://localhost:5000/v2/: x509: certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" while trying to verify candidate authority certificate "Acme Co")
sleeping for 1 second then will try again...
try number 1 to https://localhost:5000: Get https://localhost:5000/v2/: x509: certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" while trying to verify candidate authority certificate "Acme Co")
sleeping for 1 second then will try again...
try number 2 to https://localhost:5000: Get https://localhost:5000/v2/: x509: certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" while trying to verify candidate authority certificate "Acme Co")
sleeping for 1 second then will try again...
try number 3 to https://localhost:5000: Get https://localhost:5000/v2/: x509: certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" while trying to verify candidate authority certificate "Acme Co")
sleeping for 1 second then will try again...
try number 4 to https://localhost:5000: Get https://localhost:5000/v2/: x509: certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" while trying to verify candidate authority certificate "Acme Co")
sleeping for 1 second then will try again...
try number 5 to https://localhost:5000: Get https://localhost:5000/v2/: x509: certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" while trying to verify candidate authority certificate "Acme Co")
sleeping for 1 second then will try again...
try number 6 to https://localhost:5000: Get https://localhost:5000/v2/: x509: certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" while trying to verify candidate authority certificate "Acme Co")
sleeping for 1 second then will try again...
try number 7 to https://localhost:5000: Get https://localhost:5000/v2/: x509: certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" while trying to verify candidate authority certificate "Acme Co")
sleeping for 1 second then will try again...
try number 8 to https://localhost:5000: Get https://localhost:5000/v2/: x509: certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" while trying to verify candidate authority certificate "Acme Co")
sleeping for 1 second then will try again...
try number 9 to https://localhost:5000: Get https://localhost:5000/v2/: x509: certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" while trying to verify candidate authority certificate "Acme Co")
panic: starting registry container noauth.yml failed: [WHOOPS]: maximum retries for https://localhost:5000 exceeded

goroutine 1 [running]:
github.com/genuinetools/reg.TestMain(0xc000380400)
        /home/marcos/Projects/gopath/src/github.com/genuinetools/reg/main_test.go:82 +0xdfb
main.main()
        _testmain.go:54 +0x13e
FAIL    github.com/genuinetools/reg     20.008s
?       github.com/genuinetools/reg/clair       [no test files]
?       github.com/genuinetools/reg/internal/binutils/static    [no test files]
?       github.com/genuinetools/reg/internal/binutils/templates [no test files]
=== RUN   TestParseChallenge
--- PASS: TestParseChallenge (0.00s)
=== RUN   TestParseChallengePush
--- PASS: TestParseChallengePush (0.00s)
=== RUN   TestDigestFromDockerHub
--- PASS: TestDigestFromDockerHub (4.38s)
=== RUN   TestDigestFromGCR
--- PASS: TestDigestFromGCR (1.19s)
=== RUN   TestErrBasicAuth
2019/06/04 17:00:38 registry.ping url=http://<IP_ADDRESS>:40967/v2/
2019/06/04 17:00:38 registry.token url=http://<IP_ADDRESS>:40967
--- PASS: TestErrBasicAuth (0.00s)
=== RUN   TestBothTokenAndAccessTokenWork
2019/06/04 17:00:38 registry.ping url=http://<IP_ADDRESS>:38063/v2/
2019/06/04 17:00:38 registry.token url=http://<IP_ADDRESS>:38063
2019/06/04 17:00:38 registry.ping url=http://<IP_ADDRESS>:38063/v2/
2019/06/04 17:00:38 registry.token url=http://<IP_ADDRESS>:38063
--- PASS: TestBothTokenAndAccessTokenWork (0.00s)
=== RUN   TestTokenTransportErrorHandling
--- PASS: TestTokenTransportErrorHandling (0.00s)
=== RUN   TestTokenTransportTokenDemandErr
--- PASS: TestTokenTransportTokenDemandErr (0.00s)
=== RUN   TestTokenTransportAuthLeak
--- PASS: TestTokenTransportAuthLeak (0.00s)
PASS
ok      github.com/genuinetools/reg/registry    (cached)
=== RUN   TestGetAuthConfig
No registry passed. Using registry "https://index.docker.io/v1/"
--- PASS: TestGetAuthConfig (0.00s)
=== RUN   TestGetRepoAndRef
--- PASS: TestGetRepoAndRef (0.00s)
PASS
ok      github.com/genuinetools/reg/repoutils   (cached)
?       github.com/genuinetools/reg/testutils   [no test files]
?       github.com/genuinetools/reg/version     [no test files]
basic.mk:75: recipe for target 'test' failed
make: *** [test] Error 1
marcos@marcos-xps:~/Projects/gopath/src/github.com/genuinetools/reg (master) (⎈ |bru1-gke:default)$

I think this is developer ignorance. Copying self-signed certs locally to try it out.

Nope, it's definitely not straightforward to get it running. Tried running make snakeoil, generating a self-signed cert and adding it through update-ca-certficates but tests still failing. Even tried make dtest and also getting errors. :cry:


⚠ Auth has degraded performance

In b0cb0f6, Auth (https://auth.k2lin.com) experienced degraded performance:

HTTP code: 200
Response time: 2507 ms

Resolved: Auth performance has improved in d371ce2.


⚠ Bofrost.be has degraded performance

In 1b1142a, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1733 ms

Resolved: Bofrost.be performance has improved in f0e1512 after 37 minutes.


Replace CodeMirror

In my opinon CodeMirror is not the best wat for us to display code. To replace it I'd prefer to use something like https://github.com/kbiakov/CodeView-android and https://github.com/noties/Markwon.
If you have other ideas on how to do this or if you think this is a bad idea feel free to comment.

You stated that you wanted to display code, but stated the use of Markwon which only renders Markdown. Therefore I've assumed that you mean to replace the Markdown renderer.
CodeMirror definitely needs to be replaced. I've found it slow to render markdown and also having horizontal scrolling of a markdown document is less than ideal.
Another option which is extremely popular is Bypass. As another bonus, it's used in the extremely popular app plaid produced by a Google employee. Personally I'd go with Bypass purely based on it being more popular compared to the two you linked.

Well it's for both to be honest. Using codeview to render actual code is slow so using Code-View for that was an option. Then looking at Markdown we want to render it so either Markwon or Bypass.
I will take a look at both Bypass and Markwon but I'm remembering that we need to support GFM (GitHub Flavored Markdown). It's easier to do with just rendering Markdown via the GitHub API and handling it with Html.fromHtml(...) with some custom TagHandler probably.
For code I think CodeView is the best, but there might be better options.


BEAM-12356 Close DatasetService leaked with getTable

There were more locations not closing DatasetService at GetTable.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

Can one of the admins verify this patch?

@reuvenlax This PR closes missed DatasetService leaks like #17382.

LGTM

Run Java PreCommit

Run Java PreCommit

Run Java PreCommit

Run Java PostCommit

@reuvenlax does it make sense to try to cherry pick this? or is the boat too far gone at this point?
@y1chi

I don't think this needs to be cherry picked.
On Mon, May 16, 2022 at 3:32 PM Pablo @.***> wrote:

@reuvenlax https://github.com/reuvenlax does it make sense to try to
cherry pick this? or is the boat too far gone at this point?
@y1chi https://github.com/y1chi
—
Reply to this email directly, view it on GitHub
https://github.com/apache/beam/pull/17520#issuecomment-1128056299, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AFAYJVNXETGTH5ZDJHP6X3TVKKPGFANCNFSM5U2XDI5Q
.
You are receiving this because you were mentioned.Message ID:
@.***>


Test br

Pull Request Template
Use this template to quickly create a well written pull request. Delete all quotes before creating the pull request.

Description

Add a TL;DR when description is extra long (helps content team)
Please include a summary of the changes and which issue has been fixed. Please also include relevant motivation
and context. List any dependencies that are required for this change
Links to Notion, Figma or any other documents that might be relevant to the PR

PR fixes following issue(s)
Fixes # (issue number)

if no issue exists, please create an issue and ask the maintainers about this first

Media

A video or a GIF is preferred. when using Loom, don’t embed because it looks like it’s a GIF. instead, just link to the video

Type of change

Please delete options that are not relevant.

Bug fix (non-breaking change which fixes an issue)
New feature (non-breaking change which adds functionality)
Breaking change (fix or feature that would cause existing functionality to not work as expected)
Chore (housekeeping or task changes that don't impact user perception)
This change requires a documentation update

Testing

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Also list any relevant details for your test configuration.
Delete anything that is not relevant

[ ] Manual
[ ] JUnit
[ ] Jest
[ ] Cypress

Test Plan

Add Testsmith test cases links that relate to this PR

Issues raised during DP testing

Link issues raised during DP testing for better visiblity and tracking (copy link from comments dropped on this PR)

Checklist:
Dev activity

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] PR is being merged under a feature flag

QA activity:

[ ] Speedbreak features have been covered
[ ] Test plan covers all impacted features and areas of interest
[ ] Test plan has been peer reviewed by project stakeholders and other QA members
[ ] Manually tested functionality on DP
[ ] We had an implementation alignment call with stakeholders post QA Round 2
[ ] Cypress test cases have been added and approved by SDET/manual QA
[ ] Added Test Plan Approved label after Cypress tests were reviewed
[ ] Added Test Plan Approved label after JUnit tests were reviewed

Summary by CodeRabbit

Tests

Updated E2E regression tests to use the new @getConsolidatedData request alias.
Added a new spec file for server-side regression testing.

New Features

Introduced ConsolidatedPageLoadApi for optimized data fetching.

Refactor

Refactored sagas and reducers to handle consolidated page load data.
Enhanced application sagas to improve data fetching logic.

Bug Fixes

Adjusted test control flows to align with consolidated data handling.

Documentation

Documented loading state selector getIsConsolidatedPageLoading for UI consistency checks.

/ci-test-limit

/ci-test-limit

/ci-test-limit

/ci-test-limit

/ci-test-limit

/ci-test-limit

/ok-to-test<EMAIL_ADDRESS>

/ci-test-limit

/ok-to-test<EMAIL_ADDRESS>

/ci-test-limit

/ci-test-limit


Bug fix for RK TV web UI

Codecov Report

Merging #26 (e638e02) into master (d2a82c0) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #26   +/-   ##
=======================================
  Coverage   86.84%   86.84%
=======================================
  Files          29       29
  Lines        2319     2319
=======================================
  Hits         2014     2014
  Misses        226      226
  Partials       79       79

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 d2a82c0...e638e02. Read the comment docs.


Parent object for array constructor?

This might be outside the scope of this library, but wanted to run it by you all.
Say I have a list of inventory locations for an item, each with a remaining quantity at the location. If I update the quantity on one location, I want to run some logic to update the quantity on the others.
So, I can currently use Twine to bind updates on individual locations (say, showing the amount changed)
<% inventory.locations.each do |location| %>
  <div define="{ location : new LocationInventory(<%= location.remaining %>) }">
    <input bind="remaining" type="number">

<% end %>

That's all well and good, and is what use Twine now for in a number of cases, and it works great!
What I want however, is to have some parent object that contains all of those individual LocationInventory objects and can maintain a relationship between them (for example, reducing the remaining number in one location should raise the remaining number in another).
I was looking into using the new array constructor for this, and was seeing if I could do something like
<section class="inventory" define="{manager : new InventoryManager(<%= inventory %>) }">
  <% inventory.locations.each do |location| %>
    <div define-array="{ locations: { location : new LocationInventory(<%= location.remaining %> } })" context="manager">
      <input bind="remaining" type="number">

  <% end %>

but that didn't update affect the manager object in any way.
Is this something I can accomplish with Twine in its current state, or is this out of scope for this library?
Thanks!

Hi @chrismanderson. define-array is rather new (and could probably use some better documentation), but you should be able to accomplish what you're looking for. Give this a try:
<section class="inventory" define="{manager : new InventoryManager(<%= inventory %>)  }" context="manager">
  <% inventory.locations.each do |location| %>
    <div define-array="{ locations: new LocationInventory(<%= location.remaining %>) }">
      <input bind="remaining" type="number">

  <% end %>

You should get @locations available in manager as an array of LocationInventory objects.

That works great! Thanks so much for the info.


[libsigcpp]fix libsigcpp include path

Fixes #21496

If this PR updates an existing port, please uncomment and fill out this checklist:

[x] Changes comply with the maintainer guide
[x] SHA512s are updated for each updated download
[ ] The "supports" clause reflects platforms that may be fixed by this new version
[ ] Any fixed CI baseline entries are removed from that file.
[ ] Any patches that are no longer applied are deleted from the port's directory.
[x] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[x] Only one version is added to each modified port's versions file.

@microsoft-github-policy-service agree

See https://github.com/microsoft/vcpkg/issues/21496#issuecomment-1421937547, this is probably not a bug.

Please also fix pc file
https://github.com/libsigcplusplus/libsigcplusplus/blob/9fc3416a95abca28cb992e4607232a3287e847a1/sigc%2B%2B.pc.in#L18

@6ziv  CI fails, everytime you update a port, commit it, and then you need update version database with
vcpkg x-add-version --all --overwrite-version

@xiaozhuai Thanks a lot. Indent and .pc files are updated and re-ran 'x-add-version'.

@6ziv According to https://github.com/libsigcplusplus/libsigcplusplus/blob/master/COPYING,
libsigcpp use LGPL-3.0-or-later license.
Would you please update license in manifest json file?

@xiaozhuai Thanks a lot. I've updated the upstream version and license name. Waiting for the CI but it seems stuck.

@xiaozhuai Thanks a lot. I've updated the upstream version and license name. Waiting for the CI but it seems stuck.

Good! The CI looks pretty busy at the moment and your task is Queued. When other tasks finished, it will continue.

You should run ./vcpkg x-add-version libsigcpp --overwrite-version command to update the version in baseline.json.

LGTM.


How to further configure ga?

Is there a way to further configure google analytics via this extension? I am looking to set client_storage: 'none' to obtain something like this:
<script async='async' src='https://www.googletagmanager.com/gtag/js?id=UA-YOUR_TRACKING_ID'/>
<script>
    window.dataLayer = window.dataLayer || [];
    function gtag(){dataLayer.push(arguments);}
    gtag('js', new Date());
    gtag('config', 'UA-YOUR_TRACKING_ID', {
      client_storage: 'none'
    });
</script>

Not currently - PRs welcome

Thanks @jelmer, I will keep this in mind!


Filter out irrelevant categories

Here are the patterns I can think of right now (feel free to add more):

https://commons.wikimedia.org/wiki/Category:Media_needing_categories_as_of_16_June_2017
https://commons.wikimedia.org/wiki/Category:Photographs_taken_on_2015-11-08

Implementation will probably be very similar to the now-implemented #47 so you can get inspiration from it.

I'd like to take this up and I'm fairly new to open source. Could someone guide me though how it works here (in terms of code review and code commit)?

Hi @achalshant
Thanks for participating!
It is very simple: Just clone the repository, create a branch named for instance "fix750_irrelevant_categories", fix the code, then send a pull request.
A core developer will then review your pull request and merge :-)

Welcome, @achalshant ! Pretty much what @nicolas-raoul said, except I would add that you should fork the repo first, and then do all the work on your own repo. :) Any reasonable commit styles are fine with us.

Thanks @nicolas-raoul and @misaochan I got the following message before committing my branch:
remote: Permission to commons-app/apps-android-commons.git denied to achalshant.
fatal: unable to access 'https://github.com/commons-app/apps-android-commons.git/': The requested URL returned error: 403
Could I get the permissions necessary?

@achalshant was the branch on your own (forked) repo, or on the upstream (this) repo?
The steps are:

Fork this repo
Clone the forked repo
Create branch on the forked repo
Commit to the branch on the forked repo
Create pull request to upstream (this) repo from the branch on your (forked) repo

You should not be committing directly to any branch on the upstream repo (I personally almost never do that except for versioning/changelog either).
(I see you have successfully submitted a PR already, so in that case never mind, but just leaving this here if there is still confusion. ;))

Got it. Thanks for clarifying @misaochan  :)

Should be fixed I think.